process.env.REQUEST_TIMEOUT = '500'; const cheerio = require('cheerio'); const wechatMp = require('../../lib/utils/wechat-mp'); const nock = require('nock'); const ctx = require('../../lib/app').context; afterAll(() => { delete process.env.REQUEST_TIMEOUT; }); // date from the cache will be an ISO8601 string, so we need to use this function const compareDate = (date1, date2) => { date1 = typeof date1 === 'string' ? new Date(date1) : date1; date2 = typeof date2 === 'string' ? new Date(date2) : date2; return date1.getTime() === date2.getTime(); }; describe('wechat-mp', () => { it('fixArticleContent', () => { const divHeader = '
test
test
test
' + 'test
test
' + 'test
test
test
test
' + 'test
' + '
';
const expectedHtmlImg = new Array(3 + 1).join('
');
$ = cheerio.load(divHeader + htmlImg + divFooter);
expect(wechatMp.fixArticleContent(htmlImg)).toBe(expectedHtmlImg);
expect(wechatMp.fixArticleContent($('div#js_content.rich_media_content'))).toBe(expectedHtmlImg);
expect(wechatMp.fixArticleContent(htmlImg, true)).toBe(htmlImg);
expect(wechatMp.fixArticleContent($('div#js_content.rich_media_content'), true)).toBe(htmlImg);
expect(wechatMp.fixArticleContent('')).toBe('');
expect(wechatMp.fixArticleContent(null)).toBe('');
expect(wechatMp.fixArticleContent(undefined)).toBe('');
expect(wechatMp.fixArticleContent($('div#something_not_in.the_document_tree'))).toBe('');
});
it('fetchArticle_&_finishArticleItem', async () => {
const ct = 1636626300;
const exampleMpArticlePage =
'\n' +
'\n' +
'\n' +
'\n' +
'\n' +
'