From dc9268d6682b7d8f265ea4f09a4f34036eccf140 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Fri, 8 Dec 2023 17:05:24 +0800 Subject: [PATCH] add test cases --- packages/api/test/resolvers/article.test.ts | 55 +++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/packages/api/test/resolvers/article.test.ts b/packages/api/test/resolvers/article.test.ts index e46e24c5d..38ab9f21a 100644 --- a/packages/api/test/resolvers/article.test.ts +++ b/packages/api/test/resolvers/article.test.ts @@ -1757,6 +1757,61 @@ describe('Article API', () => { expect(res.body.data.search.edges[1].node.id).to.eq(items[0].id) }) }) + + context('when label:test1 OR label:test2 is in the query', () => { + let items: LibraryItem[] = [] + let label1: Label + let label2: Label + + before(async () => { + keyword = 'label:test1 OR label:test2' + // Create some test items + label1 = await createLabel('test1', '', user.id) + label2 = await createLabel('test2', '', user.id) + items = await createLibraryItems( + [ + { + user, + title: 'test title 1', + readableContent: '

test 1

', + slug: 'test slug 1', + originalUrl: `${url}/test1`, + }, + { + user, + title: 'test title 2', + readableContent: '

test 2

', + slug: 'test slug 2', + originalUrl: `${url}/test2`, + }, + { + user, + title: 'test title 3', + readableContent: '

test 3

', + slug: 'test slug 3', + originalUrl: `${url}/test3`, + }, + ], + user.id + ) + await saveLabelsInLibraryItem([label1], items[0].id, user.id) + await saveLabelsInLibraryItem([label2], items[1].id, user.id) + }) + + after(async () => { + await deleteLabels({ id: label1.id }, user.id) + await deleteLabels({ id: label2.id }, user.id) + await deleteLibraryItems(items, user.id) + }) + + it('returns items with label test1 or test2', async () => { + const res = await graphqlRequest(query, authToken).expect(200) + + expect(res.body.data.search.pageInfo.totalCount).to.eq(2) + expect(res.body.data.search.edges[0].node.id).to.eq(items[1].id) + expect(res.body.data.search.edges[1].node.id).to.eq(items[0].id) + }) + }) }) describe('TypeaheadSearch API', () => {