Skip to content

Commit a968da7

Browse files
committed
feat: added finish payment test
1 parent 930ed97 commit a968da7

File tree

4 files changed

+16
-19
lines changed

4 files changed

+16
-19
lines changed

src/main/java/br/com/grupo63/techchallenge/payment/adapter/PaymentAdapter.java

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/main/java/br/com/grupo63/techchallenge/payment/api/controller/PaymentAPIController.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,10 @@ public ResponseEntity<QRCodeResponseDTO> startPayment(
4141
description = "Atualiza o status do pagamento e do pedido. Seria utilizado pelo sistema externo Mercado Pago para simular uma integração de Webhook IPN para notificar o sistema que o pagamento foi concluido.")
4242
@PostMapping("/finalize")
4343
@ResponseStatus(HttpStatus.OK)
44-
public void confirmPaymentFromOrderId(@Parameter(description = "Id do pedido associado ao pagamento")
45-
@RequestParam Long orderId) throws ValidationException, NotFoundException {
44+
public ResponseEntity confirmPaymentFromOrderId(@Parameter(description = "Id do pedido associado ao pagamento")
45+
@RequestParam Long orderId) throws NotFoundException {
4646
controller.finishPayment(orderId);
47+
return ResponseEntity.ok().build();
4748
}
4849

4950
@Operation(
@@ -52,7 +53,7 @@ public void confirmPaymentFromOrderId(@Parameter(description = "Id do pedido ass
5253
description = "Recupera o status atual do pagamento. Seria utilizado na tela de pagamento do cliente para verificar se o pagamento foi realizado.")
5354
@GetMapping("/status")
5455
public ResponseEntity<PaymentStatusResponseDTO> getStatusByOrderId(@Parameter(description = "Id do pedido associado ao pagamento")
55-
@RequestParam Long orderId) throws NotFoundException, ValidationException {
56+
@RequestParam Long orderId) throws NotFoundException {
5657
return ResponseEntity.ok(controller.getPaymentStatus(orderId));
5758
}
5859

src/main/java/br/com/grupo63/techchallenge/payment/controller/PaymentController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ public QRCodeResponseDTO startPayment(Long orderId) throws NotFoundException {
1919
return PaymentPresenter.toDto(useCase.startPayment(orderId));
2020
}
2121

22-
public void finishPayment(Long orderId) throws NotFoundException, ValidationException {
22+
public void finishPayment(Long orderId) throws NotFoundException {
2323
useCase.finishPayment(orderId);
2424
}
2525

26-
public PaymentStatusResponseDTO getPaymentStatus(Long orderId) throws NotFoundException, ValidationException {
26+
public PaymentStatusResponseDTO getPaymentStatus(Long orderId) throws NotFoundException {
2727
return PaymentPresenter.toDto(useCase.getPaymentStatus(orderId));
2828
}
2929

src/test/java/br/com/grupo63/techchallenge/payment/PaymentIntegrationTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,14 @@ public void testStartPayment_EndToEnd() {
8282
assertEquals(HttpStatus.OK, response.getStatusCode());
8383
assertEquals(response.getBody().getQrData(), qrData);
8484
}
85+
86+
@SneakyThrows
87+
@Test
88+
public void testfinishPayment_EndToEnd() {
89+
when(paymentGateway.findByOrderId(defaultOrderId)).thenReturn(Optional.of(payment));
90+
when(paymentJpaRepository.save(any())).thenReturn(defaultPaymentPersistenceEntity);
91+
92+
ResponseEntity response = paymentAPIController.confirmPaymentFromOrderId(defaultOrderId);
93+
assertEquals(HttpStatus.OK, response.getStatusCode());
94+
}
8595
}

0 commit comments

Comments
 (0)