first commit

This commit is contained in:
Bastian Wagner
2026-07-31 21:02:47 +02:00
commit 6bea4f766a
512 changed files with 64459 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
import { APP_URL, ADMIN_EMAIL, ADMIN_PASSWORD } from '../utils/constants';
import * as request from 'supertest';
import { RoleEnum } from '../../src/roles/roles.enum';
import { StatusEnum } from '../../src/statuses/statuses.enum';
describe('Users admin (e2e)', () => {
const app = APP_URL;
let newUserFirst;
const newUserEmailFirst = `user-first.${Date.now()}@example.com`;
const newUserPasswordFirst = `secret`;
const newUserChangedPasswordFirst = `new-secret`;
const newUserByAdminEmailFirst = `user-created-by-admin.${Date.now()}@example.com`;
const newUserByAdminPasswordFirst = `secret`;
let apiToken;
beforeAll(async () => {
await request(app)
.post('/api/v1/auth/admin/email/login')
.send({ email: ADMIN_EMAIL, password: ADMIN_PASSWORD })
.then(({ body }) => {
apiToken = body.token;
});
await request(app)
.post('/api/v1/auth/email/register')
.send({
email: newUserEmailFirst,
password: newUserPasswordFirst,
firstName: `First${Date.now()}`,
lastName: 'E2E',
});
await request(app)
.post('/api/v1/auth/email/login')
.send({ email: newUserEmailFirst, password: newUserPasswordFirst })
.then(({ body }) => {
newUserFirst = body.user;
});
});
it('Change password for new user: /api/v1/users/:id (PATCH)', () => {
return request(app)
.patch(`/api/v1/users/${newUserFirst.id}`)
.auth(apiToken, {
type: 'bearer',
})
.send({ password: newUserChangedPasswordFirst })
.expect(200);
});
it('Login via registered user: /api/v1/auth/email/login (GET)', () => {
return request(app)
.post('/api/v1/auth/email/login')
.send({ email: newUserEmailFirst, password: newUserChangedPasswordFirst })
.expect(200)
.expect(({ body }) => {
expect(body.token).toBeDefined();
});
});
it('Fail create new user by admin: /api/v1/users (POST)', () => {
return request(app)
.post(`/api/v1/users`)
.auth(apiToken, {
type: 'bearer',
})
.send({ email: 'fail-data' })
.expect(422);
});
it('Success create new user by admin: /api/v1/users (POST)', () => {
return request(app)
.post(`/api/v1/users`)
.auth(apiToken, {
type: 'bearer',
})
.send({
email: newUserByAdminEmailFirst,
password: newUserByAdminPasswordFirst,
firstName: `UserByAdmin${Date.now()}`,
lastName: 'E2E',
role: {
id: RoleEnum.user,
},
status: {
id: StatusEnum.active,
},
})
.expect(201);
});
it('Login via created by admin user: /api/v1/auth/email/login (GET)', () => {
return request(app)
.post('/api/v1/auth/email/login')
.send({
email: newUserByAdminEmailFirst,
password: newUserByAdminPasswordFirst,
})
.expect(200)
.expect(({ body }) => {
expect(body.token).toBeDefined();
});
});
});