fix: #3615260 An order's charged amount ignores the line quantity, so a two-ticket line is charged as one
Fixes the charged amount ignoring the line quantity.
transactionPolicies()now pairs each line's policy with the units that line holds, so no summation site can lose it.PaymentPolicy::amountDueNow()takes the quantity as a required argument and multiplies the collected price slice by it. Required rather than defaulting to one unit, because a caller silently omitting it is how this happened.- The
yoyaku_uibookings table column now shows the line total it was already documented as showing. - The guarantee and the no-show fee are deliberately untouched, and a characterization test pins that, so [#3615262] changing it later is visible.
Tests: testTransactionAmountDueCountsEveryUnit was seen to fail against unfixed code (returned the unit figure where 40.00 is owed) and passes with the fix. testTransactionAmountDueAddsUpEveryLine covers two lines of several units each.