fix(core-flows): aggregate payment status (#10278)

This commit is contained in:
Carlos R. L. Rodrigues
2024-11-26 12:23:53 -03:00
committed by GitHub
parent 9f204817b0
commit a8eec16122
2 changed files with 15 additions and 1 deletions

View File

@@ -100,6 +100,16 @@ describe("Aggregate Order Status", () => {
} as any)
).toEqual("captured")
expect(
getLastPaymentStatus({
payment_collections: [
{ status: "authorized", captured_amount: 0, amount: 0 },
{ status: "authorized", captured_amount: 12, amount: 12 },
{ status: "canceled" },
],
} as any)
).toEqual("captured")
expect(
getLastPaymentStatus({
payment_collections: [

View File

@@ -21,7 +21,11 @@ export const getLastPaymentStatus = (order: OrderDetailDTO) => {
}
for (const paymentCollection of order.payment_collections) {
if (MathBN.gt(paymentCollection.captured_amount ?? 0, 0)) {
if (
MathBN.gt(paymentCollection.captured_amount ?? 0, 0) ||
(isDefined(paymentCollection.amount) &&
MathBN.eq(paymentCollection.amount, 0))
) {
paymentStatus[PaymentStatus.CAPTURED] += MathBN.eq(
paymentCollection.captured_amount as number,
paymentCollection.amount