UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

40 lines (35 loc) 1.22 kB
import { RSSFetcher, RSSFeedConfig, RSSDocument } from '../rssFetcher'; import Parser from 'rss-parser'; jest.mock('rss-parser'); const mockFeed = { items: [ { title: 'Test Title', link: 'https://example.com/post', content: 'Test content', pubDate: '2024-06-12', creator: 'Author', categories: ['cat1', 'cat2'], }, ], }; (Parser as jest.Mock).mockImplementation(() => ({ parseURL: jest.fn().mockResolvedValue(mockFeed), })); describe('RSSFetcher', () => { it('should fetch and convert RSS feed items', async () => { const config: RSSFeedConfig[] = [ { url: 'https://example.com/rss', interval: '* * * * *' }, ]; const fetcher = new RSSFetcher(config); // @ts-ignore const docs: RSSDocument[] = mockFeed.items.map(item => fetcher['toDocument'](item, config[0].url)); expect(docs[0].title).toBe('Test Title'); expect(docs[0].link).toBe('https://example.com/post'); expect(docs[0].content).toBe('Test content'); expect(docs[0].pubDate).toBe('2024-06-12'); expect(docs[0].author).toBe('Author'); expect(docs[0].categories).toEqual(['cat1', 'cat2']); expect(docs[0].source).toBe('https://example.com/rss'); }); });