diff --git a/sites/yes.co.il/yes.co.il.test.js b/sites/yes.co.il/yes.co.il.test.js new file mode 100644 index 00000000..e6aa8eeb --- /dev/null +++ b/sites/yes.co.il/yes.co.il.test.js @@ -0,0 +1,48 @@ +const { parser, url, request } = require('./yes.co.il.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('2025-01-30', 'YYYY-MM-DD').startOf('d') +const channel = { site_id: 'YSA1' } + +it('can generate valid url', () => { + expect(url({ channel, date })).toBe( + 'https://svc.yes.co.il/api/content/broadcast-schedule/channels/YSA1?date=2025-1-30&ignorePastItems=true' + ) +}) + +it('can generate valid request headers', () => { + expect(request.headers).toMatchObject({ + 'user-agent': + 'Mozilla/5.0 (Linux; Linux x86_64) AppleWebKit/600.3 (KHTML, like Gecko) Chrome/48.0.2544.291 Safari/600' + }) +}) + +it('can parse response', () => { + const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json')) + + let results = parser({ content }) + + expect(results.length).toBe(13) + expect(results[0]).toMatchObject({ + title: 'הבית', + description: + "דרמת מתח סוחפת. זוג צעיר שוכר וילה בכפר רומנטי באיטליה כדי לשפר את הזוגיות שלהם, אך עד מהרה מוצאים עצמם קורבנות בתוכנית זדונית של בעל המקום. עם: ארון פול ('שובר שורות'), אמילי רטאייקאוסקי. במאי: ג'ורג' רטליף. 2018.", + image: 'https://fykswkmjb.filerobot.com/VodAndHomeChan/VP001212610.JPG', + start: '2025-01-29T23:52:00Z', + stop: '2025-01-30T01:31:00Z' + }) +}) + +it('can handle empty guide', () => { + const results = parser({ + content: '{"items":[]}' + }) + + expect(results).toMatchObject([]) +})