From 83c62c65a37c88b090cf694dc3996b7c9c6fa960 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 19 Jan 2023 10:44:08 +0800 Subject: [PATCH] Add test for saving received email --- .../api/src/resolvers/recent_emails/index.ts | 1 - packages/api/src/routers/svc/emails.ts | 3 +-- .../api/src/services/save_newsletter_email.ts | 1 - .../api/test/resolvers/recent_emails.test.ts | 0 packages/api/test/routers/emails.test.ts | 27 +++++++++++++++++++ .../services/save_newsletter_email.test.ts | 2 -- 6 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 packages/api/test/resolvers/recent_emails.test.ts diff --git a/packages/api/src/resolvers/recent_emails/index.ts b/packages/api/src/resolvers/recent_emails/index.ts index fa9e258a0..dad81beef 100644 --- a/packages/api/src/resolvers/recent_emails/index.ts +++ b/packages/api/src/resolvers/recent_emails/index.ts @@ -94,7 +94,6 @@ export const markEmailAsItemResolver = authorized< from: recentEmail.from, email: recentEmail.to, title: recentEmail.subject, - text: recentEmail.text, content: recentEmail.html, url: generateUniqueUrl(), author: parseEmailAddress(recentEmail.from).name, diff --git a/packages/api/src/routers/svc/emails.ts b/packages/api/src/routers/svc/emails.ts index e0b855020..10a7d949f 100644 --- a/packages/api/src/routers/svc/emails.ts +++ b/packages/api/src/routers/svc/emails.ts @@ -41,8 +41,7 @@ function isEmailMessage(data: any): data is EmailMessage { 'to' in data && 'subject' in data && 'html' in data && - 'text' in data && - 'receivedEmailId' in data + 'text' in data ) } diff --git a/packages/api/src/services/save_newsletter_email.ts b/packages/api/src/services/save_newsletter_email.ts index bc4bcbfd2..81e604d2c 100644 --- a/packages/api/src/services/save_newsletter_email.ts +++ b/packages/api/src/services/save_newsletter_email.ts @@ -23,7 +23,6 @@ export interface NewsletterMessage { author: string unsubMailTo?: string unsubHttpUrl?: string - text: string receivedEmailId: string } diff --git a/packages/api/test/resolvers/recent_emails.test.ts b/packages/api/test/resolvers/recent_emails.test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/packages/api/test/routers/emails.test.ts b/packages/api/test/routers/emails.test.ts index 21486c5e5..1b68043b1 100644 --- a/packages/api/test/routers/emails.test.ts +++ b/packages/api/test/routers/emails.test.ts @@ -13,6 +13,7 @@ import * as sendNotification from '../../src/utils/sendNotification' import * as sendEmail from '../../src/utils/sendEmail' import { getRepository } from '../../src/entity/utils' import { ReceivedEmail } from '../../src/entity/received_email' +import * as jwt from 'jsonwebtoken' describe('Emails Router', () => { const newsletterEmail = 'fakeUser@omnivore.app' @@ -122,4 +123,30 @@ describe('Emails Router', () => { }) }) }) + + describe('create', () => { + const html = 'test html' + const text = 'test text' + const from = 'fake from' + const subject = 'fake subject' + const authToken = jwt.sign(newsletterEmail, process.env.JWT_SECRET || '') + + it('saves the email in the database', async () => { + const data = { + html, + text, + from, + to: newsletterEmail, + subject, + } + const res = await request + .post('/svc/pubsub/emails/save') + .set('Authorization', `${authToken}`) + .send(data) + .expect(200) + + console.log(res.body) + expect(res.body.id).not.to.be.undefined + }) + }) }) diff --git a/packages/api/test/services/save_newsletter_email.test.ts b/packages/api/test/services/save_newsletter_email.test.ts index 3de0be158..e77f64e61 100644 --- a/packages/api/test/services/save_newsletter_email.test.ts +++ b/packages/api/test/services/save_newsletter_email.test.ts @@ -56,7 +56,6 @@ describe('saveNewsletterEmail', () => { await saveNewsletterEmail( { from, - text, email: newsletterEmail.address, content: `${fakeContent}`, url, @@ -102,7 +101,6 @@ describe('saveNewsletterEmail', () => { title, author, from, - text, receivedEmailId: receivedEmail.id, }, newsletterEmail,