Files
omnivore/packages/api/test/resolvers/api_key.test.ts
Hongbo Wu 2ebdaba780 add generate api key api and test (#392)
* add generate api key api and test

* test if user can make api call with the api key
2022-04-12 12:11:45 +08:00

48 lines
1.2 KiB
TypeScript

import { User } from '../../src/entity/user'
import { createTestUser, deleteTestUser } from '../db'
import { graphqlRequest, request } from '../util'
import { expect } from 'chai'
describe('generate api key', () => {
const username = 'fake_user'
let authToken: string
let user: User
before(async () => {
// create test user and login
user = await createTestUser(username)
const res = await request
.post('/local/debug/fake-user-login')
.send({ fakeEmail: user.email })
authToken = res.body.authToken
})
after(async () => {
// clean up
await deleteTestUser(username)
})
it('should return api key which could be used to make api calls', async () => {
const query = `
mutation {
generateApiKey {
... on GenerateApiKeySuccess {
apiKey
}
... on GenerateApiKeyError {
errorCodes
}
}
}
`
const response = await graphqlRequest(query, authToken).expect(200)
expect(response.body.data.generateApiKey.apiKey).to.be.a('string')
const apiKey = response.body.data.generateApiKey.apiKey
return graphqlRequest(query, apiKey).expect(200)
})
})