Improve test coverage.

This commit is contained in:
James Cole
2018-09-02 20:13:25 +02:00
parent 96dd89fbeb
commit de754ca4e0
31 changed files with 861 additions and 385 deletions

View File

@@ -73,27 +73,21 @@ class HasAnyCategoryTest extends TestCase
*/
public function testTriggeredTransactions(): void
{
$count = 0;
$journal = null;
while ($count === 0) {
/** @var TransactionJournal $journal */
$journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first();
$count = $journal->transactions()->count();
}
$withdrawal = $this->getRandomWithdrawal();
$category = $journal->user->categories()->first();
$journal->categories()->detach();
$this->assertEquals(0, $journal->categories()->count());
$category = $withdrawal->user->categories()->first();
$withdrawal->categories()->detach();
$this->assertEquals(0, $withdrawal->categories()->count());
// append to transaction, not to journal.
foreach ($journal->transactions()->get() as $index => $transaction) {
foreach ($withdrawal->transactions()->get() as $index => $transaction) {
$transaction->categories()->sync([$category->id]);
$this->assertEquals(1, $transaction->categories()->count());
}
$this->assertEquals(0, $journal->categories()->count());
$this->assertEquals(0, $withdrawal->categories()->count());
$trigger = HasAnyCategory::makeFromStrings('', false);
$result = $trigger->triggered($journal);
$result = $trigger->triggered($withdrawal);
$this->assertTrue($result);
}