diff --git a/test/index.test.ts b/test/index.test.ts index 4c89cd7..8923b8e 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -121,6 +121,7 @@ test('API fetch video Tweet', async () => { expect(video.thumbnail_url).toEqual('https://pbs.twimg.com/media/C9t-btLVoAEqZI1.jpg'); expect(video.width).toEqual(1596); expect(video.height).toEqual(1600); + expect(video.duration).toEqual(65.667); expect(video.format).toEqual('video/mp4'); expect(video.type).toEqual('video'); }); @@ -179,3 +180,64 @@ test('API fetch multi-photo Tweet', async () => { 'https://mosaic.fxtwitter.com/webp/1554870933449482240/FZQCeMmXwAAOJTt/FZQCl-lWIAMtoW9/FZQCsQPX0AIbY6H/FZQCxmLXEAMST4q' ); }); + +test('API fetch multi-video Tweet', async () => { + const result = await cacheWrapper( + new Request('https://api.fxtwitter.com/dangeredwolf/status/1557914172763127808', { + method: 'GET', + headers: botHeaders + }) + ); + expect(result.status).toEqual(200); + const response = (await result.json()) as APIResponse; + expect(response).toBeTruthy(); + expect(response.code).toEqual(200); + expect(response.message).toEqual('OK'); + + const tweet = response.tweet as APITweet; + expect(tweet).toBeTruthy(); + expect(tweet.url).toEqual( + 'https://twitter.com/dangeredwolf/status/1557914172763127808' + ); + expect(tweet.id).toEqual('1557914172763127808'); + expect(tweet.text).toEqual(''); + expect(tweet.author.screen_name?.toLowerCase()).toEqual('dangeredwolf'); + expect(tweet.author.name).toBeTruthy(); + expect(tweet.author.avatar_url).toBeTruthy(); + expect(tweet.author.banner_url).toBeTruthy(); + expect(tweet.author.avatar_color).toBeTruthy(); + expect(tweet.twitter_card).toEqual('player'); + expect(tweet.created_at).toEqual('Fri Aug 12 02:17:38 +0000 2022'); + expect(tweet.created_timestamp).toEqual(1660270658); + expect(tweet.replying_to).toBeNull(); + expect(tweet.media?.videos).toBeTruthy(); + const videos = tweet.media?.videos as APIVideo[]; + expect(videos[0].url).toEqual('https://video.twimg.com/ext_tw_video/1539029945124528130/pu/vid/1662x1080/ZQP4eoQhnGnKcLEb.mp4?tag=14'); + expect(videos[0].thumbnail_url).toEqual("https://pbs.twimg.com/ext_tw_video_thumb/1539029945124528130/pu/img/6Z1MXMliums60j03.jpg"); + expect(videos[0].width).toEqual(3548); + expect(videos[0].height).toEqual(2304); + expect(videos[0].duration).toEqual(37.75); + expect(videos[0].format).toEqual('video/mp4'); + expect(videos[0].type).toEqual('video'); + expect(videos[1].url).toEqual('https://video.twimg.com/ext_tw_video/1543316856697769984/pu/vid/1920x1080/3fo7b4EnWv2WO8Z1.mp4?tag=14'); + expect(videos[1].thumbnail_url).toEqual("https://pbs.twimg.com/ext_tw_video_thumb/1543316856697769984/pu/img/eCl67JRWO8r4r8A4.jpg"); + expect(videos[1].width).toEqual(1920); + expect(videos[1].height).toEqual(1080); + expect(videos[1].duration).toEqual(71.855); + expect(videos[1].format).toEqual('video/mp4'); + expect(videos[1].type).toEqual('video'); + expect(videos[2].url).toEqual('https://video.twimg.com/ext_tw_video/1543797953105625088/pu/vid/1920x1080/GHSLxzBrwiDLhLYD.mp4?tag=14'); + expect(videos[2].thumbnail_url).toEqual("https://pbs.twimg.com/ext_tw_video_thumb/1543797953105625088/pu/img/2eX2QQkd7b2S1YDl.jpg"); + expect(videos[2].width).toEqual(1920); + expect(videos[2].height).toEqual(1080); + expect(videos[2].duration).toEqual(22.018); + expect(videos[2].format).toEqual('video/mp4'); + expect(videos[2].type).toEqual('video'); + expect(videos[3].url).toEqual('https://video.twimg.com/ext_tw_video/1548602342488129536/pu/vid/720x1280/I_D3svYfjBl7_xGS.mp4?tag=14'); + expect(videos[3].thumbnail_url).toEqual("https://pbs.twimg.com/ext_tw_video_thumb/1548602342488129536/pu/img/V_1u5Nv5BwKBynwv.jpg"); + expect(videos[3].width).toEqual(720); + expect(videos[3].height).toEqual(1280); + expect(videos[3].duration).toEqual(25.133); + expect(videos[3].format).toEqual('video/mp4'); + expect(videos[3].type).toEqual('video'); +}); \ No newline at end of file