From 45d658cf4761fac40e8267bd686060add4b22b63 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 18 Aug 2022 09:27:28 +1000 Subject: [PATCH] Tests for bank transaction matching --- app/Helpers/Bank/Yodlee/Yodlee.php | 2 +- app/Services/Bank/BankService.php | 3 ++- tests/Feature/Bank/YodleeApiTest.php | 9 ++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/Helpers/Bank/Yodlee/Yodlee.php b/app/Helpers/Bank/Yodlee/Yodlee.php index e2cf9d738cbd..a37805f8ac08 100644 --- a/app/Helpers/Bank/Yodlee/Yodlee.php +++ b/app/Helpers/Bank/Yodlee/Yodlee.php @@ -239,7 +239,7 @@ class Yodlee } - private function bankFormRequest(string $uri, string $verb, array $data = [], array $headers) + private function bankFormRequest(string $uri, string $verb, array $data, array $headers) { $response = Http::withHeaders($this->getFormHeaders($headers))->asForm()->{$verb}($this->getEndpoint() . $uri, $this->buildBody()); diff --git a/app/Services/Bank/BankService.php b/app/Services/Bank/BankService.php index 38b040fffc44..2e89835ac1ad 100644 --- a/app/Services/Bank/BankService.php +++ b/app/Services/Bank/BankService.php @@ -54,6 +54,7 @@ class BankService implements ShouldQueue private function match() { + BankTransaction::where('company_id', $this->company->id) ->where('is_matched', false) ->where('provisional_match', false) @@ -62,7 +63,7 @@ class BankService implements ShouldQueue $invoice = $this->invoices->first(function ($value, $key) use ($bt){ - return str_contains($value->number, $bt->description); + return str_contains($bt->description, $value->number); }); diff --git a/tests/Feature/Bank/YodleeApiTest.php b/tests/Feature/Bank/YodleeApiTest.php index 6a4897c4a34a..195e71efd7ec 100644 --- a/tests/Feature/Bank/YodleeApiTest.php +++ b/tests/Feature/Bank/YodleeApiTest.php @@ -74,9 +74,16 @@ class YodleeApiTest extends TestCase $this->assertGreaterThan(1, BankIntegration::count()); $this->assertGreaterThan(1, BankTransaction::count()); + $this->invoice->number = "XXXXXX8501"; + $this->invoice->save(); + BankService::dispatchSync($this->company->id, $this->company->db); - // $transactions = $yodlee->getTransactions(); + $bt = BankTransaction::where('invoice_id', $this->invoice->id)->first(); + + $this->assertNotNull($bt); + + $this->assertEquals(1, $bt->provisional_match); }