From a4ef81f20ecacc061b5b5aeaba9075ba33566f58 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sat, 14 Jan 2023 20:25:37 +0300 Subject: [PATCH] Update unifi.com.my.test.js --- sites/unifi.com.my/unifi.com.my.test.js | 39 ++++++++++++++----------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/sites/unifi.com.my/unifi.com.my.test.js b/sites/unifi.com.my/unifi.com.my.test.js index f5f66e11..a8785ddd 100644 --- a/sites/unifi.com.my/unifi.com.my.test.js +++ b/sites/unifi.com.my/unifi.com.my.test.js @@ -1,16 +1,18 @@ // npx epg-grabber --config=sites/unifi.com.my/unifi.com.my.config.js --channels=sites/unifi.com.my/unifi.com.my.channels.xml --output=guide.xml --days=2 --timeout=30000 const { parser, url, request } = require('./unifi.com.my.config.js') +const fs = require('fs') +const path = require('path') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') dayjs.extend(customParseFormat) dayjs.extend(utc) -const date = dayjs.utc('2023-01-09', 'YYYY-MM-DD').startOf('d') +const date = dayjs.utc('2023-01-13', 'YYYY-MM-DD').startOf('d') const channel = { - site_id: '51882833', - xmltv_id: 'AXNMalaysia.my' + site_id: '20000009', + xmltv_id: 'TV1.my' } it('can generate valid url', () => { @@ -23,30 +25,33 @@ it('can generate valid request method', () => { it('can generate valid request headers', () => { expect(request.headers).toMatchObject({ - 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' + 'x-requested-with': 'XMLHttpRequest' }) }) -it('can parse response', () => { - const content = `[{"id":"51882833","name":"AXN","logo":"https://playtv.unifi.com.my:7047/CPS/images/universal/film/logo/202109/20210927/2021092701574706798y.png","items":[{"name":"Blue Bloods (Season 11)","interval":"one","minute":55,"start_time":"4:20am","end_time":"5:15am"}]}]` +it('can generate valid request data', () => { + const data = request.data({ date }) - const result = parser({ content, channel, date }).map(p => { + expect(data.get('date')).toBe('2023-01-13') +}) + +it('can parse response', () => { + const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json')) + const results = parser({ content, date, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() return p }) - expect(result).toMatchObject([ - { - title: 'Blue Bloods (Season 11)', - start: '2023-01-08T20:20:00.000Z', - stop: '2023-01-08T21:15:00.000Z' - } - ]) + expect(results[0]).toMatchObject({ + title: 'Berita Tengah Malam', + start: '2023-01-12T16:00:00.000Z', + stop: '2023-01-12T16:30:00.000Z' + }) }) it('can handle empty guide', () => { - const content = `[{"id":"51882833","name":"AXN","logo":"https://playtv.unifi.com.my:7047/CPS/images/universal/film/logo/202109/20210927/2021092701574706798y.png","items":[]}]` - const result = parser({ content, channel }) - expect(result).toMatchObject([]) + const results = parser({ content: '', channel }) + + expect(results).toMatchObject([]) })