Files
payloadcms/test/auth/custom-strategy/int.spec.ts
2024-04-02 15:01:18 -04:00

56 lines
1.2 KiB
TypeScript

import type { Payload } from 'payload'
import type { NextRESTClient } from '../../helpers/NextRESTClient.js'
import { initPayloadInt } from '../../helpers/initPayloadInt.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 () => {
;({ payload, restClient } = await initPayloadInt(configPromise))
})
afterAll(async () => {
if (typeof payload.db.destroy === 'function') {
await payload.db.destroy()
}
})
describe('create user', () => {
beforeAll(async () => {
await restClient.POST(`/${usersSlug}`, {
body: JSON.stringify({
name,
code,
secret,
}),
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)
})
})
})