@@ -886,17 +886,14 @@ func (s *CreditsTestSuite) TestUsageBasedCreditThenInvoicePaymentLifecycle() {
886886 s .NotNil (updatedCharge .Realizations [0 ].InvoiceUsage )
887887 s .Equal (float64 (7.5 ), updatedCharge .Realizations [0 ].InvoiceUsage .Totals .Total .InexactFloat64 ())
888888
889- // Aggregate open receivable still includes the promotional grant route.
890- // At this point:
891- // - promotional grant receivable (cost basis 0) is -5
892- // - invoice-backed receivable (cost basis 1) is -7.5
893- // so the aggregate open receivable is -12.5.
894- s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& promoCostBasis ), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat (- 5 )))
889+ // Promotional grants settle immediately through wash, so only the
890+ // invoice-backed receivable remains open at this point.
891+ s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& promoCostBasis ), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .Zero ))
895892 s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& invoiceCostBasis ), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat (- 7.5 )))
896- s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ](), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat (- 12 .5 )))
893+ s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ](), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat (- 7 .5 )))
897894 s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ](), ledger .TransactionAuthorizationStatusAuthorized ).Equal (alpacadecimal .Zero ))
898895 s .True (s .mustCustomerAccruedBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ]()).Equal (alpacadecimal .NewFromFloat (12.5 )))
899- s .True (s .mustWashBalance (ns , USD , mo .None [* alpacadecimal.Decimal ]()).Equal (alpacadecimal .Zero ))
896+ s .True (s .mustWashBalance (ns , USD , mo .None [* alpacadecimal.Decimal ]()).Equal (alpacadecimal .NewFromFloat ( - 5 ) ))
900897 })
901898
902899 s .Run ("the payment is authorized" , func () {
@@ -914,12 +911,12 @@ func (s *CreditsTestSuite) TestUsageBasedCreditThenInvoicePaymentLifecycle() {
914911 s .NotNil (updatedCharge .Realizations [0 ].Payment .Authorized )
915912 s .Nil (updatedCharge .Realizations [0 ].Payment .Settled )
916913
917- s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& promoCostBasis ), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat ( - 5 ) ))
914+ s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& promoCostBasis ), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .Zero ))
918915 s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& invoiceCostBasis ), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat (- 7.5 )))
919- s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ](), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat (- 12 .5 )))
916+ s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ](), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat (- 7 .5 )))
920917 s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& invoiceCostBasis ), ledger .TransactionAuthorizationStatusAuthorized ).Equal (alpacadecimal .NewFromFloat (7.5 )))
921918 s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ](), ledger .TransactionAuthorizationStatusAuthorized ).Equal (alpacadecimal .NewFromFloat (7.5 )))
922- s .True (s .mustWashBalance (ns , USD , mo .None [* alpacadecimal.Decimal ]()).Equal (alpacadecimal .NewFromFloat (- 7 .5 )))
919+ s .True (s .mustWashBalance (ns , USD , mo .None [* alpacadecimal.Decimal ]()).Equal (alpacadecimal .NewFromFloat (- 12 .5 )))
923920 })
924921
925922 s .Run ("the payment is settled and the charge reaches final" , func () {
@@ -939,12 +936,12 @@ func (s *CreditsTestSuite) TestUsageBasedCreditThenInvoicePaymentLifecycle() {
939936 s .Equal (payment .StatusSettled , updatedCharge .Realizations [0 ].Payment .Status )
940937 s .NotNil (updatedCharge .Realizations [0 ].Payment .Settled )
941938
942- s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& promoCostBasis ), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat ( - 5 ) ))
939+ s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& promoCostBasis ), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .Zero ))
943940 s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& invoiceCostBasis ), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .Zero ))
944- s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ](), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .NewFromFloat ( - 5 ) ))
941+ s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ](), ledger .TransactionAuthorizationStatusOpen ).Equal (alpacadecimal .Zero ))
945942 s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .Some (& invoiceCostBasis ), ledger .TransactionAuthorizationStatusAuthorized ).Equal (alpacadecimal .Zero ))
946943 s .True (s .mustCustomerReceivableBalance (cust .GetID (), USD , mo .None [* alpacadecimal.Decimal ](), ledger .TransactionAuthorizationStatusAuthorized ).Equal (alpacadecimal .Zero ))
947- s .True (s .mustWashBalance (ns , USD , mo .None [* alpacadecimal.Decimal ]()).Equal (alpacadecimal .NewFromFloat (- 7 .5 )))
944+ s .True (s .mustWashBalance (ns , USD , mo .None [* alpacadecimal.Decimal ]()).Equal (alpacadecimal .NewFromFloat (- 12 .5 )))
948945 })
949946}
950947
0 commit comments