11const { parser, url } = require ( './programtv.onet.pl.config.js' )
2+ const axios = require ( 'axios' )
23const fs = require ( 'fs' )
34const path = require ( 'path' )
45const dayjs = require ( 'dayjs' )
@@ -7,6 +8,20 @@ const customParseFormat = require('dayjs/plugin/customParseFormat')
78dayjs . extend ( customParseFormat )
89dayjs . extend ( utc )
910
11+ jest . mock ( 'axios' )
12+
13+ axios . get . mockImplementation ( url => {
14+ if ( url === 'https://programtv.onet.pl/tv/law-and-order-odcinek-15/rlmzu?entry=21970867' ) {
15+ return Promise . resolve ( {
16+ data : fs . readFileSync ( path . resolve ( __dirname , '__data__/entry.html' ) )
17+ } )
18+ } else {
19+ return Promise . resolve ( {
20+ data : ''
21+ } )
22+ }
23+ } )
24+
1025const date = dayjs . utc ( '2021-11-24' , 'YYYY-MM-DD' ) . startOf ( 'd' )
1126const channel = {
1227 site_id : '13th-street-250' ,
@@ -35,9 +50,9 @@ it('can generate valid url for next day', () => {
3550 )
3651} )
3752
38- it ( 'can parse response' , ( ) => {
53+ it ( 'can parse response' , async ( ) => {
3954 const content = fs . readFileSync ( path . resolve ( __dirname , '__data__/content.html' ) )
40- const result = parser ( { content, date } ) . map ( p => {
55+ const result = ( await parser ( { content, date } ) ) . map ( p => {
4156 p . start = p . start . toJSON ( )
4257 p . stop = p . stop . toJSON ( )
4358 return p
@@ -50,7 +65,8 @@ it('can parse response', () => {
5065 title : 'Law & Order, odc. 15: Letzte Worte' ,
5166 category : 'Krimiserie' ,
5267 description :
53- 'Bei einer Reality-TV-Show stirbt einer der Teilnehmer. Zunächst tappen Briscoe (Jerry Orbach) und Green (Jesse L....'
68+ 'Bei einer Reality-TV-Show stirbt einer der Teilnehmer. Zunächst tappen Briscoe (Jerry Orbach) und Green (Jesse L....' ,
69+ image : 'https://ocdn.eu/ptv-imported-images/akpa4046117.jpg'
5470 } ,
5571 {
5672 start : '2021-11-24T22:30:00.000Z' ,
@@ -71,8 +87,8 @@ it('can parse response', () => {
7187 ] )
7288} )
7389
74- it ( 'can handle empty guide' , ( ) => {
75- const result = parser ( {
90+ it ( 'can handle empty guide' , async ( ) => {
91+ const result = await parser ( {
7692 date,
7793 channel,
7894 content : fs . readFileSync ( path . resolve ( __dirname , '__data__/no_content.html' ) )
0 commit comments