make sure randomly selected journals match prerequisites.

This commit is contained in:
James Cole
2018-03-02 17:29:47 +01:00
parent 36113f84be
commit 60339a0f6a
2 changed files with 18 additions and 11 deletions

View File

@@ -1321,10 +1321,15 @@ class TransactionControllerTest extends TestCase
*/ */
public function testShowDeposit() public function testShowDeposit()
{ {
/** @var TransactionJournal $journal */ do {
$journal = $this->user()->transactionJournals()->where('transaction_type_id', 2)->first(); // this is kind of cheating but OK.
/** @var TransactionJournal $journal */
$journal = $this->user()->transactionJournals()->inRandomOrder()->where('transaction_type_id', 2)->whereNull('deleted_at')->first();
$count = $journal->transactions()->count();
} while ($count !== 2);
$transaction = $journal->transactions()->first(); $transaction = $journal->transactions()->first();
$accountRepos = $this->mock(AccountRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser'); $accountRepos->shouldReceive('setUser');
$accountRepos->shouldReceive('getAccountsByType') $accountRepos->shouldReceive('getAccountsByType')
@@ -1381,8 +1386,12 @@ class TransactionControllerTest extends TestCase
*/ */
public function testShowWithdrawal() public function testShowWithdrawal()
{ {
/** @var TransactionJournal $journal */ do {
$journal = $this->user()->transactionJournals()->where('transaction_type_id', 1)->first(); // this is kind of cheating but OK.
/** @var TransactionJournal $journal */
$journal = $this->user()->transactionJournals()->inRandomOrder()->where('transaction_type_id', 1)->whereNull('deleted_at')->first();
$count = $journal->transactions()->count();
} while ($count !== 2);
$transaction = $journal->transactions()->first(); $transaction = $journal->transactions()->first();
$accountRepos = $this->mock(AccountRepositoryInterface::class); $accountRepos = $this->mock(AccountRepositoryInterface::class);

View File

@@ -36,12 +36,11 @@ class HasAttachmentTest extends TestCase
*/ */
public function testTriggered() public function testTriggered()
{ {
$count = 0; do {
while($count === 0) {
// this is kind of cheating but OK. // this is kind of cheating but OK.
$journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first();
$count = $journal->attachments()->count(); $count = $journal->attachments()->count();
} } while($count !== 0);
$attachment = $journal->user->attachments()->first(); $attachment = $journal->user->attachments()->first();
$journal->attachments()->save($attachment); $journal->attachments()->save($attachment);
@@ -57,12 +56,11 @@ class HasAttachmentTest extends TestCase
*/ */
public function testTriggeredFalse() public function testTriggeredFalse()
{ {
$count = 0; do {
while ($count === 0) {
// this is kind of cheating but OK. // this is kind of cheating but OK.
$journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first();
$count = $journal->attachments()->count(); $count = $journal->attachments()->count();
} } while($count !== 0);
$this->assertEquals(0, $journal->attachments()->count()); $this->assertEquals(0, $journal->attachments()->count());