omnivore/packages/api/test/resolvers/update.test.ts

72 lines
1.9 KiB
TypeScript
Raw Permalink Normal View History

2022-05-24 07:04:54 +00:00
import { expect } from 'chai'
import 'mocha'
2023-09-06 11:31:34 +00:00
import { LibraryItem } from '../../src/entity/library_item'
import { User } from '../../src/entity/user'
2023-09-07 04:35:05 +00:00
import { deleteUser } from '../../src/services/user'
import { createTestLibraryItem, createTestUser } from '../db'
import { graphqlRequest, request } from '../util'
2022-05-24 07:04:54 +00:00
describe('Update API', () => {
let user: User
let authToken: string
2023-09-06 11:31:34 +00:00
let item: LibraryItem
2022-05-24 07:04:54 +00:00
before(async () => {
// create test user and login
2022-08-10 08:36:31 +00:00
user = await createTestUser('fakeUser')
2022-05-24 07:04:54 +00:00
const res = await request
.post('/local/debug/fake-user-login')
.send({ fakeEmail: user.email })
authToken = res.body.authToken
2023-09-06 11:31:34 +00:00
item = await createTestLibraryItem(user.id)
2022-05-24 07:04:54 +00:00
})
after(async () => {
// clean up
2023-09-07 04:35:05 +00:00
await deleteUser(user.id)
2022-05-24 07:04:54 +00:00
})
describe('update page', () => {
let query: string
const title = 'New Title'
const description = 'New Description'
2025-09-24 10:37:39 +00:00
const previewImage = 'https://omnivore.work/image.png'
2022-05-24 07:04:54 +00:00
beforeEach(() => {
query = `
mutation {
updatePage(
input: {
2023-09-06 11:31:34 +00:00
pageId: "${item.id}"
2022-05-24 07:04:54 +00:00
title: "${title}"
description: "${description}"
previewImage: "${previewImage}"
2022-05-24 07:04:54 +00:00
}
) {
... on UpdatePageSuccess {
updatedPage {
title
description
image
2022-05-24 07:04:54 +00:00
}
}
... on UpdatePageError {
errorCodes
}
}
}
`
2022-08-05 08:07:49 +00:00
})
2022-05-24 07:04:54 +00:00
2022-08-05 08:07:49 +00:00
it('should update page', async () => {
const res = await graphqlRequest(query, authToken).expect(200)
2022-05-24 07:04:54 +00:00
2022-08-05 08:07:49 +00:00
const updatedPage = res?.body.data.updatePage.updatedPage
expect(updatedPage?.title).to.eql(title)
expect(updatedPage?.description).to.eql(description)
expect(updatedPage?.image).to.eql(previewImage)
2022-05-24 07:04:54 +00:00
})
2022-08-05 08:07:49 +00:00
})
2022-05-24 07:04:54 +00:00
})