2024-08-01 14:09:16 +02:00
const { parser , url } = require ( './mediasetinfinity.mediaset.it.config.js' )
2023-10-19 19:34:04 +03:00
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 )
2024-01-20 11:07:34 -06:00
const date = dayjs . utc ( '2024-01-20' , 'YYYY-MM-DD' ) . startOf ( 'd' )
2023-10-19 19:34:04 +03:00
const channel = {
2024-08-01 14:09:16 +02:00
site _id : 'LB' , xmltv _id : '20.it'
2023-10-19 19:34:04 +03:00
}
it ( 'can generate valid url' , ( ) => {
2024-08-01 14:09:16 +02:00
expect ( url ( {
channel ,
date
} ) ) . toBe ( 'https://api-ott-prod-fe.mediaset.net/PROD/play/feed/allListingFeedEpg/v2.0?byListingTime=1705708800000~1705795200000&byCallSign=LB' )
2023-10-19 19:34:04 +03:00
} )
it ( 'can parse response' , ( ) => {
const content = fs . readFileSync ( path . resolve ( _ _dirname , '__data__/content.json' ) , 'utf8' )
2024-08-01 14:09:16 +02:00
const results = parser ( { content , date } ) . map ( p => {
2023-10-19 19:34:04 +03:00
return p
} )
2024-08-01 14:09:16 +02:00
expect ( results [ 3 ] ) . toMatchObject ( {
start : '2024-01-20 02:14' ,
stop : '2024-01-20 02:54' ,
title : 'Chicago Fire' ,
sub _title : 'Ep. 22 - Io non ti lascio' ,
description : 'Severide e Kidd continuano a indagare su un vecchio caso doloso di Benny. Notizie inaspettate portano Brett a meditare su una grande decisione.' ,
category : 'Intrattenimento' ,
season : '7' ,
episode : '22' ,
image : 'https://static2.mediasetplay.mediaset.it/Mediaset_Italia_Production_-_Main/F309370301002204/media/0/0/1ef76b73-3173-43bd-9c16-73986a0ec131/46896726-11e7-4438-b947-d2ae53f58c0b.jpg'
2023-10-19 19:34:04 +03:00
} )
} )
it ( 'can handle empty guide' , ( ) => {
const result = parser ( {
2024-01-20 11:07:34 -06:00
content : '[]'
2023-10-19 19:34:04 +03:00
} )
expect ( result ) . toMatchObject ( [ ] )
} )