Files
smartbooking/src/main/webapp/app/entities/audit-log/audit-log.service.spec.ts

187 lines
5.3 KiB
TypeScript

import axios from 'axios';
import dayjs from 'dayjs';
import sinon from 'sinon';
import { DATE_TIME_FORMAT } from '@/shared/composables/date-format';
import { AuditLog } from '@/shared/model/audit-log.model';
import AuditLogService from './audit-log.service';
const error = {
response: {
status: null,
data: {
type: null,
},
},
};
const axiosStub = {
get: sinon.stub(axios, 'get'),
post: sinon.stub(axios, 'post'),
put: sinon.stub(axios, 'put'),
patch: sinon.stub(axios, 'patch'),
delete: sinon.stub(axios, 'delete'),
};
describe('Service Tests', () => {
describe('AuditLog Service', () => {
let service: AuditLogService;
let elemDefault;
let currentDate: Date;
beforeEach(() => {
service = new AuditLogService();
currentDate = new Date();
elemDefault = new AuditLog(123, 'PRENOTAZIONE', 0, 'CREATE', 'AAAAAAA', 'AAAAAAA', currentDate);
});
describe('Service methods', () => {
it('should find an element', async () => {
const returnedFromService = { createdAt: dayjs(currentDate).format(DATE_TIME_FORMAT), ...elemDefault };
axiosStub.get.resolves({ data: returnedFromService });
return service.find(123).then(res => {
expect(res).toMatchObject(elemDefault);
});
});
it('should not find an element', async () => {
axiosStub.get.rejects(error);
return service
.find(123)
.then()
.catch(err => {
expect(err).toMatchObject(error);
});
});
it('should create a AuditLog', async () => {
const returnedFromService = { id: 123, createdAt: dayjs(currentDate).format(DATE_TIME_FORMAT), ...elemDefault };
const expected = { createdAt: currentDate, ...returnedFromService };
axiosStub.post.resolves({ data: returnedFromService });
return service.create({}).then(res => {
expect(res).toMatchObject(expected);
});
});
it('should not create a AuditLog', async () => {
axiosStub.post.rejects(error);
return service
.create({})
.then()
.catch(err => {
expect(err).toMatchObject(error);
});
});
it('should update a AuditLog', async () => {
const returnedFromService = {
entitaTipo: 'BBBBBB',
entitaId: 1,
azione: 'BBBBBB',
dettagli: 'BBBBBB',
ipAddress: 'BBBBBB',
createdAt: dayjs(currentDate).format(DATE_TIME_FORMAT),
...elemDefault,
};
const expected = { createdAt: currentDate, ...returnedFromService };
axiosStub.put.resolves({ data: returnedFromService });
return service.update(expected).then(res => {
expect(res).toMatchObject(expected);
});
});
it('should not update a AuditLog', async () => {
axiosStub.put.rejects(error);
return service
.update({})
.then()
.catch(err => {
expect(err).toMatchObject(error);
});
});
it('should partial update a AuditLog', async () => {
const patchObject = {
azione: 'BBBBBB',
dettagli: 'BBBBBB',
ipAddress: 'BBBBBB',
createdAt: dayjs(currentDate).format(DATE_TIME_FORMAT),
...new AuditLog(),
};
const returnedFromService = Object.assign(patchObject, elemDefault);
const expected = { createdAt: currentDate, ...returnedFromService };
axiosStub.patch.resolves({ data: returnedFromService });
return service.partialUpdate(patchObject).then(res => {
expect(res).toMatchObject(expected);
});
});
it('should not partial update a AuditLog', async () => {
axiosStub.patch.rejects(error);
return service
.partialUpdate({})
.then()
.catch(err => {
expect(err).toMatchObject(error);
});
});
it('should return a list of AuditLog', async () => {
const returnedFromService = {
entitaTipo: 'BBBBBB',
entitaId: 1,
azione: 'BBBBBB',
dettagli: 'BBBBBB',
ipAddress: 'BBBBBB',
createdAt: dayjs(currentDate).format(DATE_TIME_FORMAT),
...elemDefault,
};
const expected = { createdAt: currentDate, ...returnedFromService };
axiosStub.get.resolves([returnedFromService]);
return service.retrieve({ sort: {}, page: 0, size: 10 }).then(res => {
expect(res).toContainEqual(expected);
});
});
it('should not return a list of AuditLog', async () => {
axiosStub.get.rejects(error);
return service
.retrieve()
.then()
.catch(err => {
expect(err).toMatchObject(error);
});
});
it('should delete a AuditLog', async () => {
axiosStub.delete.resolves({ ok: true });
return service.delete(123).then(res => {
expect(res.ok).toBeTruthy();
});
});
it('should not delete a AuditLog', async () => {
axiosStub.delete.rejects(error);
return service
.delete(123)
.then()
.catch(err => {
expect(err).toMatchObject(error);
});
});
});
});
});