58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
import type { Payload } from '../../../packages/payload/src/index.js'
|
|
|
|
import { getPayload } from '../../../packages/payload/src/index.js'
|
|
import { NextRESTClient } from '../../helpers/NextRESTClient.js'
|
|
import { startMemoryDB } from '../../startMemoryDB.js'
|
|
import configPromise from './config.js'
|
|
import { usersSlug } from './shared.js'
|
|
|
|
let payload: Payload
|
|
let restClient: NextRESTClient
|
|
|
|
const [code, secret, name] = ['test', 'strategy', 'Tester']
|
|
|
|
const headers = {
|
|
'Content-Type': 'application/json',
|
|
}
|
|
|
|
describe('AuthStrategies', () => {
|
|
beforeAll(async () => {
|
|
const config = await startMemoryDB(configPromise)
|
|
payload = await getPayload({ config })
|
|
restClient = new NextRESTClient(payload.config)
|
|
})
|
|
|
|
afterAll(async () => {
|
|
if (typeof payload.db.destroy === 'function') {
|
|
await payload.db.destroy(payload)
|
|
}
|
|
})
|
|
|
|
describe('create user', () => {
|
|
beforeAll(async () => {
|
|
await restClient.POST(`/${usersSlug}`, {
|
|
body: JSON.stringify({
|
|
code,
|
|
secret,
|
|
name,
|
|
}),
|
|
headers,
|
|
})
|
|
})
|
|
|
|
it('should return a logged in user from /me', async () => {
|
|
const response = await restClient.GET(`/${usersSlug}/me`, {
|
|
headers: {
|
|
code,
|
|
secret,
|
|
},
|
|
})
|
|
|
|
const data = await response.json()
|
|
|
|
expect(response.status).toBe(200)
|
|
expect(data.user.name).toBe(name)
|
|
})
|
|
})
|
|
})
|