Files
bigcapital/packages/server/test/accounts.e2e-spec.ts
Ahmed Bouhuolia 3c1273becb wip
2026-01-12 01:04:28 +02:00

183 lines
5.5 KiB
TypeScript

import * as request from 'supertest';
import { faker } from '@faker-js/faker';
import {
app,
AuthorizationHeader,
orgainzationId,
} from './init-app-test';
const makeAccountRequest = () => ({
name: `${faker.finance.accountName()} ${Date.now()}-${faker.string.alphanumeric({ length: 4 })}`,
accountType: 'cash',
code: faker.string.alphanumeric({ length: 6 }).toUpperCase(),
});
describe.only('Accounts (e2e)', () => {
it('/accounts (POST)', () => {
return request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send(makeAccountRequest())
.expect(201);
});
it('/accounts (GET)', () => {
return request(app.getHttpServer())
.get('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.expect(200);
});
it('/accounts/:id (GET)', async () => {
const response = await request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send(makeAccountRequest())
.expect(201);
const accountId = response.body.id;
return request(app.getHttpServer())
.get(`/accounts/${accountId}`)
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.expect(200);
});
it('/accounts/:id (PUT)', async () => {
const response = await request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send(makeAccountRequest())
.expect(201);
const accountId = response.body.id;
return request(app.getHttpServer())
.put(`/accounts/${accountId}`)
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send(makeAccountRequest())
.expect(200);
});
it('/accounts/:id (DELETE)', async () => {
const response = await request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send(makeAccountRequest())
.expect(201);
const accountId = response.body.id;
return request(app.getHttpServer())
.delete(`/accounts/${accountId}`)
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.expect(200);
});
it('/accounts/:id/activate (POST)', async () => {
const response = await request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send({
...makeAccountRequest(),
active: false,
})
.expect(201);
const accountId = response.body.id;
return request(app.getHttpServer())
.post(`/accounts/${accountId}/activate`)
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.expect(200);
});
it('/accounts/:id/inactivate (POST)', async () => {
const response = await request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send({
...makeAccountRequest(),
active: true,
})
.expect(201);
const accountId = response.body.id;
return request(app.getHttpServer())
.post(`/accounts/${accountId}/inactivate`)
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.expect(200);
});
it('/accounts/types (GET)', () => {
return request(app.getHttpServer())
.get('/accounts/types')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.expect(200);
});
it('/accounts/validate-bulk-delete (POST)', async () => {
const response1 = await request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send(makeAccountRequest())
.expect(201);
const accountId1 = response1.body.id;
const response2 = await request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send(makeAccountRequest())
.expect(201);
const accountId2 = response2.body.id;
return request(app.getHttpServer())
.post('/accounts/validate-bulk-delete')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send({
ids: [accountId1, accountId2],
})
.expect(200);
});
it('/accounts/bulk-delete (POST)', async () => {
const response1 = await request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send(makeAccountRequest())
.expect(201);
const accountId1 = response1.body.id;
const response2 = await request(app.getHttpServer())
.post('/accounts')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send(makeAccountRequest())
.expect(201);
const accountId2 = response2.body.id;
return request(app.getHttpServer())
.post('/accounts/bulk-delete')
.set('organization-id', orgainzationId)
.set('Authorization', AuthorizationHeader)
.send({
ids: [accountId1, accountId2],
})
.expect(200);
});
});