Skip to content

Commit 6930a8e

Browse files
committed
test: update unit tests
1 parent e1cebbd commit 6930a8e

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

src/test/java/com/itasocialacademy/oitassist/task/service/TaskServiceTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,12 @@ void addTaskOwner_alreadyOwner_shouldReturnWithoutChanges() {
545545

546546
@Test
547547
void removeTaskOwner_shouldSucceed() {
548+
TaskOwner secondOwner = TaskOwner.builder()
549+
.id(new TaskOwnerId(1L, 200L))
550+
.task(taskBody)
551+
.build();
552+
taskBody.addOwner(secondOwner);
553+
548554
RemoveOwnerRequestDTO request = new RemoveOwnerRequestDTO("currentowner@mail.com");
549555

550556
UserAuthDetails owner =
@@ -563,9 +569,31 @@ void removeTaskOwner_shouldSucceed() {
563569
assertFalse(taskBody.getOwners().stream()
564570
.anyMatch(o -> o.getId().getOwnerId().equals(100L)));
565571

572+
assertTrue(taskBody.getOwners().stream()
573+
.anyMatch(o -> o.getId().getOwnerId().equals(200L)));
574+
566575
verify(taskBodyMapper).toResponse(taskBody, testFiles, "creator@mail.com");
567576
}
568577

578+
@Test
579+
void removeTaskOwner_lastOwner_shouldThrowValidationException() {
580+
RemoveOwnerRequestDTO request = new RemoveOwnerRequestDTO("currentowner@mail.com");
581+
582+
UserAuthDetails owner =
583+
new UserAuthDetails(100L, "currentowner@mail.com", "12345678", Role.ORG);
584+
585+
when(securityFacade.hasRole("ADMIN")).thenReturn(true);
586+
when(taskBodyRepository.findById(1L)).thenReturn(Optional.of(taskBody));
587+
when(userFacade.findByEmail("currentowner@mail.com")).thenReturn(Optional.of(owner));
588+
589+
assertThrows(ValidationException.class,
590+
() -> taskService.removeTaskOwner(1L, request));
591+
592+
assertEquals(1, taskBody.getOwners().size());
593+
assertTrue(taskBody.getOwners().stream()
594+
.anyMatch(o -> o.getId().getOwnerId().equals(100L)));
595+
}
596+
569597
@Test
570598
void removeTaskOwner_notAdmin_shouldThrowTaskAccessRestrictedException() {
571599
RemoveOwnerRequestDTO request = new RemoveOwnerRequestDTO("currentowner@mail.com");

0 commit comments

Comments
 (0)