Files
RSSHub/test/pkg.js
2020-02-01 19:46:32 +08:00

74 lines
2.5 KiB
JavaScript

jest.mock('request-promise-native');
const RSSHub = require('../lib/pkg');
describe('pkg', () => {
it('config', () => {
RSSHub.init({
UA: 'mock',
});
const config = require('../lib/config').value;
expect(config.ua).toBe('mock');
});
it('request', (done) => {
RSSHub.request('/test/1').then((data) => {
expect(data).toMatchObject({
atomlink: 'http:///test/1',
title: 'Test 1',
itunes_author: null,
link: 'https://github.com/DIYgod/RSSHub',
item: [
{
title: 'Title1',
description: 'Description1',
pubDate: 'Mon, 31 Dec 2018 15:59:50 GMT',
link: 'https://github.com/DIYgod/RSSHub/issues/1',
author: 'DIYgod1',
},
{
title: 'Title2',
description: 'Description2',
pubDate: 'Mon, 31 Dec 2018 15:59:40 GMT',
link: 'https://github.com/DIYgod/RSSHub/issues/2',
author: 'DIYgod2',
},
{
title: 'Title3',
description: 'Description3',
pubDate: 'Mon, 31 Dec 2018 15:59:30 GMT',
link: 'https://github.com/DIYgod/RSSHub/issues/3',
author: 'DIYgod3',
},
{
title: 'Title4',
description: 'Description4',
pubDate: 'Mon, 31 Dec 2018 15:59:20 GMT',
link: 'https://github.com/DIYgod/RSSHub/issues/4',
author: 'DIYgod4',
},
{
title: 'Title5',
description: 'Description5',
pubDate: 'Mon, 31 Dec 2018 15:59:10 GMT',
link: 'https://github.com/DIYgod/RSSHub/issues/5',
author: 'DIYgod5',
},
],
allowEmpty: false,
});
done();
});
});
it('error', (done) => {
RSSHub.request('/test/error')
.then(() => {
done();
})
.catch((e) => {
expect(e).toBe('Error test');
done();
});
});
});