From d8e0830f4aad68827c82ff0a8ee6f9c3b3801b9d Mon Sep 17 00:00:00 2001 From: aitestmate Date: Fri, 3 Jul 2026 13:19:40 +0000 Subject: [PATCH 1/2] [chore] [mod-dcb] unit tests --- ...sRequestTransactionsApiControllerTest.java | 36 +++++++++++++++++++ .../TransactionApiControllerTest.java | 32 +++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/src/test/java/org/folio/dcb/controller/EcsRequestTransactionsApiControllerTest.java b/src/test/java/org/folio/dcb/controller/EcsRequestTransactionsApiControllerTest.java index a388bb4a..86ac4f85 100644 --- a/src/test/java/org/folio/dcb/controller/EcsRequestTransactionsApiControllerTest.java +++ b/src/test/java/org/folio/dcb/controller/EcsRequestTransactionsApiControllerTest.java @@ -58,4 +58,40 @@ void createEcsRequestTransactionsShouldLogErrorToAuditAndRethrowWhenServiceFails verify(transactionAuditService).logErrorIfTransactionAuditNotExists(transactionId, dcbTransaction, errorMessage); verify(ecsRequestTransactionsService).createEcsRequestTransactions(transactionId, dcbTransaction); } + + @Test +void updateEcsRequestTransactionShouldReturnOkStatusWhenSuccessful() { + // TestMate-b3c9d28477affe116c99ccaaa62a5265 + // Given + var ecsRequestTransactionId = UUID.fromString("12345678-1234-1234-1234-1234567890ab").toString(); + var dcbTransaction = lenderDcbTransaction(); + var expectedResponse = new TransactionStatusResponse().status(TransactionStatusResponse.StatusEnum.OPEN); + when(ecsRequestTransactionsService.updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction)) + .thenReturn(expectedResponse); + // When + var actualResponse = ecsRequestTransactionsApiController.updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction); + // Then + assertThat(actualResponse.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(actualResponse.getBody()).isEqualTo(expectedResponse); + verify(ecsRequestTransactionsService).updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction); +} + + @Test + void updateEcsRequestTransactionShouldLogErrorToAuditAndRethrowWhenServiceFails() { + // TestMate-bc4856a5a28a7384fc616339818b9260 + // Given + var ecsRequestTransactionId = UUID.fromString("12345678-1234-1234-1234-1234567890ab").toString(); + var dcbTransaction = lenderDcbTransaction(); + var errorMessage = "Update failed"; + when(ecsRequestTransactionsService.updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction)) + .thenThrow(new RuntimeException(errorMessage)); + // When + assertThatThrownBy(() -> + ecsRequestTransactionsApiController.updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction)) + .isInstanceOf(RuntimeException.class) + .hasMessage(errorMessage); + // Then + verify(transactionAuditService).logErrorIfTransactionAuditNotExists(ecsRequestTransactionId, dcbTransaction, errorMessage); + verify(ecsRequestTransactionsService).updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction); + } } diff --git a/src/test/java/org/folio/dcb/controller/TransactionApiControllerTest.java b/src/test/java/org/folio/dcb/controller/TransactionApiControllerTest.java index ba082b7b..236a3fb9 100644 --- a/src/test/java/org/folio/dcb/controller/TransactionApiControllerTest.java +++ b/src/test/java/org/folio/dcb/controller/TransactionApiControllerTest.java @@ -58,4 +58,36 @@ void createCirculationRequestShouldLogAuditAndThrowWhenExceptionOccurs() { verify(transactionsService).createCirculationRequest(dcbTransactionId, dcbTransaction); verify(transactionAuditService).logErrorIfTransactionAuditNotExists(dcbTransactionId, dcbTransaction, errorMessage); } + + @Test + void getTransactionStatusByIdTest() { + // TestMate-5265ce147e6303a6c6059ec4eb249b3a + // Given + var dcbTransactionId = "txn-123"; + var expectedResponse = new TransactionStatusResponse().status(StatusEnum.CREATED); + when(transactionsService.getTransactionStatusById(dcbTransactionId)).thenReturn(expectedResponse); + // When + var responseEntity = transactionApiController.getTransactionStatusById(dcbTransactionId); + // Then + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getBody()).isEqualTo(expectedResponse); + verify(transactionsService).getTransactionStatusById(dcbTransactionId); + } + + @Test + void getTransactionStatusByIdShouldLogAuditAndThrowWhenExceptionOccurs() { + // TestMate-340f043d8cb1572c0d7d557ce271239c + // Given + var dcbTransactionId = "txn-err-1"; + var errorMessage = "Database connection failed"; + var exception = new RuntimeException(errorMessage); + when(transactionsService.getTransactionStatusById(dcbTransactionId)).thenThrow(exception); + // When + assertThatThrownBy(() -> transactionApiController.getTransactionStatusById(dcbTransactionId)) + .isInstanceOf(RuntimeException.class) + .hasMessage(errorMessage); + // Then + verify(transactionsService).getTransactionStatusById(dcbTransactionId); + verify(transactionAuditService).logErrorIfTransactionAuditExists(dcbTransactionId, errorMessage); + } } From aaec21b39d2a55d4e6261cac5fed4f5cf2eca38e Mon Sep 17 00:00:00 2001 From: Pavel Filippov Date: Tue, 7 Jul 2026 10:36:43 +0300 Subject: [PATCH 2/2] chore(unit-tests): Update tests to follow codestyle --- ...sRequestTransactionsApiControllerTest.java | 49 +++++++++---------- .../TransactionApiControllerTest.java | 21 ++++---- 2 files changed, 32 insertions(+), 38 deletions(-) diff --git a/src/test/java/org/folio/dcb/controller/EcsRequestTransactionsApiControllerTest.java b/src/test/java/org/folio/dcb/controller/EcsRequestTransactionsApiControllerTest.java index 86ac4f85..59b06608 100644 --- a/src/test/java/org/folio/dcb/controller/EcsRequestTransactionsApiControllerTest.java +++ b/src/test/java/org/folio/dcb/controller/EcsRequestTransactionsApiControllerTest.java @@ -59,39 +59,36 @@ void createEcsRequestTransactionsShouldLogErrorToAuditAndRethrowWhenServiceFails verify(ecsRequestTransactionsService).createEcsRequestTransactions(transactionId, dcbTransaction); } - @Test -void updateEcsRequestTransactionShouldReturnOkStatusWhenSuccessful() { - // TestMate-b3c9d28477affe116c99ccaaa62a5265 - // Given - var ecsRequestTransactionId = UUID.fromString("12345678-1234-1234-1234-1234567890ab").toString(); - var dcbTransaction = lenderDcbTransaction(); - var expectedResponse = new TransactionStatusResponse().status(TransactionStatusResponse.StatusEnum.OPEN); - when(ecsRequestTransactionsService.updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction)) - .thenReturn(expectedResponse); - // When - var actualResponse = ecsRequestTransactionsApiController.updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction); - // Then - assertThat(actualResponse.getStatusCode()).isEqualTo(HttpStatus.OK); - assertThat(actualResponse.getBody()).isEqualTo(expectedResponse); - verify(ecsRequestTransactionsService).updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction); -} + @Test + void updateEcsRequestTransactionShouldReturnOkStatusWhenSuccessful() { + // TestMate-b3c9d28477affe116c99ccaaa62a5265 + var txId = UUID.randomUUID().toString(); + var dcbTransaction = lenderDcbTransaction(); + var expectedResponse = new TransactionStatusResponse().status(TransactionStatusResponse.StatusEnum.OPEN); + when(ecsRequestTransactionsService.updateEcsRequestTransaction(txId, dcbTransaction)) + .thenReturn(expectedResponse); - @Test + var actualResponse = ecsRequestTransactionsApiController.updateEcsRequestTransaction(txId, dcbTransaction); + + assertThat(actualResponse.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(actualResponse.getBody()).isEqualTo(expectedResponse); + verify(ecsRequestTransactionsService).updateEcsRequestTransaction(txId, dcbTransaction); + } + + @Test void updateEcsRequestTransactionShouldLogErrorToAuditAndRethrowWhenServiceFails() { // TestMate-bc4856a5a28a7384fc616339818b9260 - // Given - var ecsRequestTransactionId = UUID.fromString("12345678-1234-1234-1234-1234567890ab").toString(); + var txId = UUID.randomUUID().toString(); var dcbTransaction = lenderDcbTransaction(); var errorMessage = "Update failed"; - when(ecsRequestTransactionsService.updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction)) + when(ecsRequestTransactionsService.updateEcsRequestTransaction(txId, dcbTransaction)) .thenThrow(new RuntimeException(errorMessage)); - // When - assertThatThrownBy(() -> - ecsRequestTransactionsApiController.updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction)) + + assertThatThrownBy(() -> ecsRequestTransactionsApiController.updateEcsRequestTransaction(txId, dcbTransaction)) .isInstanceOf(RuntimeException.class) .hasMessage(errorMessage); - // Then - verify(transactionAuditService).logErrorIfTransactionAuditNotExists(ecsRequestTransactionId, dcbTransaction, errorMessage); - verify(ecsRequestTransactionsService).updateEcsRequestTransaction(ecsRequestTransactionId, dcbTransaction); + + verify(transactionAuditService).logErrorIfTransactionAuditNotExists(txId, dcbTransaction, errorMessage); + verify(ecsRequestTransactionsService).updateEcsRequestTransaction(txId, dcbTransaction); } } diff --git a/src/test/java/org/folio/dcb/controller/TransactionApiControllerTest.java b/src/test/java/org/folio/dcb/controller/TransactionApiControllerTest.java index 236a3fb9..0fefc16c 100644 --- a/src/test/java/org/folio/dcb/controller/TransactionApiControllerTest.java +++ b/src/test/java/org/folio/dcb/controller/TransactionApiControllerTest.java @@ -6,6 +6,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.util.UUID; import org.folio.dcb.domain.dto.TransactionStatusResponse; import org.folio.dcb.domain.dto.TransactionStatusResponse.StatusEnum; import org.folio.dcb.service.TransactionAuditService; @@ -44,7 +45,7 @@ void createCirculationRequestTest() { @Test void createCirculationRequestShouldLogAuditAndThrowWhenExceptionOccurs() { // TestMate-515a8d0a1d8b2ffc0a8908e3322eb24e - var dcbTransactionId = "txn-err-1"; + var dcbTransactionId = UUID.randomUUID().toString(); var errorMessage = "Service Error"; var dcbTransaction = lenderDcbTransaction(); var exception = new RuntimeException(errorMessage); @@ -54,39 +55,35 @@ void createCirculationRequestShouldLogAuditAndThrowWhenExceptionOccurs() { transactionApiController.createCirculationRequest(dcbTransactionId, dcbTransaction)) .isInstanceOf(RuntimeException.class) .hasMessage(errorMessage); - verify(transactionsService).createCirculationRequest(dcbTransactionId, dcbTransaction); verify(transactionAuditService).logErrorIfTransactionAuditNotExists(dcbTransactionId, dcbTransaction, errorMessage); } - @Test + @Test void getTransactionStatusByIdTest() { // TestMate-5265ce147e6303a6c6059ec4eb249b3a - // Given - var dcbTransactionId = "txn-123"; + var dcbTransactionId = UUID.randomUUID().toString(); var expectedResponse = new TransactionStatusResponse().status(StatusEnum.CREATED); when(transactionsService.getTransactionStatusById(dcbTransactionId)).thenReturn(expectedResponse); - // When + var responseEntity = transactionApiController.getTransactionStatusById(dcbTransactionId); - // Then + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); assertThat(responseEntity.getBody()).isEqualTo(expectedResponse); verify(transactionsService).getTransactionStatusById(dcbTransactionId); } - @Test + @Test void getTransactionStatusByIdShouldLogAuditAndThrowWhenExceptionOccurs() { // TestMate-340f043d8cb1572c0d7d557ce271239c - // Given - var dcbTransactionId = "txn-err-1"; + var dcbTransactionId = UUID.randomUUID().toString(); var errorMessage = "Database connection failed"; var exception = new RuntimeException(errorMessage); when(transactionsService.getTransactionStatusById(dcbTransactionId)).thenThrow(exception); - // When + assertThatThrownBy(() -> transactionApiController.getTransactionStatusById(dcbTransactionId)) .isInstanceOf(RuntimeException.class) .hasMessage(errorMessage); - // Then verify(transactionsService).getTransactionStatusById(dcbTransactionId); verify(transactionAuditService).logErrorIfTransactionAuditExists(dcbTransactionId, errorMessage); }