diff --git a/packages/api/test/resolvers/labels.test.ts b/packages/api/test/resolvers/labels.test.ts index 26399359b..66e221e1a 100644 --- a/packages/api/test/resolvers/labels.test.ts +++ b/packages/api/test/resolvers/labels.test.ts @@ -22,40 +22,31 @@ describe('Labels API', () => { let labels: Label[] before(async () => { - try { - // create test user and login - user = await createTestUser(username) - const res = await request - .post('/local/debug/fake-user-login') - .send({ fakeEmail: user.email }) + // create test user and login + user = await createTestUser(username) + const res = await request + .post('/local/debug/fake-user-login') + .send({ fakeEmail: user.email }) - authToken = res.body.authToken + authToken = res.body.authToken - // create testing labels - const label1 = await createTestLabel(user, 'label_1', '#ffffff') - const label2 = await createTestLabel(user, 'label_2', '#eeeeee') - labels = [label1, label2] + // create testing labels + const label1 = await createTestLabel(user, 'label_1', '#ffffff') + const label2 = await createTestLabel(user, 'label_2', '#eeeeee') + labels = [label1, label2] - // create a page with label - const existingLabelOfLink = await createTestLabel( - user, - 'different_label', - '#dddddd' - ) - page = await createTestElasticPage(user, [existingLabelOfLink]) - console.log('created elastic page', page) - } catch (err) { - console.log('error in setup', err) - } + // create a page with label + const existingLabelOfLink = await createTestLabel( + user, + 'different_label', + '#dddddd' + ) + page = await createTestElasticPage(user, [existingLabelOfLink]) }) after(async () => { // clean up - try { - await deleteTestUser(username) - } catch (err) { - console.log('error in cleanup', err) - } + await deleteTestUser(username) }) describe('GET labels', () => { @@ -229,20 +220,18 @@ describe('Labels API', () => { }) }) - context('error states', () => { - it('responds status code 400 when invalid query', async () => { - const invalidQuery = ` - mutation { - deleteLabel {} - } - ` - return graphqlRequest(invalidQuery, authToken).expect(400) - }) + it('responds status code 400 when invalid query', async () => { + const invalidQuery = ` + mutation { + deleteLabel {} + } + ` + return graphqlRequest(invalidQuery, authToken).expect(400) + }) - it('responds status code 500 when invalid user', async () => { - const invalidAuthToken = 'Fake token' - return graphqlRequest(query, invalidAuthToken).expect(500) - }) + it('responds status code 500 when invalid user', async () => { + const invalidAuthToken = 'Fake token' + return graphqlRequest(query, invalidAuthToken).expect(500) }) }) @@ -277,28 +266,21 @@ describe('Labels API', () => { ` }) - // context('when labels exists', () => { - // before(() => { - // pageId = page.id - // labelIds = [labels[0].id, labels[1].id] - // }) + context('when labels exists', () => { + before(() => { + pageId = page.id + labelIds = [labels[0].id, labels[1].id] + }) - // it('should set labels', async () => { - // await graphqlRequest(query, authToken).expect(200) - // return new Promise((resolve, reject) => { - // setTimeout(async () => { - // const page = await getPageById(pageId) - // console.log('got page', page, pageId) - // expect(page?.labels?.map((l) => l.id)).to.eql(labelIds) - // resolve() - // }, 1000) - // }) - // }) - // }) + it('should set labels', async () => { + await graphqlRequest(query, authToken).expect(200) + const page = await getPageById(pageId) + expect(page?.labels?.map((l) => l.id)).to.eql(labelIds) + }) + }) context('when labels not exist', () => { before(() => { - console.log('page id', page) pageId = page.id labelIds = [generateFakeUuid(), generateFakeUuid()] }) @@ -321,24 +303,18 @@ describe('Labels API', () => { }) }) - context('invalid request', () => { - before(() => { - pageId = generateFakeUuid() - labelIds = [labels[0].id, labels[1].id] - }) - it('responds status code 400 when invalid query', async () => { - const invalidQuery = ` - mutation { - setLabels {} - } - ` - return graphqlRequest(invalidQuery, authToken).expect(400) - }) + it('responds status code 400 when invalid query', async () => { + const invalidQuery = ` + mutation { + setLabels {} + } + ` + return graphqlRequest(invalidQuery, authToken).expect(400) + }) - it('responds status code 500 when invalid user', async () => { - const invalidAuthToken = 'Fake token' - return graphqlRequest(query, invalidAuthToken).expect(500) - }) + it('responds status code 500 when invalid user', async () => { + const invalidAuthToken = 'Fake token' + return graphqlRequest(query, invalidAuthToken).expect(500) }) }) }) diff --git a/packages/api/test/services/labels.test.ts b/packages/api/test/services/labels.test.ts index 427978f88..354af4e44 100644 --- a/packages/api/test/services/labels.test.ts +++ b/packages/api/test/services/labels.test.ts @@ -14,42 +14,42 @@ import { LinkLabel } from '../../src/entity/link_label' import { Label } from '../../src/entity/label' import { Link } from '../../src/entity/link' -// describe('batch get labels from linkIds', () => { -// let username = 'testUser' -// let labels: Label[] = [] -// let link: Link +describe('batch get labels from linkIds', () => { + let username = 'testUser' + let labels: Label[] = [] + let link: Link -// before(async () => { -// // create test user -// const user = await createTestUser(username) + before(async () => { + // create test user + const user = await createTestUser(username) -// // Create some test links -// const page = await createTestPage() -// link = await createTestLink(user, page) + // Create some test links + const page = await createTestPage() + link = await createTestLink(user, page) -// for (let i = 0; i < 3; i++) { -// // create testing labels -// const label = await createTestLabel(user, `label_${i}`, '#d55757') -// // set label to a link -// await getRepository(LinkLabel).save({ -// link: link, -// label: label, -// }) -// labels.push(label) -// } -// }) + for (let i = 0; i < 3; i++) { + // create testing labels + const label = await createTestLabel(user, `label_${i}`, '#d55757') + // set label to a link + await getRepository(LinkLabel).save({ + link: link, + label: label, + }) + labels.push(label) + } + }) -// after(async () => { -// // clean up -// await deleteTestUser(username) -// }) + after(async () => { + // clean up + await deleteTestUser(username) + }) -// it('should return a list of label from one link', async () => { -// const result = await labelsLoader.load(link.id) + it('should return a list of label from one link', async () => { + const result = await labelsLoader.load(link.id) -// expect(result).length(3) -// expect(result[0].id).to.eql(labels[0].id) -// expect(result[1].id).to.eql(labels[1].id) -// expect(result[2].id).to.eql(labels[2].id) -// }) -// }) + expect(result).length(3) + expect(result[0].id).to.eql(labels[0].id) + expect(result[1].id).to.eql(labels[1].id) + expect(result[2].id).to.eql(labels[2].id) + }) +}) diff --git a/packages/api/test/services/save_newsletter_email.test.ts b/packages/api/test/services/save_newsletter_email.test.ts index 398ad3ef6..cbd070f26 100644 --- a/packages/api/test/services/save_newsletter_email.test.ts +++ b/packages/api/test/services/save_newsletter_email.test.ts @@ -7,28 +7,16 @@ import { saveNewsletterEmail } from '../../src/services/save_newsletter_email' import { getPageByParam } from '../../src/elastic' import { User } from '../../src/entity/user' import { NewsletterEmail } from '../../src/entity/newsletter_email' -import { SaveContext } from '../../src/services/save_email' -import { createPubSubClient } from '../../src/datalayer/pubsub' -import nock from 'nock' describe('saveNewsletterEmail', () => { const username = 'fakeUser' let user: User let email: NewsletterEmail - let ctx: SaveContext before(async () => { user = await createTestUser(username) email = await createNewsletterEmail(user.id) - ctx = { - pubsub: createPubSubClient(), - uid: user.id, - refresh: true, - } - nock('https://example.com') - .get(/\/(.*)?$/) - .reply(200); }) after(async () => { @@ -42,16 +30,18 @@ describe('saveNewsletterEmail', () => { url: 'https://example.com', title: 'fake title', author: 'fake author', - }, ctx) + }) - const page = await getPageByParam({ userId: user.id }) - if (!page) { - expect.fail('page not found') - } - expect(page.url).to.equal('https://example.com') - expect(page.title).to.equal('fake title') - expect(page.author).to.equal('fake author') - expect(page.content).to.contain('fake content') + setTimeout(async () => { + const page = await getPageByParam({ userId: user.id }) + if (!page) { + expect.fail('page not found') + } + expect(page.url).to.equal('https://example.com') + expect(page.title).to.equal('fake title') + expect(page.author).to.equal('fake author') + expect(page.content).to.contain('fake content') + }) }) it('should adds a Newsletter label to that page', async () => { @@ -66,11 +56,11 @@ describe('saveNewsletterEmail', () => { url: 'https://example.com/2', title: 'fake title', author: 'fake author', - }, ctx) + }) - const page = await getPageByParam({ userId: user.id }) - const newsletterLabel = page?.labels?.find(l => l.name === 'Newsletter') - expect(newsletterLabel).to.exist - expect(newsletterLabel?.color).to.equal(newLabel.color) + setTimeout(async () => { + const page = await getPageByParam({ userId: user.id }) + expect(page?.labels).to.deep.include(newLabel) + }) }) })