Skip to content

Commit

Permalink
fix: invalid keycloak tenant id assingment issue on consultant update
Browse files Browse the repository at this point in the history
  • Loading branch information
tkuzynow committed May 14, 2024
1 parent b828e81 commit f56beb1
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ private UserDTO buildValidatedUserDTO(
UserDTO userDTO = new UserDTO();
userDTO.setEmail(updateConsultantDTO.getEmail());
userDTO.setUsername(consultant.getUsername());
userDTO.setTenantId(consultant.getTenantId());

this.userAccountInputValidator.validateUserDTO(userDTO);
return userDTO;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.caritas.cob.userservice.api.admin.service.consultant.update;

import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
Expand All @@ -21,6 +22,7 @@
import org.jeasy.random.EasyRandom;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
Expand Down Expand Up @@ -52,6 +54,7 @@ public class ConsultantUpdateServiceTest {
@Test
public void updateConsultant_Should_callServicesCorrectly_When_givenConsultantDataIsValid() {
Consultant consultant = new EasyRandom().nextObject(Consultant.class);
consultant.setTenantId(1L);
when(this.consultantService.getConsultant(any())).thenReturn(Optional.of(consultant));
UpdateAdminConsultantDTO updateConsultant =
new EasyRandom().nextObject(UpdateAdminConsultantDTO.class);
Expand All @@ -62,12 +65,14 @@ public void updateConsultant_Should_callServicesCorrectly_When_givenConsultantDa
verify(this.keycloakService, Mockito.never())
.updateRole(consultant.getId(), UserRole.GROUP_CHAT_CONSULTANT.getValue());

ArgumentCaptor<UserDTO> userDTOArgumentCaptor = ArgumentCaptor.forClass(UserDTO.class);
verify(this.keycloakService, times(1))
.updateUserData(
eq(consultant.getId()),
any(UserDTO.class),
userDTOArgumentCaptor.capture(),
eq(updateConsultant.getFirstname()),
eq(updateConsultant.getLastname()));
assertThat(userDTOArgumentCaptor.getValue().getTenantId()).isEqualTo(consultant.getTenantId());
verify(this.consultantService, times(1)).saveConsultant(any());
verify(this.appointmentService, times(1)).syncConsultantData(any());
}
Expand Down

0 comments on commit f56beb1

Please sign in to comment.