diff --git a/app/Console/Commands/CreateExport.php b/app/Console/Commands/CreateExport.php index 46f94882f4..f28cf79bc2 100644 --- a/app/Console/Commands/CreateExport.php +++ b/app/Console/Commands/CreateExport.php @@ -65,7 +65,9 @@ class CreateExport extends Command /** * Execute the console command. * - * @return mixed + * @return int + * @SuppressWarnings(PHPMD.CyclomaticComplexity) + * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function handle(): int { diff --git a/app/Console/Commands/DecryptAttachment.php b/app/Console/Commands/DecryptAttachment.php index 98e7eb2e63..afc1692e74 100644 --- a/app/Console/Commands/DecryptAttachment.php +++ b/app/Console/Commands/DecryptAttachment.php @@ -51,8 +51,12 @@ class DecryptAttachment extends Command /** * Execute the console command. + * @SuppressWarnings(PHPMD.CyclomaticComplexity) + * @SuppressWarnings(PHPMD.ExcessiveMethodLength) + * + * @return int */ - public function handle(): void + public function handle(): int { /** @var AttachmentRepositoryInterface $repository */ $repository = app(AttachmentRepositoryInterface::class); @@ -64,28 +68,28 @@ class DecryptAttachment extends Command $this->error(sprintf('No attachment with id #%d', $attachmentId)); Log::error(sprintf('DecryptAttachment: No attachment with id #%d', $attachmentId)); - return; + return 1; } if ($attachmentName !== $attachment->filename) { $this->error('File name does not match.'); Log::error('DecryptAttachment: File name does not match.'); - return; + return 1; } if (!is_dir($storagePath)) { $this->error(sprintf('Path "%s" is not a directory.', $storagePath)); Log::error(sprintf('DecryptAttachment: Path "%s" is not a directory.', $storagePath)); - return; + return 1; } if (!is_writable($storagePath)) { $this->error(sprintf('Path "%s" is not writable.', $storagePath)); Log::error(sprintf('DecryptAttachment: Path "%s" is not writable.', $storagePath)); - return; + return 1; } $fullPath = $storagePath . DIRECTORY_SEPARATOR . $attachment->filename; @@ -95,9 +99,10 @@ class DecryptAttachment extends Command if (false === $result) { $this->error('Could not write to file.'); - return; + return 1; } $this->info(sprintf('%d bytes written. Exiting now..', $result)); + return 0; } } diff --git a/tests/Unit/TransactionRules/Triggers/ToAccountContainsTest.php b/tests/Unit/TransactionRules/Triggers/ToAccountContainsTest.php index 0163d93b72..cfff2cd793 100644 --- a/tests/Unit/TransactionRules/Triggers/ToAccountContainsTest.php +++ b/tests/Unit/TransactionRules/Triggers/ToAccountContainsTest.php @@ -36,11 +36,18 @@ class ToAccountContainsTest extends TestCase */ public function testTriggered(): void { - $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); - $transaction = $journal->transactions()->where('amount', '>', 0)->first(); - $account = $transaction->account; - $trigger = ToAccountContains::makeFromStrings($account->name, false); - $result = $trigger->triggered($journal); + $count = 0; + do { + $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); + $transaction = $journal->transactions()->where('amount', '>', 0)->first(); + $transactionCount = $journal->transactions()->count(); + $account = null === $transaction ? null : $transaction->account; + $count++; + } while ($account === null && $count < 30 && $transactionCount !== 2); + + + $trigger = ToAccountContains::makeFromStrings($account->name, false); + $result = $trigger->triggered($journal); $this->assertTrue($result); } @@ -49,7 +56,16 @@ class ToAccountContainsTest extends TestCase */ public function testTriggeredNot(): void { - $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); + $count = 0; + do { + $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); + $transaction = $journal->transactions()->where('amount', '>', 0)->first(); + $transactionCount = $journal->transactions()->count(); + $account = null === $transaction ? null : $transaction->account; + $count++; + } while ($account === null && $count < 30 && $transactionCount !== 2); + + $trigger = ToAccountContains::makeFromStrings('some name' . random_int(1, 234), false); $result = $trigger->triggered($journal); $this->assertFalse($result); diff --git a/tests/Unit/TransactionRules/Triggers/ToAccountIsTest.php b/tests/Unit/TransactionRules/Triggers/ToAccountIsTest.php index 702cde7ccd..6c697f628f 100644 --- a/tests/Unit/TransactionRules/Triggers/ToAccountIsTest.php +++ b/tests/Unit/TransactionRules/Triggers/ToAccountIsTest.php @@ -36,12 +36,12 @@ class ToAccountIsTest extends TestCase */ public function testTriggered(): void { - $count = 0; + $count = 0; do { $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $transaction = $journal->transactions()->where('amount', '>', 0)->first(); $transactionCount = $journal->transactions()->count(); - $account = $transaction->account; + $account = null === $transaction ? null : $transaction->account; $count++; } while ($account === null && $count < 30 && $transactionCount !== 2); @@ -55,12 +55,12 @@ class ToAccountIsTest extends TestCase */ public function testTriggeredNot(): void { - $count = 0; + $count = 0; do { $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $transaction = $journal->transactions()->where('amount', '>', 0)->first(); $transactionCount = $journal->transactions()->count(); - $account = $transaction->account; + $account = null === $transaction ? null : $transaction->account; $count++; } while ($account === null && $count < 30 && $transactionCount !== 2); diff --git a/tests/Unit/TransactionRules/Triggers/ToAccountStartsTest.php b/tests/Unit/TransactionRules/Triggers/ToAccountStartsTest.php index 09bb15cadc..8f5ed5a155 100644 --- a/tests/Unit/TransactionRules/Triggers/ToAccountStartsTest.php +++ b/tests/Unit/TransactionRules/Triggers/ToAccountStartsTest.php @@ -46,7 +46,7 @@ class ToAccountStartsTest extends TestCase $journal = $this->user()->transactionJournals()->inRandomOrder()->whereNull('deleted_at')->first(); $count = $journal->transactions()->where('amount', '>', 0)->count(); $transaction = $journal->transactions()->where('amount', '>', 0)->first(); - $account = $transaction->account; + $account = null === $transaction ? null : $transaction->account; Log::debug(sprintf('Journal with id #%d', $journal->id)); Log::debug(sprintf('Count of transactions is %d', $count)); Log::debug(sprintf('Account is null: %s', var_export(null === $account, true))); @@ -71,7 +71,7 @@ class ToAccountStartsTest extends TestCase $journal = $this->user()->transactionJournals()->inRandomOrder()->whereNull('deleted_at')->first(); $count = $journal->transactions()->where('amount', '>', 0)->count(); $transaction = $journal->transactions()->where('amount', '>', 0)->first(); - $account = $transaction->account; + $account = null === $transaction ? null : $transaction->account; Log::debug(sprintf('Journal with id #%d', $journal->id)); Log::debug(sprintf('Count of transactions is %d', $count)); Log::debug(sprintf('Account is null: %s', var_export(null === $account, true)));