From 6f7a3e562e7494f59c7702539f71fec211835cf3 Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 14:27:03 +0300 Subject: [PATCH 01/11] AYS-427 | `AdminRegistrationApplicationNotExistException` Has Been Created --- ...istrationApplicationNotExistException.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/org/ays/auth/util/exception/AdminRegistrationApplicationNotExistException.java diff --git a/src/main/java/org/ays/auth/util/exception/AdminRegistrationApplicationNotExistException.java b/src/main/java/org/ays/auth/util/exception/AdminRegistrationApplicationNotExistException.java new file mode 100644 index 000000000..e272bf057 --- /dev/null +++ b/src/main/java/org/ays/auth/util/exception/AdminRegistrationApplicationNotExistException.java @@ -0,0 +1,30 @@ +package org.ays.auth.util.exception; + +import org.ays.common.util.exception.AysAuthException; + +import java.io.Serial; + +/** + * Exception indicating that an admin registration application does not exist with the specified ID. + * It extends {@link AysAuthException}, which provides the base exception for all authentication-related issues in the application. + * Typically, this exception is thrown when an operation or query is performed on an admin register application + * entity using an ID that does not correspond to an existing admin register application. + */ +public final class AdminRegistrationApplicationNotExistException extends AysAuthException { + + /** + * Unique identifier for serialization. + */ + @Serial + private static final long serialVersionUID = 8875043711494901525L; + + /** + * Constructs a new {@link AdminRegistrationApplicationNotExistException} with the specified ID. + * + * @param id The ID of the admin registration application that does not exist. + */ + public AdminRegistrationApplicationNotExistException(String id) { + super("admin registration application does not exist! id:" + id); + } + +} From 1510e75ab3d2336457fe0548aa838fde15738f10 Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 14:28:09 +0300 Subject: [PATCH 02/11] AYS-427 | `AdminRegistrationApplicationNotExistException` Has Been Integrated to Summary and Complete Admin Registration Flows --- .../impl/AdminRegistrationApplicationServiceImpl.java | 3 ++- .../impl/AdminRegistrationCompleteServiceImpl.java | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImpl.java b/src/main/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImpl.java index d15cbab5c..8f8cefc7b 100644 --- a/src/main/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImpl.java +++ b/src/main/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImpl.java @@ -12,6 +12,7 @@ import org.ays.auth.port.AdminRegistrationApplicationSavePort; import org.ays.auth.port.AysUserSavePort; import org.ays.auth.service.AdminRegistrationApplicationService; +import org.ays.auth.util.exception.AdminRegistrationApplicationNotExistException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationAlreadyApprovedException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationAlreadyRejectedException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationInCompleteException; @@ -82,7 +83,7 @@ public AdminRegistrationApplication findSummaryById(String id) { return adminRegistrationApplicationReadPort.findById(id) .filter(AdminRegistrationApplication::isWaiting) - .orElseThrow(() -> new AysAdminRegistrationApplicationNotExistByIdException(id)); + .orElseThrow(() -> new AdminRegistrationApplicationNotExistException(id)); } /** diff --git a/src/main/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImpl.java b/src/main/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImpl.java index b4c39b4a7..7f9b77cb5 100644 --- a/src/main/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImpl.java +++ b/src/main/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImpl.java @@ -18,7 +18,7 @@ import org.ays.auth.port.AysUserReadPort; import org.ays.auth.port.AysUserSavePort; import org.ays.auth.service.AdminRegistrationCompleteService; -import org.ays.auth.util.exception.AysAdminRegistrationApplicationNotExistByIdException; +import org.ays.auth.util.exception.AdminRegistrationApplicationNotExistException; import org.ays.auth.util.exception.AysUserAlreadyExistsByEmailAddressException; import org.ays.auth.util.exception.AysUserAlreadyExistsByPhoneNumberException; import org.ays.institution.model.Institution; @@ -58,9 +58,9 @@ class AdminRegistrationCompleteServiceImpl implements AdminRegistrationCompleteS * @param id The unique identifier of the admin registration application. * @param completeRequest The request containing necessary information to complete the registration. * This includes user details such as email, phone number, and password. - * @throws AysAdminRegistrationApplicationNotExistByIdException if the registration application does not exist or is not in a waiting state. - * @throws AysUserAlreadyExistsByEmailAddressException if a user with the given email already exists. - * @throws AysUserAlreadyExistsByPhoneNumberException if a user with the given phone number already exists. + * @throws AdminRegistrationApplicationNotExistException if the registration application does not exist or is not in a waiting state. + * @throws AysUserAlreadyExistsByEmailAddressException if a user with the given email already exists. + * @throws AysUserAlreadyExistsByPhoneNumberException if a user with the given phone number already exists. */ @Override public void complete(final String id, final AdminRegistrationApplicationCompleteRequest completeRequest) { @@ -69,7 +69,7 @@ public void complete(final String id, final AdminRegistrationApplicationComplete final AdminRegistrationApplication application = adminRegistrationApplicationReadPort .findById(id) .filter(AdminRegistrationApplication::isWaiting) - .orElseThrow(() -> new AysAdminRegistrationApplicationNotExistByIdException(id)); + .orElseThrow(() -> new AdminRegistrationApplicationNotExistException(id)); final AysUser user = adminRegistrationApplicationCompleteRequestToUserMapper.map(completeRequest); From 49ee3c4c174ddf33dac51d1adc998bdf3532828d Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 14:49:32 +0300 Subject: [PATCH 03/11] AYS-427 | Unit Tests of Summary and Complete Admin Registration Flows Have Been Fixed --- .../AdminRegistrationApplicationServiceImplTest.java | 5 +++-- .../impl/AdminRegistrationCompleteServiceImplTest.java | 10 +++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java b/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java index 4d8e5fa00..97ea8a1a1 100644 --- a/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java +++ b/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java @@ -17,6 +17,7 @@ import org.ays.auth.port.AdminRegistrationApplicationReadPort; import org.ays.auth.port.AdminRegistrationApplicationSavePort; import org.ays.auth.port.AysUserSavePort; +import org.ays.auth.util.exception.AdminRegistrationApplicationNotExistException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationAlreadyApprovedException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationAlreadyRejectedException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationInCompleteException; @@ -202,7 +203,7 @@ void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationFo } @Test - void givenValidAdminUserRegisterApplicationId_whenThereIsNoAdminUserRegisterApplicationWithWaitingStatus_thenThrowAysAdminUserRegisterApplicationSummaryNotExistByIdException() { + void givenValidAdminUserRegisterApplicationId_whenThereIsNoAdminUserRegisterApplicationWithWaitingStatus_thenThrowAdminRegistrationApplicationNotExistException() { // Given String mockId = AysRandomUtil.generateUUID(); @@ -213,7 +214,7 @@ void givenValidAdminUserRegisterApplicationId_whenThereIsNoAdminUserRegisterAppl // Then Assertions.assertThrows( - AysAdminRegistrationApplicationNotExistByIdException.class, + AdminRegistrationApplicationNotExistException.class, () -> adminUserRegisterApplicationService.findSummaryById(mockId) ); diff --git a/src/test/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImplTest.java b/src/test/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImplTest.java index 923ef770f..b249b17ff 100644 --- a/src/test/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImplTest.java +++ b/src/test/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImplTest.java @@ -19,7 +19,7 @@ import org.ays.auth.port.AysRoleSavePort; import org.ays.auth.port.AysUserReadPort; import org.ays.auth.port.AysUserSavePort; -import org.ays.auth.util.exception.AysAdminRegistrationApplicationNotExistByIdException; +import org.ays.auth.util.exception.AdminRegistrationApplicationNotExistException; import org.ays.auth.util.exception.AysUserAlreadyExistsByEmailAddressException; import org.ays.auth.util.exception.AysUserAlreadyExistsByPhoneNumberException; import org.ays.common.model.AysPhoneNumber; @@ -249,7 +249,7 @@ void givenValidAdminRegisterApplicationCompleteRequest_whenAdminRegistered_thenD } @Test - void givenInvalidApplicationId_whenApplicationNotFound_thenThrowAysAdminRegistrationApplicationNotExistByIdException() { + void givenInvalidApplicationId_whenApplicationNotFound_thenThrowAdminRegistrationApplicationNotExistException() { // Given String mockApplicationId = "Invalid"; @@ -262,7 +262,7 @@ void givenInvalidApplicationId_whenApplicationNotFound_thenThrowAysAdminRegistra // Then Assertions.assertThrows( - AysAdminRegistrationApplicationNotExistByIdException.class, + AdminRegistrationApplicationNotExistException.class, () -> adminUserRegisterService.complete(mockApplicationId, mockCompleteRequest) ); @@ -296,7 +296,7 @@ void givenInvalidApplicationId_whenApplicationNotFound_thenThrowAysAdminRegistra } @Test - void givenUsedApplicationId_whenApplicationStatusIsNotWaiting_thenThrowAysAdminRegistrationApplicationNotExistByIdException() { + void givenUsedApplicationId_whenApplicationStatusIsNotWaiting_thenThrowAdminRegistrationApplicationNotExistException() { // Given String mockApplicationId = AysRandomUtil.generateUUID(); @@ -314,7 +314,7 @@ void givenUsedApplicationId_whenApplicationStatusIsNotWaiting_thenThrowAysAdminR // Then Assertions.assertThrows( - AysAdminRegistrationApplicationNotExistByIdException.class, + AdminRegistrationApplicationNotExistException.class, () -> adminUserRegisterService.complete(mockApplicationId, mockCompleteRequest) ); From 5c6ef6942703094aafa68971e24d0383af8ef08e Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 14:50:53 +0300 Subject: [PATCH 04/11] AYS-427 | `UNAUTHORIZED` Has Been Added to `AysErrorResponseBuilder` --- .../exception/model/response/AysErrorResponseBuilder.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/test/java/org/ays/common/util/exception/model/response/AysErrorResponseBuilder.java b/src/test/java/org/ays/common/util/exception/model/response/AysErrorResponseBuilder.java index 62e914dad..adac0779f 100644 --- a/src/test/java/org/ays/common/util/exception/model/response/AysErrorResponseBuilder.java +++ b/src/test/java/org/ays/common/util/exception/model/response/AysErrorResponseBuilder.java @@ -8,6 +8,10 @@ public class AysErrorResponseBuilder { .header(AysErrorResponse.Header.VALIDATION_ERROR.getName()) .isSuccess(false).build(); + public static final AysErrorResponse UNAUTHORIZED = AysErrorResponse.builder() + .header(AysErrorResponse.Header.AUTH_ERROR.getName()) + .isSuccess(false).build(); + public static final AysErrorResponse FORBIDDEN = AysErrorResponse.builder() .header(AysErrorResponse.Header.AUTH_ERROR.getName()) .isSuccess(false).build(); From 8ef99680833ab40cea508f6c4bc5ef048c80c4a2 Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 14:51:16 +0300 Subject: [PATCH 05/11] AYS-427 | `AysUUID` Has Been Deleted Because It's Unused --- .../java/org/ays/common/util/AysUUID.java | 26 ------------------- 1 file changed, 26 deletions(-) delete mode 100644 src/main/java/org/ays/common/util/AysUUID.java diff --git a/src/main/java/org/ays/common/util/AysUUID.java b/src/main/java/org/ays/common/util/AysUUID.java deleted file mode 100644 index e50762443..000000000 --- a/src/main/java/org/ays/common/util/AysUUID.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.ays.common.util; - -import lombok.experimental.UtilityClass; - -import java.util.UUID; - -@UtilityClass -public class AysUUID { - - /** - * Checks if the given string is a valid UUID (Universally Unique Identifier). - * The method attempts to create a UUID object from the given string and returns true if successful, false otherwise. - * - * @param value the string to check - * @return true if the string is a valid UUID, false otherwise - */ - public static boolean isValid(String value) { - try { - UUID.fromString(value); - return true; - } catch (IllegalArgumentException e) { - return false; - } - } - -} From 53957015009284f8a13128be16436d2ce689e105 Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 14:52:01 +0300 Subject: [PATCH 06/11] AYS-427 | New Controller Tests of Summary and Complete Admin Registration Flows Have Been Created for Unauthorized Error --- ...RegistrationApplicationControllerTest.java | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/src/test/java/org/ays/auth/controller/AdminRegistrationApplicationControllerTest.java b/src/test/java/org/ays/auth/controller/AdminRegistrationApplicationControllerTest.java index 5d9978a08..cc0c35c19 100644 --- a/src/test/java/org/ays/auth/controller/AdminRegistrationApplicationControllerTest.java +++ b/src/test/java/org/ays/auth/controller/AdminRegistrationApplicationControllerTest.java @@ -22,6 +22,7 @@ import org.ays.auth.model.response.AdminRegistrationApplicationsResponse; import org.ays.auth.service.AdminRegistrationApplicationService; import org.ays.auth.service.AdminRegistrationCompleteService; +import org.ays.auth.util.exception.AdminRegistrationApplicationNotExistException; import org.ays.common.model.AysPage; import org.ays.common.model.AysPageBuilder; import org.ays.common.model.request.AysPhoneNumberRequest; @@ -304,6 +305,7 @@ void givenValidAdminRegisterApplicationCreateRequest_whenUnauthorizedForCreating .create(Mockito.any(AdminRegistrationApplicationCreateRequest.class)); } + @Test void givenValidAdminRegisterApplicationId_whenAdminApplicationFound_thenReturnAdminApplicationSummaryResponse() throws Exception { @@ -334,6 +336,31 @@ void givenValidAdminRegisterApplicationId_whenAdminApplicationFound_thenReturnAd .isNotEmpty()); } + @Test + void givenIdAndAdminRegisterApplication_whenAdminApplicationNotFound_thenReturnUnauthorizedError() throws Exception { + + // Given + String mockId = "181e8310-6dfd-444c-aa38-056ce8401345"; + + // When + Mockito.when(adminRegistrationApplicationService.findSummaryById(mockId)) + .thenThrow(new AdminRegistrationApplicationNotExistException(mockId)); + + // Then + String endpoint = BASE_PATH.concat("/admin-registration-application/".concat(mockId).concat("/summary")); + MockHttpServletRequestBuilder mockHttpServletRequestBuilder = AysMockMvcRequestBuilders + .get(endpoint); + + AysErrorResponse mockErrorResponse = AysErrorResponseBuilder.UNAUTHORIZED; + + aysMockMvc.perform(mockHttpServletRequestBuilder, mockErrorResponse) + .andExpect(AysMockResultMatchersBuilders.status() + .isUnauthorized()) + .andExpect(AysMockResultMatchersBuilders.subErrors() + .doesNotHaveJsonPath()); + } + + @Test void givenValidAdminRegisterRequest_whenAdminRegistered_thenReturnSuccessResponse() throws Exception { @@ -363,6 +390,38 @@ void givenValidAdminRegisterRequest_whenAdminRegistered_thenReturnSuccessRespons .complete(Mockito.anyString(), Mockito.any()); } + + @Test + void givenIdAndAdminRegisterRequest_whenAdminApplicationNotFound_thenReturnUnauthorizedError() throws Exception { + + // Given + String mockId = "181e8310-6dfd-444c-aa38-056ce8401345"; + AdminRegistrationApplicationCompleteRequest mockRequest = new AdminRegistrationApplicationCompleteRequestBuilder() + .withValidValues().build(); + + // When + Mockito.doThrow(new AdminRegistrationApplicationNotExistException(mockId)) + .when(adminRegistrationCompleteService) + .complete(Mockito.anyString(), Mockito.any()); + + // Then + String endpoint = BASE_PATH.concat("/admin-registration-application/").concat(mockId).concat("/complete"); + MockHttpServletRequestBuilder mockHttpServletRequestBuilder = AysMockMvcRequestBuilders + .post(endpoint, mockRequest); + + AysErrorResponse mockErrorResponse = AysErrorResponseBuilder.UNAUTHORIZED; + + aysMockMvc.perform(mockHttpServletRequestBuilder, mockErrorResponse) + .andExpect(AysMockResultMatchersBuilders.status() + .isUnauthorized()) + .andExpect(AysMockResultMatchersBuilders.subErrors() + .doesNotHaveJsonPath()); + + // Verify + Mockito.verify(adminRegistrationCompleteService, Mockito.times(1)) + .complete(Mockito.anyString(), Mockito.any()); + } + @Test void givenPhoneNumberWithAlphanumericCharacter_whenPhoneNumberIsNotValid_thenReturnValidationError() throws Exception { From 856a1923358421e85573b51a5f7b6dd35d75f963 Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 14:52:29 +0300 Subject: [PATCH 07/11] AYS-427 | `AysMockMvc.perform()` Method Has Been Improved for Error Cases --- src/test/java/org/ays/AysMockMvc.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/ays/AysMockMvc.java b/src/test/java/org/ays/AysMockMvc.java index 9aac4f1ae..6c4d5a3e3 100644 --- a/src/test/java/org/ays/AysMockMvc.java +++ b/src/test/java/org/ays/AysMockMvc.java @@ -43,7 +43,7 @@ public ResultActions perform(final MockHttpServletRequestBuilder mockHttpServlet .andExpect(AysMockResultMatchersBuilders.header() .value(mockErrorResponse.getHeader())) .andExpect(AysMockResultMatchersBuilders.response() - .doesNotExist()); + .doesNotHaveJsonPath()); } } From 4b5a683bcd04757d87d620e93c6b5dcc0079e6ac Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 15:01:30 +0300 Subject: [PATCH 08/11] AYS-427 | Finding `application` Codes Have Been Moved to Closer in Admin Registration Complete Service and Unit Tests Have Been Refactored --- .../AdminRegistrationCompleteServiceImpl.java | 12 +- ...inRegistrationCompleteServiceImplTest.java | 129 ++++++++++-------- 2 files changed, 75 insertions(+), 66 deletions(-) diff --git a/src/main/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImpl.java b/src/main/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImpl.java index 7f9b77cb5..282f0bc4e 100644 --- a/src/main/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImpl.java +++ b/src/main/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImpl.java @@ -64,13 +64,8 @@ class AdminRegistrationCompleteServiceImpl implements AdminRegistrationCompleteS */ @Override public void complete(final String id, final AdminRegistrationApplicationCompleteRequest completeRequest) { - log.trace("Admin Register Flow call starting for email of {}", completeRequest.getEmailAddress()); - - final AdminRegistrationApplication application = adminRegistrationApplicationReadPort - .findById(id) - .filter(AdminRegistrationApplication::isWaiting) - .orElseThrow(() -> new AdminRegistrationApplicationNotExistException(id)); + log.trace("Admin Register Flow call starting for email of {}", completeRequest.getEmailAddress()); final AysUser user = adminRegistrationApplicationCompleteRequestToUserMapper.map(completeRequest); @@ -85,6 +80,11 @@ public void complete(final String id, final AdminRegistrationApplicationComplete log.trace("Admin Registration Request checked successfully!"); + final AdminRegistrationApplication application = adminRegistrationApplicationReadPort + .findById(id) + .filter(AdminRegistrationApplication::isWaiting) + .orElseThrow(() -> new AdminRegistrationApplicationNotExistException(id)); + user.setInstitution(application.getInstitution()); user.notVerify(); diff --git a/src/test/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImplTest.java b/src/test/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImplTest.java index b249b17ff..72d4d6770 100644 --- a/src/test/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImplTest.java +++ b/src/test/java/org/ays/auth/service/impl/AdminRegistrationCompleteServiceImplTest.java @@ -25,7 +25,6 @@ import org.ays.common.model.AysPhoneNumber; import org.ays.common.model.request.AysPhoneNumberRequest; import org.ays.common.model.request.AysPhoneNumberRequestBuilder; -import org.ays.common.util.AysRandomUtil; import org.ays.util.AysValidTestData; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -73,21 +72,13 @@ class AdminRegistrationCompleteServiceImplTest extends AysUnitTest { void givenValidAdminRegisterApplicationCompleteRequest_whenFirstAdminRegistered_thenDoNothing() { // Given - String mockApplicationId = AysRandomUtil.generateUUID(); + String mockApplicationId = "407d252c-7fe6-4425-9be7-08d586df6e67"; AdminRegistrationApplicationCompleteRequest mockCompleteRequest = new AdminRegistrationApplicationCompleteRequestBuilder() .withValidValues() .build(); AysPhoneNumberRequest mockPhoneNumberRequest = mockCompleteRequest.getPhoneNumber(); // When - AdminRegistrationApplication mockApplication = new AdminRegistrationApplicationBuilder() - .withValidValues() - .withStatus(AdminRegistrationApplicationStatus.WAITING) - .withoutUser() - .build(); - Mockito.when(adminRegistrationApplicationReadPort.findById(Mockito.anyString())) - .thenReturn(Optional.of(mockApplication)); - Mockito.when(userReadPort.existsByEmailAddress((Mockito.anyString()))) .thenReturn(false); @@ -98,6 +89,14 @@ void givenValidAdminRegisterApplicationCompleteRequest_whenFirstAdminRegistered_ Mockito.when(userReadPort.existsByPhoneNumber(mockPhoneNumber)) .thenReturn(false); + AdminRegistrationApplication mockApplication = new AdminRegistrationApplicationBuilder() + .withValidValues() + .withStatus(AdminRegistrationApplicationStatus.WAITING) + .withoutUser() + .build(); + Mockito.when(adminRegistrationApplicationReadPort.findById(Mockito.anyString())) + .thenReturn(Optional.of(mockApplication)); + Mockito.when(roleReadPort.findAllActivesByInstitutionId(Mockito.anyString())) .thenReturn(List.of()); @@ -135,15 +134,15 @@ void givenValidAdminRegisterApplicationCompleteRequest_whenFirstAdminRegistered_ adminUserRegisterService.complete(mockApplicationId, mockCompleteRequest); // Verify - Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) - .findById(Mockito.anyString()); - Mockito.verify(userReadPort, Mockito.times(1)) .existsByEmailAddress(Mockito.anyString()); Mockito.verify(userReadPort, Mockito.times(1)) .existsByPhoneNumber(Mockito.any(AysPhoneNumber.class)); + Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) + .findById(Mockito.anyString()); + Mockito.verify(roleReadPort, Mockito.times(1)) .findAllActivesByInstitutionId(Mockito.anyString()); @@ -167,21 +166,13 @@ void givenValidAdminRegisterApplicationCompleteRequest_whenFirstAdminRegistered_ void givenValidAdminRegisterApplicationCompleteRequest_whenAdminRegistered_thenDoNothing() { // Given - String mockApplicationId = AysRandomUtil.generateUUID(); + String mockApplicationId = "06293821-15e8-4edc-b8f9-2c33eaec7fc3"; AdminRegistrationApplicationCompleteRequest mockCompleteRequest = new AdminRegistrationApplicationCompleteRequestBuilder() .withValidValues() .build(); AysPhoneNumberRequest mockPhoneNumberRequest = mockCompleteRequest.getPhoneNumber(); // When - AdminRegistrationApplication mockWaitingApplication = new AdminRegistrationApplicationBuilder() - .withValidValues() - .withId(mockApplicationId) - .withoutUser() - .build(); - Mockito.when(adminRegistrationApplicationReadPort.findById(Mockito.anyString())) - .thenReturn(Optional.of(mockWaitingApplication)); - Mockito.when(userReadPort.existsByEmailAddress((Mockito.anyString()))) .thenReturn(false); @@ -192,6 +183,14 @@ void givenValidAdminRegisterApplicationCompleteRequest_whenAdminRegistered_thenD Mockito.when(userReadPort.existsByPhoneNumber(mockPhoneNumber)) .thenReturn(false); + AdminRegistrationApplication mockWaitingApplication = new AdminRegistrationApplicationBuilder() + .withValidValues() + .withId(mockApplicationId) + .withoutUser() + .build(); + Mockito.when(adminRegistrationApplicationReadPort.findById(Mockito.anyString())) + .thenReturn(Optional.of(mockWaitingApplication)); + AysRole mockRole = new AysRoleBuilder() .withValidValues() .build(); @@ -220,15 +219,15 @@ void givenValidAdminRegisterApplicationCompleteRequest_whenAdminRegistered_thenD adminUserRegisterService.complete(mockApplicationId, mockCompleteRequest); // Verify - Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) - .findById(Mockito.anyString()); - Mockito.verify(userReadPort, Mockito.times(1)) .existsByEmailAddress(Mockito.anyString()); Mockito.verify(userReadPort, Mockito.times(1)) .existsByPhoneNumber(Mockito.any(AysPhoneNumber.class)); + Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) + .findById(Mockito.anyString()); + Mockito.verify(roleReadPort, Mockito.times(1)) .findAllActivesByInstitutionId(Mockito.anyString()); @@ -249,14 +248,26 @@ void givenValidAdminRegisterApplicationCompleteRequest_whenAdminRegistered_thenD } @Test - void givenInvalidApplicationId_whenApplicationNotFound_thenThrowAdminRegistrationApplicationNotExistException() { + void givenValidApplicationId_whenApplicationNotFound_thenThrowAdminRegistrationApplicationNotExistException() { // Given - String mockApplicationId = "Invalid"; + String mockApplicationId = "85bb38cc-296d-4a63-a88c-1904c4df43e4"; AdminRegistrationApplicationCompleteRequest mockCompleteRequest = new AdminRegistrationApplicationCompleteRequestBuilder() - .withValidValues().build(); + .withValidValues() + .build(); + AysPhoneNumberRequest mockPhoneNumberRequest = mockCompleteRequest.getPhoneNumber(); // When + Mockito.when(userReadPort.existsByEmailAddress((Mockito.anyString()))) + .thenReturn(false); + + AysPhoneNumber mockPhoneNumber = AysPhoneNumber.builder() + .countryCode(mockPhoneNumberRequest.getCountryCode()) + .lineNumber(mockPhoneNumberRequest.getLineNumber()) + .build(); + Mockito.when(userReadPort.existsByPhoneNumber(mockPhoneNumber)) + .thenReturn(false); + Mockito.when(adminRegistrationApplicationReadPort.findById(Mockito.anyString())) .thenReturn(Optional.empty()); @@ -267,15 +278,15 @@ void givenInvalidApplicationId_whenApplicationNotFound_thenThrowAdminRegistratio ); // Verify - Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) - .findById(Mockito.anyString()); - - Mockito.verify(userReadPort, Mockito.never()) + Mockito.verify(userReadPort, Mockito.times(1)) .existsByEmailAddress(Mockito.anyString()); - Mockito.verify(userReadPort, Mockito.never()) + Mockito.verify(userReadPort, Mockito.times(1)) .existsByPhoneNumber(Mockito.any(AysPhoneNumber.class)); + Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) + .findById(Mockito.anyString()); + Mockito.verify(roleReadPort, Mockito.never()) .findAllActivesByInstitutionId(Mockito.anyString()); @@ -299,12 +310,23 @@ void givenInvalidApplicationId_whenApplicationNotFound_thenThrowAdminRegistratio void givenUsedApplicationId_whenApplicationStatusIsNotWaiting_thenThrowAdminRegistrationApplicationNotExistException() { // Given - String mockApplicationId = AysRandomUtil.generateUUID(); + String mockApplicationId = "1d9c375a-9da0-46b3-a2a8-9dd7f2d8f353"; AdminRegistrationApplicationCompleteRequest mockCompleteRequest = new AdminRegistrationApplicationCompleteRequestBuilder() .withValidValues() .build(); + AysPhoneNumberRequest mockPhoneNumberRequest = mockCompleteRequest.getPhoneNumber(); // When + Mockito.when(userReadPort.existsByEmailAddress((Mockito.anyString()))) + .thenReturn(false); + + AysPhoneNumber mockPhoneNumber = AysPhoneNumber.builder() + .countryCode(mockPhoneNumberRequest.getCountryCode()) + .lineNumber(mockPhoneNumberRequest.getLineNumber()) + .build(); + Mockito.when(userReadPort.existsByPhoneNumber(mockPhoneNumber)) + .thenReturn(false); + AdminRegistrationApplication mockApplication = new AdminRegistrationApplicationBuilder() .withValidValues() .withStatus(AdminRegistrationApplicationStatus.COMPLETED) @@ -319,15 +341,15 @@ void givenUsedApplicationId_whenApplicationStatusIsNotWaiting_thenThrowAdminRegi ); // Verify - Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) - .findById(Mockito.anyString()); - - Mockito.verify(userReadPort, Mockito.never()) + Mockito.verify(userReadPort, Mockito.times(1)) .existsByEmailAddress(Mockito.anyString()); - Mockito.verify(userReadPort, Mockito.never()) + Mockito.verify(userReadPort, Mockito.times(1)) .existsByPhoneNumber(Mockito.any(AysPhoneNumber.class)); + Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) + .findById(Mockito.anyString()); + Mockito.verify(roleReadPort, Mockito.never()) .findAllActivesByInstitutionId(Mockito.anyString()); @@ -351,18 +373,12 @@ void givenUsedApplicationId_whenApplicationStatusIsNotWaiting_thenThrowAdminRegi void givenExistingEmailFromAdminRegisterRequest_whenAdminExist_thenThrowAysUserAlreadyExistsByEmailException() { // Given - String mockApplicationId = AysRandomUtil.generateUUID(); + String mockApplicationId = "09b986c5-28a7-43be-9b48-8d48b5bfce40"; AdminRegistrationApplicationCompleteRequest mockCompleteRequest = new AdminRegistrationApplicationCompleteRequestBuilder() .withValidValues() .build(); // When - AdminRegistrationApplication mockApplication = new AdminRegistrationApplicationBuilder() - .withValidValues() - .build(); - Mockito.when(adminRegistrationApplicationReadPort.findById(Mockito.anyString())) - .thenReturn(Optional.ofNullable(mockApplication)); - Mockito.when(userReadPort.existsByEmailAddress((Mockito.anyString()))) .thenReturn(true); @@ -373,15 +389,15 @@ void givenExistingEmailFromAdminRegisterRequest_whenAdminExist_thenThrowAysUserA ); // Verify - Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) - .findById(Mockito.anyString()); - Mockito.verify(userReadPort, Mockito.times(1)) .existsByEmailAddress(Mockito.anyString()); Mockito.verify(userReadPort, Mockito.never()) .existsByPhoneNumber(Mockito.any(AysPhoneNumber.class)); + Mockito.verify(adminRegistrationApplicationReadPort, Mockito.never()) + .findById(Mockito.anyString()); + Mockito.verify(roleReadPort, Mockito.never()) .findAllActivesByInstitutionId(Mockito.anyString()); @@ -405,7 +421,7 @@ void givenExistingEmailFromAdminRegisterRequest_whenAdminExist_thenThrowAysUserA void givenExistingPhoneNumberFromAdminRegisterRequest_whenAdminExist_thenThrowAysUserAlreadyExistsByPhoneNumberException() { // Given - String applicationId = AysRandomUtil.generateUUID(); + String applicationId = "fe98a7e7-612f-4068-abb1-aaa3cb2fd1e9"; AysPhoneNumberRequest mockPhoneNumberRequest = new AysPhoneNumberRequestBuilder() .withValidValues() @@ -416,14 +432,7 @@ void givenExistingPhoneNumberFromAdminRegisterRequest_whenAdminExist_thenThrowAy .withPhoneNumber(mockPhoneNumberRequest) .build(); - AdminRegistrationApplication mockApplication = new AdminRegistrationApplicationBuilder() - .withValidValues() - .build(); - // When - Mockito.when(adminRegistrationApplicationReadPort.findById(Mockito.anyString())) - .thenReturn(Optional.ofNullable(mockApplication)); - Mockito.when(userReadPort.existsByEmailAddress((Mockito.anyString()))) .thenReturn(false); @@ -437,15 +446,15 @@ void givenExistingPhoneNumberFromAdminRegisterRequest_whenAdminExist_thenThrowAy ); // Verify - Mockito.verify(adminRegistrationApplicationReadPort, Mockito.times(1)) - .findById(Mockito.anyString()); - Mockito.verify(userReadPort, Mockito.times(1)) .existsByEmailAddress(Mockito.anyString()); Mockito.verify(userReadPort, Mockito.times(1)) .existsByPhoneNumber(Mockito.any(AysPhoneNumber.class)); + Mockito.verify(adminRegistrationApplicationReadPort, Mockito.never()) + .findById(Mockito.anyString()); + Mockito.verify(roleReadPort, Mockito.never()) .findAllActivesByInstitutionId(Mockito.anyString()); From f105c5122320b5b4f20dc311d1716d223ba6db7d Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 15:12:49 +0300 Subject: [PATCH 09/11] AYS-427 | Usages of `UUID.randomUUID().toString()` Have Been Changed as Hard Codded UUID in `AdminRegistrationApplicationControllerTest` Class --- ...RegistrationApplicationControllerTest.java | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/test/java/org/ays/auth/controller/AdminRegistrationApplicationControllerTest.java b/src/test/java/org/ays/auth/controller/AdminRegistrationApplicationControllerTest.java index cc0c35c19..c8d304706 100644 --- a/src/test/java/org/ays/auth/controller/AdminRegistrationApplicationControllerTest.java +++ b/src/test/java/org/ays/auth/controller/AdminRegistrationApplicationControllerTest.java @@ -31,7 +31,6 @@ import org.ays.common.model.response.AysPageResponse; import org.ays.common.model.response.AysResponse; import org.ays.common.model.response.AysResponseBuilder; -import org.ays.common.util.AysRandomUtil; import org.ays.common.util.exception.model.response.AysErrorResponseBuilder; import org.ays.institution.model.Institution; import org.ays.institution.model.InstitutionBuilder; @@ -136,7 +135,7 @@ void givenValidAdminRegisterApplicationListRequest_whenUnauthorizedForListing_th void givenValidAdminRegisterApplicationId_whenAdminRegisterApplicationFound_thenReturnAdminRegisterApplicationResponse() throws Exception { // Given - String mockApplicationId = AysRandomUtil.generateUUID(); + String mockApplicationId = "a0c2351d-54ce-4019-8ffe-a2f8a2700824"; // When AdminRegistrationApplication mockRegisterApplication = new AdminRegistrationApplicationBuilder() @@ -171,7 +170,7 @@ void givenValidAdminRegisterApplicationId_whenAdminRegisterApplicationFound_then void givenValidAdminRegisterApplicationId_whenUnauthorizedForGettingAdminRegisterApplicationById_thenReturnAccessDeniedException() throws Exception { // Given - String mockApplicationId = AysRandomUtil.generateUUID(); + String mockApplicationId = "68c867b4-e84a-405c-b1ab-f8dcaa9c41f2"; // Then String endpoint = BASE_PATH.concat("/admin-registration-application/".concat(mockApplicationId)); @@ -310,7 +309,7 @@ void givenValidAdminRegisterApplicationCreateRequest_whenUnauthorizedForCreating void givenValidAdminRegisterApplicationId_whenAdminApplicationFound_thenReturnAdminApplicationSummaryResponse() throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "085fbe72-caa7-439d-8db1-166ed005e120"; AdminRegistrationApplication mockAdminRegistrationApplication = new AdminRegistrationApplicationBuilder() .withId(mockId) .build(); @@ -365,7 +364,7 @@ void givenIdAndAdminRegisterApplication_whenAdminApplicationNotFound_thenReturnU void givenValidAdminRegisterRequest_whenAdminRegistered_thenReturnSuccessResponse() throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "e8de09dc-a44e-40eb-bcc7-cf0141f8733c"; AdminRegistrationApplicationCompleteRequest mockRequest = new AdminRegistrationApplicationCompleteRequestBuilder() .withValidValues().build(); @@ -426,7 +425,7 @@ void givenIdAndAdminRegisterRequest_whenAdminApplicationNotFound_thenReturnUnaut void givenPhoneNumberWithAlphanumericCharacter_whenPhoneNumberIsNotValid_thenReturnValidationError() throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "f1b789d0-6095-4860-85bb-e1a0b20f1d13"; AysPhoneNumberRequest mockPhoneNumber = new AysPhoneNumberRequestBuilder() .withCountryCode("ABC") .withLineNumber("ABC").build(); @@ -456,7 +455,7 @@ void givenPhoneNumberWithAlphanumericCharacter_whenPhoneNumberIsNotValid_thenRet void givenPhoneNumberWithInvalidLength_whenPhoneNumberIsNotValid_thenReturnValidationError() throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "25930d3f-4cea-4147-a21a-0f22c9bf72de"; AysPhoneNumberRequest mockPhoneNumber = new AysPhoneNumberRequestBuilder() .withCountryCode("456786745645") .withLineNumber("6546467456435548676845321346656654").build(); @@ -486,7 +485,7 @@ void givenPhoneNumberWithInvalidLength_whenPhoneNumberIsNotValid_thenReturnValid void givenPhoneNumberWithInvalidOperator_whenPhoneNumberIsNotValid_thenReturnValidationError() throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "2028b456-e06c-4ea1-9017-b45523529576"; final String invalidOperator = "123"; AysPhoneNumberRequest mockPhoneNumber = new AysPhoneNumberRequestBuilder() .withCountryCode("90") @@ -524,7 +523,7 @@ void givenPhoneNumberWithInvalidOperator_whenPhoneNumberIsNotValid_thenReturnVal void givenInvalidAdminRegisterApplicationCompleteRequestWithParametrizedInvalidNames_whenNamesAreNotValid_thenReturnValidationError(String invalidName) throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "f423facc-36fe-4615-a68d-f7f1fe5cd860"; AdminRegistrationApplicationCompleteRequest mockRequest = new AdminRegistrationApplicationCompleteRequestBuilder() .withValidValues() .withFirstName(invalidName) @@ -560,7 +559,7 @@ void givenInvalidAdminRegisterApplicationCompleteRequestWithParametrizedInvalidN void givenInvalidAdminRegisterApplicationCompleteRequestWithParametrizedInvalidEmails_whenEmailsAreNotValid_thenReturnValidationError(String invalidEmail) throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "53617d24-e32c-4249-b9e6-b10e63a439bd"; AdminRegistrationApplicationCompleteRequest mockRequest = new AdminRegistrationApplicationCompleteRequestBuilder() .withValidValues() .withEmailAddress(invalidEmail) @@ -595,7 +594,7 @@ void givenInvalidAdminRegisterApplicationCompleteRequestWithParametrizedInvalidE }) void givenValidAdminRegisterApplicationCompleteRequestWithParametrizedValidEmails_whenEmailsAreValid_thenReturnSuccessResponse(String validEmail) throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "fe3760f1-8b44-4587-99a6-43e426c8c6d1"; AdminRegistrationApplicationCompleteRequest mockRequest = new AdminRegistrationApplicationCompleteRequestBuilder() .withValidValues() .withEmailAddress(validEmail) @@ -630,7 +629,7 @@ void givenValidAdminRegisterApplicationCompleteRequestWithParametrizedValidEmail void givenInvalidAdminRegisterApplicationCompleteRequestWithInvalidPassword_whenPasswordDoesNotValid_thenReturnValidationError(String mockPassword) throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "de2b9621-0bf6-45df-a173-4697797446b7"; AdminRegistrationApplicationCompleteRequest mockRequest = new AdminRegistrationApplicationCompleteRequestBuilder() .withValidValues() .withPassword(mockPassword) @@ -657,7 +656,7 @@ void givenInvalidAdminRegisterApplicationCompleteRequestWithInvalidPassword_when @Test void givenValidAdminRegisterApplicationId_whenApproveAdminRegisterApplication_thenReturnNothing() throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "47d91587-612f-462b-975f-ed227e2ee3a7"; // When Mockito.doNothing() @@ -685,7 +684,7 @@ void givenValidAdminRegisterApplicationId_whenApproveAdminRegisterApplication_th void givenValidAdminRegisterApplicationId_whenUnauthorizedForApprovingAdminRegisterApplication_thenReturnAccessDeniedException() throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "5cbc8774-e2c3-414b-a1d8-26abcf3c9d17"; // Then String endpoint = BASE_PATH.concat("/admin-registration-application/".concat(mockId).concat("/approve")); @@ -709,7 +708,7 @@ void givenValidAdminRegisterApplicationId_whenUnauthorizedForApprovingAdminRegis void givenValidAdminRegisterApplicationRejectRequest_whenRejectingAdminRegisterApplication_thenReturnSuccess() throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "c5c504a6-1223-483b-a8ba-6fb4ea309e00"; AdminRegistrationApplicationRejectRequest mockRequest = new AdminRegistrationApplicationRejectRequestBuilder() .withValidValues() .build(); @@ -740,7 +739,7 @@ void givenValidAdminRegisterApplicationRejectRequest_whenRejectingAdminRegisterA void givenValidAdminRegisterApplicationRejectRequest_whenUnauthorizedForRejectingAdminRegisterApplication_thenReturnAccessDeniedException() throws Exception { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "c27aa25e-7e2f-4bc1-8056-eb9c2948f507"; AdminRegistrationApplicationRejectRequest mockRequest = new AdminRegistrationApplicationRejectRequestBuilder() .withValidValues() .build(); From 20ae879686907e631ccf9722712795b867bdd468 Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 15:18:10 +0300 Subject: [PATCH 10/11] AYS-427 | `AysAdminRegistrationApplicationNotExistByIdException` Class Has Been Renamed as `AdminRegistrationApplicationNotExistByIdException` --- .../impl/AdminRegistrationApplicationServiceImpl.java | 8 ++++---- ...nRegistrationApplicationNotExistByIdException.java} | 6 +++--- .../AdminRegistrationApplicationServiceImplTest.java | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) rename src/main/java/org/ays/auth/util/exception/{AysAdminRegistrationApplicationNotExistByIdException.java => AdminRegistrationApplicationNotExistByIdException.java} (75%) diff --git a/src/main/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImpl.java b/src/main/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImpl.java index 8f8cefc7b..44b6a470b 100644 --- a/src/main/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImpl.java +++ b/src/main/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImpl.java @@ -12,11 +12,11 @@ import org.ays.auth.port.AdminRegistrationApplicationSavePort; import org.ays.auth.port.AysUserSavePort; import org.ays.auth.service.AdminRegistrationApplicationService; +import org.ays.auth.util.exception.AdminRegistrationApplicationNotExistByIdException; import org.ays.auth.util.exception.AdminRegistrationApplicationNotExistException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationAlreadyApprovedException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationAlreadyRejectedException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationInCompleteException; -import org.ays.auth.util.exception.AysAdminRegistrationApplicationNotExistByIdException; import org.ays.common.model.AysPage; import org.ays.common.model.AysPageable; import org.ays.institution.port.InstitutionReadPort; @@ -68,7 +68,7 @@ public AysPage findAll(final AdminRegistrationAppl @Override public AdminRegistrationApplication findById(String id) { return adminRegistrationApplicationReadPort.findById(id) - .orElseThrow(() -> new AysAdminRegistrationApplicationNotExistByIdException(id)); + .orElseThrow(() -> new AdminRegistrationApplicationNotExistByIdException(id)); } /** @@ -119,7 +119,7 @@ public AdminRegistrationApplication create(AdminRegistrationApplicationCreateReq public void approve(String id) { final AdminRegistrationApplication registrationApplication = adminRegistrationApplicationReadPort .findById(id) - .orElseThrow(() -> new AysAdminRegistrationApplicationNotExistByIdException(id)); + .orElseThrow(() -> new AdminRegistrationApplicationNotExistByIdException(id)); this.checkApplicationStatus(registrationApplication); @@ -142,7 +142,7 @@ public void approve(String id) { public void reject(final String id, final AdminRegistrationApplicationRejectRequest rejectRequest) { final AdminRegistrationApplication registrationApplication = adminRegistrationApplicationReadPort .findById(id) - .orElseThrow(() -> new AysAdminRegistrationApplicationNotExistByIdException(id)); + .orElseThrow(() -> new AdminRegistrationApplicationNotExistByIdException(id)); this.checkApplicationStatus(registrationApplication); diff --git a/src/main/java/org/ays/auth/util/exception/AysAdminRegistrationApplicationNotExistByIdException.java b/src/main/java/org/ays/auth/util/exception/AdminRegistrationApplicationNotExistByIdException.java similarity index 75% rename from src/main/java/org/ays/auth/util/exception/AysAdminRegistrationApplicationNotExistByIdException.java rename to src/main/java/org/ays/auth/util/exception/AdminRegistrationApplicationNotExistByIdException.java index fc3d8ce75..50e1ec3f2 100644 --- a/src/main/java/org/ays/auth/util/exception/AysAdminRegistrationApplicationNotExistByIdException.java +++ b/src/main/java/org/ays/auth/util/exception/AdminRegistrationApplicationNotExistByIdException.java @@ -11,7 +11,7 @@ * Typically, this exception is thrown when an operation or query is performed on an admin register application * entity using an ID that does not correspond to an existing admin register application. */ -public final class AysAdminRegistrationApplicationNotExistByIdException extends AysNotExistException { +public final class AdminRegistrationApplicationNotExistByIdException extends AysNotExistException { /** * Unique identifier for serialization. @@ -20,11 +20,11 @@ public final class AysAdminRegistrationApplicationNotExistByIdException extends private static final long serialVersionUID = 8416712253227498925L; /** - * Constructs a new {@link AysAdminRegistrationApplicationNotExistByIdException} with the specified ID. + * Constructs a new {@link AdminRegistrationApplicationNotExistByIdException} with the specified ID. * * @param id The ID of the admin registration application that does not exist. */ - public AysAdminRegistrationApplicationNotExistByIdException(String id) { + public AdminRegistrationApplicationNotExistByIdException(String id) { super("admin registration application not exist! id:" + id); } diff --git a/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java b/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java index 97ea8a1a1..84b9aade8 100644 --- a/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java +++ b/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java @@ -17,11 +17,11 @@ import org.ays.auth.port.AdminRegistrationApplicationReadPort; import org.ays.auth.port.AdminRegistrationApplicationSavePort; import org.ays.auth.port.AysUserSavePort; +import org.ays.auth.util.exception.AdminRegistrationApplicationNotExistByIdException; import org.ays.auth.util.exception.AdminRegistrationApplicationNotExistException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationAlreadyApprovedException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationAlreadyRejectedException; import org.ays.auth.util.exception.AysAdminRegistrationApplicationInCompleteException; -import org.ays.auth.util.exception.AysAdminRegistrationApplicationNotExistByIdException; import org.ays.common.model.AysPage; import org.ays.common.model.AysPageBuilder; import org.ays.common.model.AysPageable; @@ -162,7 +162,7 @@ void givenAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationNotFoun // Then Assertions.assertThrows( - AysAdminRegistrationApplicationNotExistByIdException.class, + AdminRegistrationApplicationNotExistByIdException.class, () -> adminUserRegisterApplicationService.findById(mockId) ); @@ -319,7 +319,7 @@ void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationAp } @Test - void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationNotFound_thenThrowAysAdminRegistrationApplicationNotExistByIdException() { + void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationNotFound_thenThrowAdminRegistrationApplicationNotExistByIdException() { // Given String mockId = AysRandomUtil.generateUUID(); @@ -330,7 +330,7 @@ void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationNo // Then Assertions.assertThrows( - AysAdminRegistrationApplicationNotExistByIdException.class, + AdminRegistrationApplicationNotExistByIdException.class, () -> adminUserRegisterApplicationService.approve(mockId) ); @@ -490,7 +490,7 @@ void givenAdminUserRegisterApplicationIdAndAdminUserRegisterApplicationRejectReq // Then Assertions.assertThrows( - AysAdminRegistrationApplicationNotExistByIdException.class, + AdminRegistrationApplicationNotExistByIdException.class, () -> adminUserRegisterApplicationService.reject(mockId, mockRequest) ); From 80fd3ee50263b0510cc010d54e76069878508b3c Mon Sep 17 00:00:00 2001 From: agitrubard Date: Fri, 6 Sep 2024 15:18:52 +0300 Subject: [PATCH 11/11] AYS-427 | Usages of `UUID.randomUUID().toString()` Have Been Changed as Hard Codded UUID in `AdminRegistrationApplicationServiceImplTest` Class --- ...egistrationApplicationServiceImplTest.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java b/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java index 84b9aade8..ed0d4eafe 100644 --- a/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java +++ b/src/test/java/org/ays/auth/service/impl/AdminRegistrationApplicationServiceImplTest.java @@ -25,7 +25,6 @@ import org.ays.common.model.AysPage; import org.ays.common.model.AysPageBuilder; import org.ays.common.model.AysPageable; -import org.ays.common.util.AysRandomUtil; import org.ays.institution.model.Institution; import org.ays.institution.model.InstitutionBuilder; import org.ays.institution.port.InstitutionReadPort; @@ -154,7 +153,7 @@ void givenAdminUserRegisterApplicationId_whenGettingAdminUserRegisterApplication void givenAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationNotFound_thenThrowAysAdminUserRegisterApplicationNotExistByIdException() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "608484c9-4fec-46da-9515-3341817e4843"; // When Mockito.when(adminRegistrationApplicationReadPort.findById(mockId)) @@ -175,7 +174,7 @@ void givenAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationNotFoun void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationFoundWithWaitingStatus_thenReturnAdminUserRegisterApplication() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "43af258d-d177-4227-9246-aef772609095"; AdminRegistrationApplication mockApplication = new AdminRegistrationApplicationBuilder() .withValidValues() .withId(mockId) @@ -206,7 +205,7 @@ void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationFo void givenValidAdminUserRegisterApplicationId_whenThereIsNoAdminUserRegisterApplicationWithWaitingStatus_thenThrowAdminRegistrationApplicationNotExistException() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "9f863805-ee46-44f8-9354-4cd49e21bfea"; // When Mockito.when(adminRegistrationApplicationReadPort.findById(mockId)) @@ -286,7 +285,7 @@ void givenInvalidInstitutionId_whenCreatingAdminUserRegisterApplication_thenThro void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationApproved_thenReturnNothing() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "6957a570-2ffe-4409-b4c5-5597f7ecfc15"; AysUser mockUser = new AysUserBuilder() .withValidValues() .withStatus(AysUserStatus.NOT_VERIFIED) @@ -322,7 +321,7 @@ void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationAp void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationNotFound_thenThrowAdminRegistrationApplicationNotExistByIdException() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "ba88600d-c38f-4a37-99be-2e4f26f00fc9"; // When Mockito.when(adminRegistrationApplicationReadPort.findById(mockId)) @@ -350,7 +349,7 @@ void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationNo void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationWaiting_thenThrowAysAdminRegistrationApplicationInCompleteException() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "c77ed397-16b1-4310-9644-eb2a51be2e86"; AdminRegistrationApplication mockApplication = new AdminRegistrationApplicationBuilder() .withValidValues() .withStatus(AdminRegistrationApplicationStatus.WAITING) @@ -381,7 +380,7 @@ void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationWa void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationApproved_thenThrowAysAdminRegistrationApplicationAlreadyApprovedException() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "85d61489-8c78-4d03-a8ea-98154fc6ceb0"; AdminRegistrationApplication mockApplication = new AdminRegistrationApplicationBuilder() .withValidValues() .withStatus(AdminRegistrationApplicationStatus.APPROVED) @@ -412,7 +411,7 @@ void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationAp void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationRejected_thenThrowAysAdminRegistrationApplicationAlreadyRejectedException() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "773ba2c1-760f-4e4b-a1cb-0f5994291e73"; AdminRegistrationApplication mockApplication = new AdminRegistrationApplicationBuilder() .withValidValues() .withStatus(AdminRegistrationApplicationStatus.REJECTED) @@ -443,7 +442,7 @@ void givenValidAdminUserRegisterApplicationId_whenAdminUserRegisterApplicationRe void givenAdminUserRegisterApplicationIdAndAdminUserRegisterApplicationRejectRequest_whenRejectingAdminUserRegisterApplication_thenReturnNothing() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "6eae8d93-aa8a-4520-b20b-600840ef893d"; AysUser mockUser = new AysUserBuilder() .withValidValues() .withStatus(AysUserStatus.NOT_VERIFIED) @@ -479,7 +478,7 @@ void givenAdminUserRegisterApplicationIdAndAdminUserRegisterApplicationRejectReq void givenAdminUserRegisterApplicationIdAndAdminUserRegisterApplicationRejectRequest_whenAdminUserRegisterApplicationNotFound_thenThrowAysAdminUserRegisterApplicationNotExistByIdAndStatusException() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "cd52e3f0-b57b-453a-bd35-57c55d32fd0e"; AdminRegistrationApplicationRejectRequest mockRequest = new AdminRegistrationApplicationRejectRequestBuilder() .withValidValues() .build(); @@ -509,7 +508,7 @@ void givenAdminUserRegisterApplicationIdAndAdminUserRegisterApplicationRejectReq void givenAdminUserRegisterApplicationIdAndAdminUserRegisterApplicationRejectRequest_whenAdminUserRegisterApplicationIsNotCompleted_thenThrowAysAdminUserRegisterApplicationNotExistByIdAndStatusException() { // Given - String mockId = AysRandomUtil.generateUUID(); + String mockId = "cf8f8e6b-4255-4407-94d2-cdf612888e20"; AysUser mockUser = new AysUserBuilder() .withValidValues() .withStatus(AysUserStatus.NOT_VERIFIED)