Update for bug fix release.

This commit is contained in:
James Cole
2018-07-13 06:12:39 +02:00
parent 5846431b34
commit bcdb849b46
7 changed files with 74 additions and 35 deletions

View File

@@ -24,6 +24,7 @@ namespace Tests\Unit\TransactionRules\Triggers;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\TransactionRules\Triggers\FromAccountStarts;
use Log;
use Tests\TestCase;
/**
@@ -31,19 +32,35 @@ use Tests\TestCase;
*/
class FromAccountStartsTest extends TestCase
{
/**
*
*/
public function setUp()
{
parent::setUp();
Log::debug(sprintf('Now in %s.', \get_class($this)));
}
/**
* @covers \FireflyIII\TransactionRules\Triggers\FromAccountStarts::triggered
*/
public function testTriggered(): void
{
$count = 0;
Log::debug('In testTriggered()');
$loops = 0; // FINAL LOOP METHOD.
do {
$journal = $this->user()->transactionJournals()->inRandomOrder()->whereNull('deleted_at')->first();
$transaction = $journal->transactions()->where('amount', '<', 0)->first();
$transactionCount = $journal->transactions()->count();
$account = $transaction->account;
$count++;
} while ($account === null && $count < 30 && $transactionCount !== 2);
/** @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();
Log::debug(sprintf('Loop: %d, transaction count: %d, account is null: %d', $loops, $count, (int)null===$account));
$loops++;
// do this until: account is not null, journal has two transactions, loops is below 30
} while (!(null !== $account && 2 === $count && $loops < 30));
$trigger = FromAccountStarts::makeFromStrings(substr($account->name, 0, -3), false);
$result = $trigger->triggered($journal);
@@ -55,14 +72,21 @@ class FromAccountStartsTest extends TestCase
*/
public function testTriggeredLonger(): void
{
$count = 0;
Log::debug('In testTriggeredLonger()');
$loops = 0; // FINAL LOOP METHOD.
do {
$journal = $this->user()->transactionJournals()->inRandomOrder()->whereNull('deleted_at')->first();
$transaction = $journal->transactions()->where('amount', '<', 0)->first();
$transactionCount = $journal->transactions()->count();
$account = $transaction->account;
$count++;
} while ($account === null && $count < 30 && $transactionCount !== 2);
/** @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();
Log::debug(sprintf('Loop: %d, transaction count: %d, account is null: %d', $loops, $count, (int)null===$account));
$loops++;
// do this until: account is not null, journal has two transactions, loops is below 30
} while (!(null !== $account && 2 === $count && $loops < 30));
$trigger = FromAccountStarts::makeFromStrings('bla-bla-bla' . $account->name, false);
$result = $trigger->triggered($journal);

View File

@@ -38,19 +38,20 @@ class ToAccountStartsTest extends TestCase
public function testTriggered(): void
{
Log::debug('Now in testTriggered');
$loopCount = 0;
$account = null;
do {
Log::debug(sprintf('Count of loop: %d', $loopCount));
$journal = $this->user()->transactionJournals()->inRandomOrder()->whereNull('deleted_at')->first();
$count = $journal->transactions()->where('amount', '>', 0)->count();
$transaction = $journal->transactions()->where('amount', '>', 0)->first();
$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)));
} while ($loopCount < 30 && $count !== 1 && null !== $account);
} while ($loopCount < 30 && $count < 1 && null !== $account);
$trigger = ToAccountStarts::makeFromStrings(substr($account->name, 0, -3), false);