diff --git a/packages/api/src/utils/createTask.ts b/packages/api/src/utils/createTask.ts index 20b9fbf3d..75eed7395 100644 --- a/packages/api/src/utils/createTask.ts +++ b/packages/api/src/utils/createTask.ts @@ -170,6 +170,7 @@ export const getTask = async ( const request: protos.google.cloud.tasks.v2.GetTaskRequest = { responseView: View.FULL, + // eslint-disable-next-line @typescript-eslint/no-explicit-any toJSON(): { [p: string]: any } { return {} }, diff --git a/packages/api/test/services/save_newsletter_email.test.ts b/packages/api/test/services/save_newsletter_email.test.ts new file mode 100644 index 000000000..8804329f7 --- /dev/null +++ b/packages/api/test/services/save_newsletter_email.test.ts @@ -0,0 +1,59 @@ +import 'mocha' +import { expect } from 'chai' +import 'chai/register-should' +import { + createTestUser, + createUserWithoutProfile, + deleteTestUser, + getProfile, +} from '../db' +import { createGroup } from '../../src/services/create_group' +import { + getUserFollowers, + getUserFollowing, +} from '../../src/services/followers' +import { createNewsletterEmail } from '../../src/services/newsletters' +import { saveNewsletterEmail } from '../../src/services/save_newsletter_email' +import { getRepository } from 'typeorm' +import { Link } from '../../src/entity/link' + +describe('saveNewsletterEmail', () => { + const username = 'fakeUser' + after(async () => { + await deleteTestUser(username) + }) + + interface NewsletterMessage { + email: string + content: string + url: string + title: string + author: string + } + + it('adds the newsletter to the library', async () => { + const user = await createTestUser(username) + const email = await createNewsletterEmail(user.id) + + await saveNewsletterEmail({ + email: email.address, + content: 'fake content', + url: 'https://example.com', + title: 'fake title', + author: 'fake author', + }) + + const links = await getRepository(Link).find({ + where: { + user: user, + }, + relations: ['page'], + }) + + expect(links.length).to.equal(1) + expect(links[0].page.url).to.equal('https://example.com') + expect(links[0].page.title).to.equal('fake title') + expect(links[0].page.author).to.equal('fake author') + expect(links[0].page.content).to.contain('fake content') + }).timeout(10000) +})