Skip to content

Commit d3d0823

Browse files
authored
Merge pull request #180 from companieshouse/bi-13910-fix-paid-at-datetime
BI-13910: Fix paid_at datetime conversion
2 parents b381cc0 + b0db677 commit d3d0823

File tree

4 files changed

+12
-8
lines changed

4 files changed

+12
-8
lines changed

src/main/java/uk/gov/companieshouse/orders/api/controller/BasketController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import static uk.gov.companieshouse.orders.api.logging.LoggingUtils.APPLICATION_NAME_SPACE;
1212

1313
import java.io.IOException;
14+
import java.time.ZoneId;
1415
import java.util.ArrayList;
1516
import java.util.List;
1617
import java.util.Map;
@@ -566,7 +567,7 @@ private Checkout updateCheckout(final Checkout checkout, final BasketPaymentRequ
566567
final CheckoutData data = checkout.getData();
567568
data.setStatus(update.getStatus());
568569
if (update.getStatus() == PaymentStatus.PAID) {
569-
data.setPaidAt(update.getPaidAt());
570+
data.setPaidAt(update.getPaidAt().atZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime());
570571
data.setPaymentReference(update.getPaymentReference());
571572
}
572573
checkoutService.saveCheckout(checkout);

src/main/java/uk/gov/companieshouse/orders/api/dto/BasketPaymentRequestDTO.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@
44
import com.google.gson.Gson;
55
import uk.gov.companieshouse.orders.api.model.PaymentStatus;
66

7-
import java.time.LocalDateTime;
7+
import java.time.OffsetDateTime;
88

99
public class BasketPaymentRequestDTO {
1010

1111
@JsonProperty("paid_at")
12-
private LocalDateTime paidAt;
12+
private OffsetDateTime paidAt;
1313

1414
@JsonProperty("payment_reference")
1515
private String paymentReference;
1616

1717
@JsonProperty("status")
1818
private PaymentStatus status;
1919

20-
public LocalDateTime getPaidAt() {
20+
public OffsetDateTime getPaidAt() {
2121
return paidAt;
2222
}
2323

24-
public void setPaidAt(LocalDateTime paidAt) {
24+
public void setPaidAt(OffsetDateTime paidAt) {
2525
this.paidAt = paidAt;
2626
}
2727

src/test/java/uk/gov/companieshouse/orders/api/controller/BasketControllerIntegrationTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
import java.io.IOException;
5858
import java.time.LocalDateTime;
5959
import java.time.Month;
60+
import java.time.OffsetDateTime;
6061
import java.time.format.DateTimeFormatter;
6162
import java.util.ArrayList;
6263
import java.util.Arrays;
@@ -2246,7 +2247,7 @@ private List<ItemCosts> createItemCosts(){
22462247

22472248
private BasketPaymentRequestDTO createBasketPaymentRequest(PaymentStatus paymentStatus) {
22482249
final BasketPaymentRequestDTO basketPaymentRequestDTO = new BasketPaymentRequestDTO();
2249-
basketPaymentRequestDTO.setPaidAt(LocalDateTime.now());
2250+
basketPaymentRequestDTO.setPaidAt(OffsetDateTime.now());
22502251
basketPaymentRequestDTO.setPaymentReference(PAYMENT_ID);
22512252
basketPaymentRequestDTO.setStatus(paymentStatus);
22522253

src/test/java/uk/gov/companieshouse/orders/api/controller/BasketControllerTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.IOException;
2222

2323
import java.time.LocalDateTime;
24+
import java.time.OffsetDateTime;
2425
import java.util.ArrayList;
2526
import java.util.Arrays;
2627
import java.util.Collections;
@@ -673,7 +674,8 @@ private void patchPaymentDetailsStatusUpdateIsSaved(final PaymentStatus paymentO
673674
final String checkout_id = "123456789";
674675
final String payment_id = "987654321";
675676
final String eric_header = "EricHeader";
676-
final LocalDateTime paidAt = LocalDateTime.now();
677+
final OffsetDateTime paidAt = OffsetDateTime.now();
678+
final LocalDateTime paidAtLocal = paidAt.toLocalDateTime();
677679

678680
final MockHttpServletRequest request = new MockHttpServletRequest();
679681
request.addHeader(ApiSdkManager.getEricPassthroughTokenHeader(), eric_header);
@@ -704,7 +706,7 @@ private void patchPaymentDetailsStatusUpdateIsSaved(final PaymentStatus paymentO
704706
// Then
705707
verify(checkoutData).setStatus(paymentOutcome);
706708
if (paymentOutcome.equals(PaymentStatus.PAID)) {
707-
verify(checkoutData).setPaidAt(paidAt);
709+
verify(checkoutData).setPaidAt(paidAtLocal);
708710
verify(checkoutData).setPaymentReference(payment_id);
709711
}
710712
verify(checkoutService).saveCheckout(checkout);

0 commit comments

Comments
 (0)