feat: update newsletter email api

This commit is contained in:
Hongbo Wu
2023-12-20 11:29:10 +08:00
parent e4b6cba2ff
commit 0a4758105a
7 changed files with 237 additions and 2 deletions

View File

@ -9,6 +9,7 @@ import {
import { getRepository } from '../../src/repository'
import {
createNewsletterEmail,
deleteNewsletterEmail,
findNewsletterEmailByAddress,
findNewsletterEmailById,
} from '../../src/services/newsletters'
@ -286,4 +287,57 @@ describe('Newsletters API', () => {
return graphqlRequest(query, invalidAuthToken).expect(500)
})
})
describe('Update newsletter email', () => {
const query = `
mutation UpdateNewsletterEmail($input: UpdateNewsletterEmailInput!) {
updateNewsletterEmail(input: $input) {
... on UpdateNewsletterEmailSuccess {
newsletterEmail {
id
address
folder
}
}
... on UpdateNewsletterEmailError {
errorCodes
}
}
}
`
context('when newsletter email exists', () => {
let newsletterEmailId = 'Newsletter email id'
before(async () => {
// create test newsletter emails
const newsletterEmail = await createNewsletterEmail(
user.id,
undefined,
'inbox'
)
newsletterEmailId = newsletterEmail.id
})
after(async () => {
// clean up
await deleteNewsletterEmail(newsletterEmailId)
})
it('responds with status code 200', async () => {
const folder = 'following'
const response = await graphqlRequest(query, authToken, {
input: {
id: newsletterEmailId,
folder,
},
}).expect(200)
expect(
response.body.data.updateNewsletterEmail.newsletterEmail.folder
).to.eql(folder)
const newsletterEmail = await findNewsletterEmailById(newsletterEmailId)
expect(newsletterEmail?.folder).to.eql(folder)
})
})
})
})