From 27533d399beea38dd93383d77f404a31757a2ff8 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Thu, 25 Nov 2021 00:02:48 +0300 Subject: [PATCH] Create programtv.onet.pl.test.js --- .../programtv.onet.pl.test.js | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 sites/programtv.onet.pl/programtv.onet.pl.test.js diff --git a/sites/programtv.onet.pl/programtv.onet.pl.test.js b/sites/programtv.onet.pl/programtv.onet.pl.test.js new file mode 100644 index 00000000..6cf4803b --- /dev/null +++ b/sites/programtv.onet.pl/programtv.onet.pl.test.js @@ -0,0 +1,81 @@ +// npx epg-grabber --config=sites/programtv.onet.pl/programtv.onet.pl.config.js --channels=sites/programtv.onet.pl/programtv.onet.pl_pl.channels.xml --output=.gh-pages/guides/pl/programtv.onet.pl.epg.xml --days=2 + +const MockDate = require('mockdate') +const { parser, url, logo } = require('./programtv.onet.pl.config.js') +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('2021-11-24', 'YYYY-MM-DD').startOf('d') +const channel = { + site_id: '13th-street-250', + xmltv_id: '13thStreetDeutschland.us' +} +const content = `
13th Street
  • 03:20
    Law & Order, odc. 15: Letzte Worte Krimiserie

    Bei einer Reality-TV-Show stirbt einer der Teilnehmer. Zunächst tappen Briscoe (Jerry Orbach) und Green (Jesse L....

  • 23:30
    Navy CIS, odc. 1: New Orleans Krimiserie

    Der Abgeordnete Dan McLane, ein ehemaliger Vorgesetzter von Gibbs, wird in New Orleans ermordet. In den 90er Jahren...

  • 01:00
    Navy CIS: L.A, odc. 13: High Society Krimiserie

    Die Zahl der Drogentoten ist gestiegen. Das Team des NCIS glaubt, dass sich Terroristen durch den zunehmenden...

` + +it('can generate valid url', () => { + MockDate.set(new Date('2021-11-24')) + expect(url({ channel, date })).toBe( + 'https://programtv.onet.pl/program-tv/13th-street-250?dzien=0' + ) + MockDate.reset() +}) + +it('can generate valid url for next day', () => { + MockDate.set(new Date('2021-11-25')) + expect(url({ channel, date })).toBe( + 'https://programtv.onet.pl/program-tv/13th-street-250?dzien=1' + ) + MockDate.reset() +}) + +it('can generate valid logo url', () => { + expect(logo({ content })).toBe( + 'https://ocdn.eu/ptv2-images-transforms/1/zB4kr1sb2dvLW1pZ3JhdGVkLzEzdGgtc3RyZWV0LnBuZ5KVAmQAwsOVAgAowsM' + ) +}) + +it('can parse response', () => { + const result = parser({ content, date }).map(p => { + p.start = p.start.toJSON() + p.stop = p.stop.toJSON() + return p + }) + + expect(result).toMatchObject([ + { + start: '2021-11-24T02:20:00.000Z', + stop: '2021-11-24T22:30:00.000Z', + title: `Law & Order, odc. 15: Letzte Worte`, + category: 'Krimiserie', + description: `Bei einer Reality-TV-Show stirbt einer der Teilnehmer. Zunächst tappen Briscoe (Jerry Orbach) und Green (Jesse L....` + }, + { + start: '2021-11-24T22:30:00.000Z', + stop: '2021-11-25T00:00:00.000Z', + title: `Navy CIS, odc. 1: New Orleans`, + category: 'Krimiserie', + description: + 'Der Abgeordnete Dan McLane, ein ehemaliger Vorgesetzter von Gibbs, wird in New Orleans ermordet. In den 90er Jahren...' + }, + { + start: '2021-11-25T00:00:00.000Z', + stop: '2021-11-25T01:00:00.000Z', + title: `Navy CIS: L.A, odc. 13: High Society`, + category: 'Krimiserie', + description: + 'Die Zahl der Drogentoten ist gestiegen. Das Team des NCIS glaubt, dass sich Terroristen durch den zunehmenden...' + } + ]) +}) + +it('can handle empty guide', () => { + const result = parser({ + date, + channel, + content: `` + }) + expect(result).toMatchObject([]) +})