mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-11-08 23:43:32 -05:00
Introduce a CashupAmounts transfer object and break down large Cashups controller methods into focused private helpers. Includes a breaking change to constructor parameter order. - Add CashupAmounts (TransferObjects/Cashups) to bundle open/transfer/ closed cash, due, card, and check amounts; reorder constructor params to cash-before-due sequence - Replace positional _calculate_total() with calculateTotal(CashupAmounts), eliminating argument-order errors - Decompose getView() into buildEmployeeLookup(), normalizeCashupInfo(), initializeNewCashup(), isPendingClose(), closeCashup(), buildReportDateRangeInputs(), applyPaymentTotals(), subtractCashExpenses() - Decompose postSave() with parseCashupDate() and getCashupAmountsFromPost() helpers; update both CashupAmounts call sites to new param order - Rename snake_case vars/params to camelCase throughout Cashups controller - Drop stale TODO comments in OSPOS.php and Cashups::getIndex filter block - Scope escape => false to cashup_headers() note column rather than a broad regex exclusion in transform_headers() - Add CashupFixtureTrait and ExpenseFixtureTrait under tests/Support; tighten cashup view test to assertSeeInField on specific form fields BREAKING CHANGE: CashupAmounts constructor positional argument order changed — closedAmountCash now precedes closedAmountDue; any callers passing positional args must swap those two arguments. Signed-off-by: objecttothis <17935339+objecttothis@users.noreply.github.com>
33 lines
1.0 KiB
PHP
33 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace Tests\Support;
|
|
|
|
use App\Models\Cashup;
|
|
|
|
trait CashupFixtureTrait
|
|
{
|
|
protected function createCashup(int $openEmployeeId, int $closeEmployeeId, array $overrides = []): int
|
|
{
|
|
$cashupData = array_merge([
|
|
'open_date' => date('Y-m-d H:i:s'),
|
|
'close_date' => date('Y-m-d H:i:s'),
|
|
'open_amount_cash' => 0,
|
|
'transfer_amount_cash' => 0,
|
|
'closed_amount_cash' => 0,
|
|
'closed_amount_due' => 0,
|
|
'closed_amount_card' => 0,
|
|
'closed_amount_check' => 0,
|
|
'closed_amount_total' => 0,
|
|
'note' => 0,
|
|
'description' => 'Test cashup',
|
|
'open_employee_id' => $openEmployeeId,
|
|
'close_employee_id' => $closeEmployeeId,
|
|
'deleted' => 0,
|
|
], $overrides);
|
|
|
|
model(Cashup::class)->save_value($cashupData, NEW_ENTRY);
|
|
|
|
return (int) $cashupData['cashup_id'];
|
|
}
|
|
}
|