import { createOptions, setupTokens, TestTokens, TestProjectId, TestMenuId } from '../test.config'; import { DevicesService } from '../api/devices.service'; import { first } from 'lodash'; import { ArticleService } from '../api/article.service'; import { Article } from '../model/article.model'; jest.setTimeout(10000); const factory = createOptions(); const service = new ArticleService(factory); beforeAll(async () => { await setupTokens(); console.log('tokens are loaded'); console.log(TestTokens); }); test('articles 00 创建并删除文章', async () => { const testArticle: Article = { parentMenuId: TestMenuId, projectId: TestProjectId, name: `Title - ${Date.now()}`, content: `Content - ${Date.now()}`, }; const createResult = await service.createArticle(testArticle); console.log(createResult); const article = await service.getArticle(createResult.id, TestProjectId); expect(article.parentMenuId).toBe(TestMenuId); expect(article.name).toBe(createResult.name); expect(article.content).toBe(createResult.content); console.log('deleting article', article.id); await service.deleteArticle(article.id, TestProjectId); // 测试文章已经删除 let nullArticle = null; try { nullArticle = await service.getArticle(createResult.id, TestProjectId); } catch (e) { } finally { expect(nullArticle).toBeNull(); } }); test('articles 01 文章列表', async () => { const articles: Article[] = await service.loadArticles(TestMenuId, TestProjectId); console.log('loaded articles', articles); }); test('articles 02 更新文章', async () => { const articles: Article[] = await service.loadArticles(TestMenuId, TestProjectId); const article = first(articles); if (article) { article.name = `title - ${Date.now()}`; article.content = `content - ${Date.now()}`; const result = await service.updateArticle(article); expect(result.name).toBe(article.name); expect(result.content).toBe(article.content); } })