From c1855afc721722d537c3d68fccc0285d6d5ec492 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Sun, 26 Jun 2022 18:36:54 +0800 Subject: [PATCH 1/2] Update property unarchived=null instead of undefined in the page document in elastic --- packages/api/src/resolvers/article/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index 1a073713c..2a1d39641 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -338,7 +338,7 @@ export const createArticleResolver = authorized< articleToSave.id = newPageId } else { // update existing page's state from processing to succeeded - articleToSave.archivedAt = archive ? saveTime : undefined + articleToSave.archivedAt = archive ? saveTime : null const updated = await updatePage(pageId, articleToSave, { ...ctx, uid, From eb34a40f1b9ca3d66adfe78cfea38dbcf77e53e8 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Sun, 26 Jun 2022 18:53:28 +0800 Subject: [PATCH 2/2] Add test --- packages/api/test/resolvers/article.test.ts | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/packages/api/test/resolvers/article.test.ts b/packages/api/test/resolvers/article.test.ts index fe08eea37..ef82378f3 100644 --- a/packages/api/test/resolvers/article.test.ts +++ b/packages/api/test/resolvers/article.test.ts @@ -77,6 +77,7 @@ const createArticleQuery = ( id title content + isArchived } user { id @@ -371,6 +372,41 @@ describe('Article API', () => { pageId = res.body.data.createArticle.createdArticle.id }) }) + + context('when saving an archived article', () => { + before(async () => { + url = 'https://example.com/saving-archived-article.com' + source = 'puppeteer-parse' + document = '

test

' + title = 'new title' + + await createPage( + { + content: document, + createdAt: new Date(), + hash: 'test hash', + id: '', + pageType: PageType.Article, + readingProgressAnchorIndex: 0, + readingProgressPercent: 0, + savedAt: new Date(), + slug: 'test saving an archived article slug', + state: ArticleSavingRequestStatus.Succeeded, + title, + userId: user.id, + url, + archivedAt: new Date(), + }, + ctx + ) + }) + + it('should unarchive the article', async () => { + const res = await graphqlRequest(query, authToken).expect(200) + + expect(res.body.data.createArticle.createdArticle.isArchived).to.false + }) + }) }) describe('GetArticle', () => {