From e7203bebb553c0c67d0ceddced28bd9bdd020847 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Fri, 25 Mar 2022 11:25:30 +0800 Subject: [PATCH] add a function_resolver to return originalArticleUrl from article.url (#317) * add a function_resolver to return originalArticleUrl from article.url * add a test --- packages/api/src/resolvers/function_resolvers.ts | 3 +++ packages/api/test/resolvers/article.test.ts | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/api/src/resolvers/function_resolvers.ts b/packages/api/src/resolvers/function_resolvers.ts index 1ee95e46c..0cf307a32 100644 --- a/packages/api/src/resolvers/function_resolvers.ts +++ b/packages/api/src/resolvers/function_resolvers.ts @@ -306,6 +306,9 @@ export const functionResolvers = { } return article.url }, + async originalArticleUrl(article: { url: string }) { + return article.url + }, async savedByViewer( article: { id: string; savedByViewer?: boolean }, __: unknown, diff --git a/packages/api/test/resolvers/article.test.ts b/packages/api/test/resolvers/article.test.ts index 33e3bee77..1dad82e7a 100644 --- a/packages/api/test/resolvers/article.test.ts +++ b/packages/api/test/resolvers/article.test.ts @@ -104,6 +104,7 @@ const articlesQuery = (after = '', order = 'ASCENDING') => { id url linkId + originalArticleUrl labels { id name @@ -360,6 +361,8 @@ describe('Article API', () => { }) describe('GetArticles', () => { + const url = 'https://blog.omnivore.app/p/getting-started-with-omnivore' + let query = '' let after = '' let pages: Page[] = [] @@ -380,7 +383,7 @@ describe('Article API', () => { updatedAt: new Date(), readingProgressPercent: 100, readingProgressAnchorIndex: 0, - url: 'https://blog.omnivore.app/p/getting-started-with-omnivore', + url: url, savedAt: new Date(), } as Page const pageId = await createPage(page, ctx) @@ -406,6 +409,14 @@ describe('Article API', () => { query = articlesQuery(after) }) + it('should return originalArticleUrl', async () => { + const res = await graphqlRequest(query, authToken).expect(200) + + expect(res.body.data.articles.edges[0].node.originalArticleUrl).to.eql( + url + ) + }) + context('when there are pages with labels', () => { before(() => { // get the last page