Fixes for tests

This commit is contained in:
David Bomba 2023-04-06 11:38:29 +10:00
parent 69e84fe142
commit 5f3bfb070b
6 changed files with 30 additions and 25 deletions

View File

@ -22,6 +22,7 @@ jobs:
dependency-version: [prefer-stable]
env:
DB_CONNECTION: mysql
DB_DATABASE1: ninja
DB_USERNAME1: root
DB_PASSWORD1: ninja

View File

@ -176,15 +176,13 @@ class MatchBankTransactions implements ShouldQueue
private function coalesceExpenses($expense): string
{
nlog("BTExpense: " . $this->bt->expense_id);
if (!$this->bt->expense_id || strlen($this->bt->expense_id) < 1) {
nlog("coalesceExpense: " . $expense);
return $expense;
}
nlog("coalesceExpenses: " . $this->bt->expense_id . "," . $expense);
if (!$this->bt->expense_id || strlen($this->bt->expense_id) < 1) {
return $expense;
}
return collect(explode(",", $this->bt->expense_id))->push($expense)->implode(",");
}
private function linkPayment($input)

View File

@ -165,11 +165,6 @@ class BankTransaction extends BaseModel
return $this->belongsTo(Vendor::class);
}
public function expense()
{
return $this->belongsTo(Expense::class);
}
public function user()
{
return $this->belongsTo(User::class)->withTrashed();

View File

@ -123,7 +123,7 @@ class ProcessBankRules extends AbstractService
$expense->should_be_invoiced = $this->bank_transaction->company->mark_expenses_invoiceable;
$expense->save();
$this->bank_transaction->expense_id = $expense->hashed_id;
$this->bank_transaction->expense_id = $this->coalesceExpenses($expense->hashed_id);
$this->bank_transaction->status_id = BankTransaction::STATUS_CONVERTED;
$this->bank_transaction->save();
@ -134,6 +134,17 @@ class ProcessBankRules extends AbstractService
}
}
private function coalesceExpenses($expense): string
{
if (!$this->bank_transaction->expense_id || strlen($this->bank_transaction->expense_id) < 1) {
return $expense;
}
return collect(explode(",", $this->bank_transaction->expense_id))->push($expense)->implode(",");
}
private function resolveCategory()
{
$category = $this->categories->firstWhere('highLevelCategoryId', $this->bank_transaction->category_id);

View File

@ -34,7 +34,7 @@ class BankTransactionTransformer extends EntityTransformer
*/
protected $availableIncludes = [
'company',
'expense',
// 'expense',
'payment',
'vendor',
'bank_account',
@ -81,12 +81,12 @@ class BankTransactionTransformer extends EntityTransformer
return $this->includeItem($bank_transaction->company, $transformer, Company::class);
}
public function includeExpense(BankTransaction $bank_transaction)
{
$transformer = new ExpenseTransformer($this->serializer);
// public function includeExpense(BankTransaction $bank_transaction)
// {
// $transformer = new ExpenseTransformer($this->serializer);
return $this->includeItem($bank_transaction->expense, $transformer, Expense::class);
}
// return $this->includeItem($bank_transaction->expense, $transformer, Expense::class);
// }
public function includeVendor(BankTransaction $bank_transaction)
{

View File

@ -128,8 +128,8 @@ class BankTransactionRuleTest extends TestCase
$bt = $bt->fresh();
$this->assertNotNull($bt->expense_id);
$this->assertNotNull($bt->expense->category_id);
$this->assertNotNull($bt->expense->vendor_id);
// $this->assertNotNull($bt->expense->category_id);
// $this->assertNotNull($bt->expense->vendor_id);
$bt = null;
}
@ -359,7 +359,7 @@ class BankTransactionRuleTest extends TestCase
$bt = $bt->fresh();
$this->assertNull($bt->expense_id);
$this->assertEmpty($bt->expense_id);
}
public function testMatchingBankTransactionExpenseAmount()
@ -490,7 +490,7 @@ class BankTransactionRuleTest extends TestCase
$bt = $bt->fresh();
$this->assertNull($bt->expense_id);
$this->assertEmpty($bt->expense_id);
}
@ -533,7 +533,7 @@ class BankTransactionRuleTest extends TestCase
$bt = $bt->fresh();
$this->assertNull($bt->expense_id);
$this->assertEmpty($bt->expense_id);
}
@ -620,7 +620,7 @@ class BankTransactionRuleTest extends TestCase
$bt = $bt->fresh();
$this->assertNull($bt->expense_id);
$this->assertEmpty($bt->expense_id);
}
@ -704,7 +704,7 @@ class BankTransactionRuleTest extends TestCase
$bt = $bt->fresh();
$this->assertNull($bt->expense_id);
$this->assertEmpty($bt->expense_id);
}
public function testMatchingBankTransactionExpense()