Skip to content

Commit bd15327

Browse files
committed
Remove BackofficeCourseAlreadyExists error from BackofficeCourse creator
1 parent 3a63272 commit bd15327

File tree

4 files changed

+0
-57
lines changed

4 files changed

+0
-57
lines changed
Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
import { Criteria } from '../../../../Shared/domain/criteria/Criteria';
2-
import { Filters } from '../../../../Shared/domain/criteria/Filters';
3-
import { Order } from '../../../../Shared/domain/criteria/Order';
41
import { BackofficeCourse } from '../../domain/BackofficeCourse';
5-
import { BackofficeCourseAlreadyExists } from '../../domain/BackofficeCourseAlreadyExists';
62
import { BackofficeCourseDuration } from '../../domain/BackofficeCourseDuration';
73
import { BackofficeCourseId } from '../../domain/BackofficeCourseId';
84
import { BackofficeCourseName } from '../../domain/BackofficeCourseName';
@@ -18,26 +14,6 @@ export class BackofficeCourseCreator {
1814
new BackofficeCourseDuration(duration)
1915
);
2016

21-
const criteria = this.buildCriteria(id);
22-
const alreadyExists = await this.courseAlreadyExists(criteria);
23-
if (alreadyExists) {
24-
throw new BackofficeCourseAlreadyExists(new BackofficeCourseId(id));
25-
}
26-
2717
return this.backofficeCourseRepository.save(course);
2818
}
29-
30-
private async courseAlreadyExists(criteria: Criteria) {
31-
const current = await this.backofficeCourseRepository.matching(criteria);
32-
return current.length > 0;
33-
}
34-
35-
buildCriteria(id: string): Criteria {
36-
const filter = new Map<string, string>();
37-
filter.set('field', 'id');
38-
filter.set('operator', '=');
39-
filter.set('value', id);
40-
const filters = Filters.fromValues([filter]);
41-
return new Criteria(filters, Order.none());
42-
}
4319
}

src/Contexts/Backoffice/Courses/domain/BackofficeCourseAlreadyExists.ts

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { BackofficeCourseCreator } from '../../../../../../src/Contexts/Backoffice/Courses/application/Create/BackofficeCourseCreator';
2-
import { BackofficeCourseAlreadyExists } from '../../../../../../src/Contexts/Backoffice/Courses/domain/BackofficeCourseAlreadyExists';
32
import { BackofficeCourseMother } from '../../domain/BackofficeCourseMother';
43
import { BackofficeCourseRepositoryMock } from '../../__mocks__/BackofficeCourseRepositoryMock';
54

@@ -14,15 +13,4 @@ describe('BackofficeCourseCreator', () => {
1413

1514
repository.assertSaveHasBeenCalledWith(course);
1615
});
17-
18-
it('throws an error if the course already exists', async () => {
19-
const course = BackofficeCourseMother.random();
20-
const repository = new BackofficeCourseRepositoryMock();
21-
repository.returnMatching([course]);
22-
const applicationService = new BackofficeCourseCreator(repository);
23-
24-
expect(
25-
applicationService.run(course.id.toString(), course.duration.toString(), course.name.toString())
26-
).rejects.toBeInstanceOf(BackofficeCourseAlreadyExists);
27-
});
2816
});

tests/apps/backoffice/frontend/features/courses/list_courses.cypress.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,6 @@ describe('List courses', () => {
4040
cy.get('#courses-list tr').eq(0).should('contain', 'Random Course');
4141
cy.get('#courses-list tr').eq(0).should('contain', '2 hours');
4242
});
43-
44-
it('handle invalid filters', () => {
45-
createCourses();
46-
47-
cy.get('button[data-cy="add-field-button"').click();
48-
cy.get('[data-cy=field-filter]').select('name');
49-
cy.get('[data-cy=field-filter-type]').select('CONTAINS');
50-
cy.get('#filter-button').click();
51-
52-
cy.contains('Cursos existentes');
53-
cy.get('#courses-list').find('tr').should('have.length', 1);
54-
cy.get('#courses-list tr').eq(0).should('contain', 'Random Course');
55-
cy.get('#courses-list tr').eq(0).should('contain', '2 hours');
56-
});
5743
});
5844
function createCourses() {
5945
cy.get('input[name="name"]').type('DDD en Typescript');

0 commit comments

Comments
 (0)