return folder when newsletter email api is called
This commit is contained in:
@ -4,7 +4,10 @@
|
||||
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||
import { createHmac } from 'crypto'
|
||||
import { NewsletterEmail } from '../entity/newsletter_email'
|
||||
import {
|
||||
EXISTING_NEWSLETTER_FOLDER,
|
||||
NewsletterEmail,
|
||||
} from '../entity/newsletter_email'
|
||||
import {
|
||||
DEFAULT_SUBSCRIPTION_FOLDER,
|
||||
Subscription,
|
||||
@ -450,6 +453,9 @@ export const functionResolvers = {
|
||||
subscriptionCount(newsletterEmail: NewsletterEmail) {
|
||||
return newsletterEmail.subscriptions?.length || 0
|
||||
},
|
||||
folder(newsletterEmail: NewsletterEmail) {
|
||||
return newsletterEmail.folder || EXISTING_NEWSLETTER_FOLDER
|
||||
},
|
||||
},
|
||||
...resultResolveTypeResolver('Login'),
|
||||
...resultResolveTypeResolver('LogOut'),
|
||||
|
||||
@ -18,6 +18,7 @@ import { createTestUser } from '../db'
|
||||
import { generateFakeUuid, graphqlRequest, request } from '../util'
|
||||
|
||||
describe('Newsletters API', () => {
|
||||
const defaultFolder = 'inbox'
|
||||
let user: User
|
||||
let authToken: string
|
||||
|
||||
@ -47,6 +48,7 @@ describe('Newsletters API', () => {
|
||||
confirmationCode
|
||||
createdAt
|
||||
subscriptionCount
|
||||
folder
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,6 +103,7 @@ describe('Newsletters API', () => {
|
||||
createdAt:
|
||||
newsletterEmails[1].createdAt.toISOString().split('.')[0] + 'Z',
|
||||
subscriptionCount: 1,
|
||||
folder: defaultFolder,
|
||||
},
|
||||
{
|
||||
id: newsletterEmails[0].id,
|
||||
@ -109,6 +112,7 @@ describe('Newsletters API', () => {
|
||||
createdAt:
|
||||
newsletterEmails[0].createdAt.toISOString().split('.')[0] + 'Z',
|
||||
subscriptionCount: 0,
|
||||
folder: defaultFolder,
|
||||
},
|
||||
])
|
||||
})
|
||||
@ -165,8 +169,8 @@ describe('Newsletters API', () => {
|
||||
|
||||
describe('Create newsletter email', () => {
|
||||
const query = `
|
||||
mutation {
|
||||
createNewsletterEmail {
|
||||
mutation CreateNewsletterEmail($input: CreateNewsletterEmailInput!) {
|
||||
createNewsletterEmail(input: $input) {
|
||||
... on CreateNewsletterEmailSuccess {
|
||||
newsletterEmail {
|
||||
id
|
||||
@ -181,11 +185,17 @@ describe('Newsletters API', () => {
|
||||
`
|
||||
|
||||
it('responds with status code 200', async () => {
|
||||
const response = await graphqlRequest(query, authToken).expect(200)
|
||||
const folder = 'following'
|
||||
const response = await graphqlRequest(query, authToken, {
|
||||
input: {
|
||||
folder,
|
||||
}
|
||||
}).expect(200)
|
||||
const newsletterEmail = await findNewsletterEmailById(
|
||||
response.body.data.createNewsletterEmail.id
|
||||
response.body.data.createNewsletterEmail.newsletterEmail.id
|
||||
)
|
||||
expect(newsletterEmail).not.to.be.undefined
|
||||
expect(newsletterEmail?.folder).to.eql(folder)
|
||||
})
|
||||
|
||||
it('responds status code 400 when invalid query', async () => {
|
||||
|
||||
Reference in New Issue
Block a user