Skip to content

Commit

Permalink
fix api tets and change sorting
Browse files Browse the repository at this point in the history
  • Loading branch information
virgilchiriac committed Jan 20, 2025
1 parent ef53fad commit a6bef9f
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -117,34 +117,30 @@ describe(`deletionRequest create (api)`, () => {
expect(result.requestId).toBeDefined();
});

describe('when the "delete in minutes" param has not been provided', () => {
it(
'should set the "deletion planned at" date to the date after the default "delete in minutes" value ' +
'(43200 minutes which is 30 days), with some operational time tolerance',
async () => {
const { deletionRequestToCreate, defaultdeleteAfterMinutes, operationalTimeToleranceInSeconds } = setup();

const response = await testApiClient.post('', deletionRequestToCreate);

const result = response.body as DeletionRequestResponse;
const createdDeletionRequestId = result.requestId;

const createdItem = await em.findOneOrFail(DeletionRequestEntity, createdDeletionRequestId);

const isDeletionPlannedAtDateCorrect = isDeletionPlannedWithinAcceptableRange(
createdItem.createdAt,
createdItem.deleteAfter,
defaultdeleteAfterMinutes,
operationalTimeToleranceInSeconds
);

expect(isDeletionPlannedAtDateCorrect).toEqual(true);
}
);
describe('when the "delete after minutes" param has not been provided', () => {
it('should set the "deleteAfter" date to the date after the default DELETION_DELETE_AFTER_MINUTES ', async () => {
const { deletionRequestToCreate, defaultdeleteAfterMinutes, operationalTimeToleranceInSeconds } = setup();

const response = await testApiClient.post('', deletionRequestToCreate);

const result = response.body as DeletionRequestResponse;
const createdDeletionRequestId = result.requestId;

const createdItem = await em.findOneOrFail(DeletionRequestEntity, createdDeletionRequestId);

const isDeletionPlannedAtDateCorrect = isDeletionPlannedWithinAcceptableRange(
createdItem.createdAt,
createdItem.deleteAfter,
defaultdeleteAfterMinutes,
operationalTimeToleranceInSeconds
);

expect(isDeletionPlannedAtDateCorrect).toEqual(true);
});
});

describe('when the "delete in minutes" param has been set to 0', () => {
it('should set the "deletion planned at" date to now, with some operational time tolerance', async () => {
describe('when the "delete after minutes" param has been set to 0', () => {
it('should set the "deleteAfter" date to now', async () => {
const { deletionRequestToImmediateRemoval, operationalTimeToleranceInSeconds } = setup();

const response = await testApiClient.post('', deletionRequestToImmediateRemoval);
Expand All @@ -164,6 +160,32 @@ describe(`deletionRequest create (api)`, () => {
expect(isDeletionPlannedAtDateCorrect).toEqual(true);
});
});

describe('when the "delete after minutes" param has been set to > 0', () => {
it('should set the "deleteAfter" date to now plus "delete after minutes" ', async () => {
const { deletionRequestToCreate, operationalTimeToleranceInSeconds } = setup();

const deleteAfterMinutes = 120;

deletionRequestToCreate.deleteAfterMinutes = deleteAfterMinutes;

const response = await testApiClient.post('', deletionRequestToCreate);

const result = response.body as DeletionRequestResponse;
const createdDeletionRequestId = result.requestId;

const createdItem = await em.findOneOrFail(DeletionRequestEntity, createdDeletionRequestId);

const isDeletionPlannedAtDateCorrect = isDeletionPlannedWithinAcceptableRange(
createdItem.createdAt,
createdItem.deleteAfter,
deleteAfterMinutes,
operationalTimeToleranceInSeconds
);

expect(isDeletionPlannedAtDateCorrect).toEqual(true);
});
});
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@ export class DeletionRequestUc implements IEventHandler<DataDeletedEvent> {

async createDeletionRequest(deletionRequest: DeletionRequestBodyProps): Promise<DeletionRequestResponse> {
this.logger.debug({ action: 'createDeletionRequest', deletionRequest });
const hours =
const minutes =
deletionRequest.deleteAfterMinutes ?? this.configService.get<number>('ADMIN_API__DELETION_DELETE_AFTER_MINUTES');
const deleteAfter = new Date();
deleteAfter.setMinutes(deleteAfter.getHours() + hours);
deleteAfter.setMinutes(deleteAfter.getMinutes() + minutes);
const result = await this.deletionRequestService.createDeletionRequest(
deletionRequest.targetRef.id,
deletionRequest.targetRef.domain,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export class DeletionRequestRepo {

scope.addQuery(statusScope.query);

const order = { createdAt: SortOrder.desc }; // TODO why decending order? Should it not be ascending?
const order = { createdAt: SortOrder.asc };

const [deletionRequestEntities] = await this.em.findAndCount(DeletionRequestEntity, scope.query, {
limit,
Expand Down

0 comments on commit a6bef9f

Please sign in to comment.