diff --git a/tcs-service/pom.xml b/tcs-service/pom.xml index bd829cf9d..b6a1bc23e 100644 --- a/tcs-service/pom.xml +++ b/tcs-service/pom.xml @@ -12,7 +12,7 @@ com.transformuk.hee.tis tcs-service - 6.36.0 + 6.36.1 diff --git a/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/event/ConditionsOfJoiningSignedEvent.java b/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/event/ConditionsOfJoiningSignedEvent.java index 542d2d5e0..99a617631 100644 --- a/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/event/ConditionsOfJoiningSignedEvent.java +++ b/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/event/ConditionsOfJoiningSignedEvent.java @@ -9,16 +9,16 @@ public class ConditionsOfJoiningSignedEvent { @JsonProperty("programmeMembershipTisId") - private final Object id; //this may be a long or a UUID + private final String id; private final ConditionsOfJoiningDto conditionsOfJoining; - public ConditionsOfJoiningSignedEvent(Object id, + public ConditionsOfJoiningSignedEvent(String id, ConditionsOfJoiningDto conditionsOfJoining) { this.id = id; this.conditionsOfJoining = conditionsOfJoining; } - public Object getId() { + public String getId() { return id; } diff --git a/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/service/ConditionsOfJoiningService.java b/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/service/ConditionsOfJoiningService.java index 08301a117..d4fb07b49 100644 --- a/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/service/ConditionsOfJoiningService.java +++ b/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/service/ConditionsOfJoiningService.java @@ -8,11 +8,11 @@ public interface ConditionsOfJoiningService { /** - * Save a Conditions of Joining from its DTO and related programme membership ID/UUID. + * Save a Conditions of Joining from its DTO and related programme membership UUID. * - * @param id the programme membership ID or UUID + * @param id the programme membership UUID as a string * @param dto the Conditions Of Joining DTO * @return the saved Conditions of Joining DTO */ - ConditionsOfJoiningDto save(Object id, ConditionsOfJoiningDto dto); + ConditionsOfJoiningDto save(String id, ConditionsOfJoiningDto dto); } diff --git a/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/service/impl/ConditionsOfJoiningServiceImpl.java b/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/service/impl/ConditionsOfJoiningServiceImpl.java index 06b9bfa13..e0d0035c0 100644 --- a/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/service/impl/ConditionsOfJoiningServiceImpl.java +++ b/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/service/impl/ConditionsOfJoiningServiceImpl.java @@ -43,14 +43,10 @@ public ConditionsOfJoiningServiceImpl(ConditionsOfJoiningRepository repository, } @Override - public ConditionsOfJoiningDto save(Object id, ConditionsOfJoiningDto dto) { + public ConditionsOfJoiningDto save(String id, ConditionsOfJoiningDto dto) { ProgrammeMembershipDTO programmeMembership; - LOG.info("Request received to save Conditions of Joining for id {}.", id); - try { - programmeMembership = programmeMembershipService.findOne(Long.parseLong(id.toString())); - } catch (NumberFormatException e) { - programmeMembership = programmeMembershipService.findOne(UUID.fromString(id.toString())); - } + LOG.info("Request received to save Conditions of Joining for UUID {}.", id); + programmeMembership = programmeMembershipService.findOne(UUID.fromString(id)); if (programmeMembership == null) { throw new IllegalArgumentException( diff --git a/tcs-service/src/test/java/com/transformuk/hee/tis/tcs/service/message/TraineeMessageListenerTest.java b/tcs-service/src/test/java/com/transformuk/hee/tis/tcs/service/message/TraineeMessageListenerTest.java index d4e854ec6..b4ed7182b 100644 --- a/tcs-service/src/test/java/com/transformuk/hee/tis/tcs/service/message/TraineeMessageListenerTest.java +++ b/tcs-service/src/test/java/com/transformuk/hee/tis/tcs/service/message/TraineeMessageListenerTest.java @@ -17,8 +17,7 @@ class TraineeMessageListenerTest { - private static final Long CURRICULUM_MEMBERSHIP_ID = 40L; - private static final UUID PROGRAMME_MEMBERSHIP_ID = UUID.randomUUID(); + private static final String PROGRAMME_MEMBERSHIP_ID = UUID.randomUUID().toString(); private static final Instant SIGNED_AT = Instant.now(); private TraineeMessageListener listener; @@ -34,16 +33,6 @@ void setUp() { dto.setVersion(GoldGuideVersion.GG9); } - @Test - void shouldSaveSignedCojWhenEventValidWithCmId() { - ConditionsOfJoiningSignedEvent event = new ConditionsOfJoiningSignedEvent( - CURRICULUM_MEMBERSHIP_ID, dto); - - listener.receiveMessage(event); - - verify(service).save(CURRICULUM_MEMBERSHIP_ID, dto); - } - @Test void shouldSaveSignedCojWhenEventValidWithPmId() { ConditionsOfJoiningSignedEvent event = new ConditionsOfJoiningSignedEvent( @@ -57,9 +46,9 @@ void shouldSaveSignedCojWhenEventValidWithPmId() { @Test void shouldNotRequeueMessageWhenEventArgumentsInvalid() { ConditionsOfJoiningSignedEvent event = new ConditionsOfJoiningSignedEvent( - CURRICULUM_MEMBERSHIP_ID, dto); + PROGRAMME_MEMBERSHIP_ID, dto); - when(service.save(CURRICULUM_MEMBERSHIP_ID, dto)).thenThrow(IllegalArgumentException.class); + when(service.save(PROGRAMME_MEMBERSHIP_ID, dto)).thenThrow(IllegalArgumentException.class); assertThrows(AmqpRejectAndDontRequeueException.class, () -> listener.receiveMessage(event)); } diff --git a/tcs-service/src/test/java/com/transformuk/hee/tis/tcs/service/service/impl/ConditionsOfJoiningServiceImplTest.java b/tcs-service/src/test/java/com/transformuk/hee/tis/tcs/service/service/impl/ConditionsOfJoiningServiceImplTest.java index ba7027f65..6d6ae2df7 100644 --- a/tcs-service/src/test/java/com/transformuk/hee/tis/tcs/service/service/impl/ConditionsOfJoiningServiceImplTest.java +++ b/tcs-service/src/test/java/com/transformuk/hee/tis/tcs/service/service/impl/ConditionsOfJoiningServiceImplTest.java @@ -24,7 +24,6 @@ class ConditionsOfJoiningServiceImplTest { - private static final Long CURRICULUM_MEMBERSHIP_ID = 40L; private static final UUID PROGRAMME_MEMBERSHIP_UUID = UUID.randomUUID(); private static final Instant SIGNED_AT = Instant.now(); @@ -46,51 +45,15 @@ void setUp() { coj.setVersion(GoldGuideVersion.GG9); } - @Test - void saveShouldThrowExceptionWhenCurriculumMembershipIdNotFound() { - when(programmeMembershipService.findOne(CURRICULUM_MEMBERSHIP_ID)).thenReturn(null); - - assertThrows(IllegalArgumentException.class, - () -> conditionsOfJoiningService.save(CURRICULUM_MEMBERSHIP_ID, coj)); - verify(repository, never()).save(any()); - } - @Test void saveShouldThrowExceptionWhenProgrammeMembershipIdNotFound() { when(programmeMembershipService.findOne(PROGRAMME_MEMBERSHIP_UUID)).thenReturn(null); assertThrows(IllegalArgumentException.class, - () -> conditionsOfJoiningService.save(PROGRAMME_MEMBERSHIP_UUID, coj)); - verify(repository, never()).save(any()); - } - - @Test - void saveShouldThrowExceptionWhenInvalidIdProvided() { - assertThrows(IllegalArgumentException.class, - () -> conditionsOfJoiningService.save("not a long or a uuid", coj)); + () -> conditionsOfJoiningService.save(PROGRAMME_MEMBERSHIP_UUID.toString(), coj)); verify(repository, never()).save(any()); } - @Test - void saveShouldSaveTheConditionsOfJoiningAgainstTheProgrammeMembershipFromCmId() { - ProgrammeMembershipDTO programmeMembershipDto = new ProgrammeMembershipDTO(); - programmeMembershipDto.setUuid(PROGRAMME_MEMBERSHIP_UUID); - - when(programmeMembershipService.findOne(CURRICULUM_MEMBERSHIP_ID)).thenReturn( - programmeMembershipDto); - when(repository.save(any())).thenAnswer(invocation -> invocation.getArguments()[0]); - - ConditionsOfJoiningDto savedCoj = conditionsOfJoiningService.save(CURRICULUM_MEMBERSHIP_ID, - coj); - - assertThat("Unexpected programme membership uuid.", savedCoj.getProgrammeMembershipUuid(), - is(PROGRAMME_MEMBERSHIP_UUID)); - assertThat("Unexpected programme membership signed at.", savedCoj.getSignedAt(), - is(SIGNED_AT)); - assertThat("Unexpected programme membership version.", savedCoj.getVersion(), - is(GoldGuideVersion.GG9)); - } - @Test void saveShouldSaveTheConditionsOfJoiningAgainstTheProgrammeMembershipFromPmId() { ProgrammeMembershipDTO programmeMembershipDto = new ProgrammeMembershipDTO(); @@ -100,8 +63,8 @@ void saveShouldSaveTheConditionsOfJoiningAgainstTheProgrammeMembershipFromPmId() programmeMembershipDto); when(repository.save(any())).thenAnswer(invocation -> invocation.getArguments()[0]); - ConditionsOfJoiningDto savedCoj = conditionsOfJoiningService.save(PROGRAMME_MEMBERSHIP_UUID, - coj); + ConditionsOfJoiningDto savedCoj + = conditionsOfJoiningService.save(PROGRAMME_MEMBERSHIP_UUID.toString(), coj); assertThat("Unexpected programme membership uuid.", savedCoj.getProgrammeMembershipUuid(), is(PROGRAMME_MEMBERSHIP_UUID)); @@ -110,22 +73,4 @@ void saveShouldSaveTheConditionsOfJoiningAgainstTheProgrammeMembershipFromPmId() assertThat("Unexpected programme membership version.", savedCoj.getVersion(), is(GoldGuideVersion.GG9)); } - - @Test - void saveShouldReplaceAnyProvidedProgrammeMembershipUuid() { - coj.setProgrammeMembershipUuid(UUID.randomUUID()); - - ProgrammeMembershipDTO programmeMembershipDto = new ProgrammeMembershipDTO(); - programmeMembershipDto.setUuid(PROGRAMME_MEMBERSHIP_UUID); - - when(programmeMembershipService.findOne(CURRICULUM_MEMBERSHIP_ID)).thenReturn( - programmeMembershipDto); - when(repository.save(any())).thenAnswer(invocation -> invocation.getArguments()[0]); - - ConditionsOfJoiningDto savedCoj = conditionsOfJoiningService.save(CURRICULUM_MEMBERSHIP_ID, - coj); - - assertThat("Unexpected programme membership uuid.", savedCoj.getProgrammeMembershipUuid(), - is(PROGRAMME_MEMBERSHIP_UUID)); - } }