mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 18:54:58 +00:00 
			
		
		
		
	See if this is the solution in Scrutinizer as well.
This commit is contained in:
		| @@ -79,6 +79,7 @@ class BudgetController extends Controller | ||||
|     public function budget(Budget $budget): JsonResponse | ||||
|     { | ||||
|         $start = $this->repository->firstUseDate($budget); | ||||
|         /** @var Carbon $end */ | ||||
|         $end   = session('end', new Carbon); | ||||
|         $cache = new CacheProperties(); | ||||
|         $cache->addProperty($start); | ||||
|   | ||||
| @@ -24,6 +24,7 @@ namespace Tests\Unit\TransactionRules\Triggers; | ||||
|  | ||||
| use FireflyIII\Models\TransactionJournal; | ||||
| use FireflyIII\TransactionRules\Triggers\ToAccountEnds; | ||||
| use Log; | ||||
| use Tests\TestCase; | ||||
|  | ||||
| /** | ||||
| @@ -36,14 +37,26 @@ class ToAccountEndsTest extends TestCase | ||||
|      */ | ||||
|     public function testTriggered(): void | ||||
|     { | ||||
|         $count   = 0; | ||||
|         $account = null; | ||||
|         while ($count === 0 && $account === null) { | ||||
|             $journal     = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); | ||||
|             $count       = $journal->transactions()->where('amount', '>', 0)->count(); | ||||
|         $loops = 0; // FINAL LOOP METHOD. | ||||
|         do { | ||||
|             /** @var TransactionJournal $journal */ | ||||
|             $journal     = $this->user()->transactionJournals()->inRandomOrder()->whereNull('deleted_at')->first(); | ||||
|             $transaction = $journal->transactions()->where('amount', '>', 0)->first(); | ||||
|             $account     = $transaction->account; | ||||
|         } | ||||
|             $count       = $journal->transactions()->count(); | ||||
|             $name        = $account->name ?? ''; | ||||
|  | ||||
|             Log::debug(sprintf('Loop: %d, transaction count: %d, account is null: %d, name = "%s"', $loops, $count, (int)null === $account, $name)); | ||||
|  | ||||
|             $loops++; | ||||
|  | ||||
|             // do this while the following is untrue: | ||||
|             // 1) account is not null, | ||||
|             // 2) journal has two transactions | ||||
|             // 3) loops is less than 30 | ||||
|             // 4) $name is longer than 3 | ||||
|         } while (!(null !== $account && 2 === $count && $loops < 30 && \strlen($name) > 3)); | ||||
|  | ||||
|  | ||||
|         $trigger = ToAccountEnds::makeFromStrings(substr($account->name, -3), false); | ||||
|         $result  = $trigger->triggered($journal); | ||||
| @@ -55,13 +68,25 @@ class ToAccountEndsTest extends TestCase | ||||
|      */ | ||||
|     public function testTriggeredLonger(): void | ||||
|     { | ||||
|         $count = 0; | ||||
|         while ($count === 0) { | ||||
|             $journal     = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); | ||||
|             $count       = $journal->transactions()->where('amount', '>', 0)->count(); | ||||
|         $loops = 0; // FINAL LOOP METHOD. | ||||
|         do { | ||||
|             /** @var TransactionJournal $journal */ | ||||
|             $journal     = $this->user()->transactionJournals()->inRandomOrder()->whereNull('deleted_at')->first(); | ||||
|             $transaction = $journal->transactions()->where('amount', '>', 0)->first(); | ||||
|         } | ||||
|         $account = $transaction->account; | ||||
|             $account     = $transaction->account; | ||||
|             $count       = $journal->transactions()->count(); | ||||
|             $name        = $account->name ?? ''; | ||||
|  | ||||
|             Log::debug(sprintf('Loop: %d, transaction count: %d, account is null: %d, name = "%s"', $loops, $count, (int)null === $account, $name)); | ||||
|  | ||||
|             $loops++; | ||||
|  | ||||
|             // do this while the following is untrue: | ||||
|             // 1) account is not null, | ||||
|             // 2) journal has two transactions | ||||
|             // 3) loops is less than 30 | ||||
|             // 4) $name is longer than 3 | ||||
|         } while (!(null !== $account && 2 === $count && $loops < 30 && \strlen($name) > 3)); | ||||
|  | ||||
|         $trigger = ToAccountEnds::makeFromStrings('bla-bla-bla' . $account->name, false); | ||||
|         $result  = $trigger->triggered($journal); | ||||
| @@ -73,11 +98,25 @@ class ToAccountEndsTest extends TestCase | ||||
|      */ | ||||
|     public function testTriggeredNot(): void | ||||
|     { | ||||
|         $count = 0; | ||||
|         while ($count === 0) { | ||||
|             $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); | ||||
|             $count   = $journal->transactions()->where('amount', '>', 0)->count(); | ||||
|         } | ||||
|         $loops = 0; // FINAL LOOP METHOD. | ||||
|         do { | ||||
|             /** @var TransactionJournal $journal */ | ||||
|             $journal     = $this->user()->transactionJournals()->inRandomOrder()->whereNull('deleted_at')->first(); | ||||
|             $transaction = $journal->transactions()->where('amount', '>', 0)->first(); | ||||
|             $account     = $transaction->account; | ||||
|             $count       = $journal->transactions()->count(); | ||||
|             $name        = $account->name ?? ''; | ||||
|  | ||||
|             Log::debug(sprintf('Loop: %d, transaction count: %d, account is null: %d, name = "%s"', $loops, $count, (int)null === $account, $name)); | ||||
|  | ||||
|             $loops++; | ||||
|  | ||||
|             // do this while the following is untrue: | ||||
|             // 1) account is not null, | ||||
|             // 2) journal has two transactions | ||||
|             // 3) loops is less than 30 | ||||
|             // 4) $name is longer than 3 | ||||
|         } while (!(null !== $account && 2 === $count && $loops < 30 && \strlen($name) > 3)); | ||||
|  | ||||
|         $trigger = ToAccountEnds::makeFromStrings((string)random_int(1, 1234), false); | ||||
|         $result  = $trigger->triggered($journal); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user