teqo/tests/helpers/seedUser.ts
Francisco Ignácio Fontoura Solla bb5ac362ed Add users.roles so Payload /admin can separate editors from admins.
Editors publish post/tag/media without PII or campaign access; existing users backfill as admin.
2026-07-27 01:54:29 -03:00

53 lines
1 KiB
TypeScript

import { getPayload } from 'payload'
import config from '../../src/payload.config.js'
import { assertTestDatabase } from './assertTestDatabase'
export const testUser = {
email: 'dev@payloadcms.com',
password: 'test',
}
/**
* Seeds a test user for e2e admin tests.
*/
export async function seedTestUser(): Promise<void> {
assertTestDatabase(process.env.DATABASE_URL)
const payload = await getPayload({ config })
// Delete existing test user if any
await payload.delete({
collection: 'users',
where: {
email: {
equals: testUser.email,
},
},
})
// Create fresh test user
await payload.create({
collection: 'users',
data: {
...testUser,
roles: ['admin'],
},
})
}
/**
* Cleans up test user after tests
*/
export async function cleanupTestUser(): Promise<void> {
assertTestDatabase(process.env.DATABASE_URL)
const payload = await getPayload({ config })
await payload.delete({
collection: 'users',
where: {
email: {
equals: testUser.email,
},
},
})
}