Fix tests.

This commit is contained in:
James Cole
2018-07-31 20:39:36 +02:00
parent 1af45aff73
commit 194073e49a
5 changed files with 90 additions and 26 deletions

View File

@@ -223,8 +223,8 @@ class ImportArrayStorage
{
// collect transactions using the journal collector
$collector = app(JournalCollectorInterface::class);
$collector->setUser(auth()->user());
$collector->withOpposingAccount()->withCategoryInformation()->withBudgetInformation();
$collector->setUser($this->importJob->user);
$collector->withOpposingAccount();
// filter on specific journals.
$collector->setJournals(new Collection([$journal]));

View File

@@ -49,7 +49,7 @@ class UserControllerTest extends TestCase
{
$repository = $this->mock(UserRepositoryInterface::class);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->once()->andReturn(false);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->once()->andReturn(true);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(2)->andReturn(true);
$this->be($this->user());
$response = $this->get(route('admin.users.delete', [1]));
$response->assertStatus(200);
@@ -80,7 +80,7 @@ class UserControllerTest extends TestCase
{
$repository = $this->mock(UserRepositoryInterface::class);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->once()->andReturn(false);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->once()->andReturn(true);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(2)->andReturn(true);
$this->be($this->user());
$response = $this->get(route('admin.users.edit', [1]));
$response->assertStatus(200);
@@ -95,7 +95,7 @@ class UserControllerTest extends TestCase
{
$repository = $this->mock(UserRepositoryInterface::class);
//$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->once()->andReturn(false);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(2)->andReturn(true);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(3)->andReturn(true);
$user = $this->user();
$repository->shouldReceive('all')->andReturn(new Collection([$user]));
@@ -112,7 +112,7 @@ class UserControllerTest extends TestCase
public function testShow(): void
{
$repository = $this->mock(UserRepositoryInterface::class);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->once()->andReturn(true);
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(2)->andReturn(true);
$repository->shouldReceive('getUserData')->andReturn(
[
'export_jobs_success' => 0,

View File

@@ -30,7 +30,7 @@ use FireflyIII\Repositories\User\UserRepositoryInterface;
use Illuminate\Support\Collection;
use Log;
use Tests\TestCase;
use Mockery;
/**
* Class CurrencyControllerTest
*
@@ -121,7 +121,7 @@ class CurrencyControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$userRepos->shouldReceive('hasRole')->once()->andReturn(true);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(2)->andReturn(true);
$this->be($this->user());
$response = $this->get(route('currencies.create'));
@@ -160,7 +160,7 @@ class CurrencyControllerTest extends TestCase
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$repository->shouldReceive('canDeleteCurrency')->andReturn(true);
$userRepos->shouldReceive('hasRole')->once()->andReturn(true);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(2)->andReturn(true);
$this->be($this->user());
$response = $this->get(route('currencies.delete', [2]));
@@ -182,7 +182,7 @@ class CurrencyControllerTest extends TestCase
$repository->shouldReceive('canDeleteCurrency')->andReturn(true);
$repository->shouldReceive('destroy')->andReturn(true)->once();
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$userRepos->shouldReceive('hasRole')->once()->andReturn(true);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(1)->andReturn(true);
$this->session(['currencies.delete.uri' => 'http://localhost']);
$this->be($this->user());
@@ -202,7 +202,7 @@ class CurrencyControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$userRepos->shouldReceive('hasRole')->once()->andReturn(true);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(2)->andReturn(true);
$this->be($this->user());
$response = $this->get(route('currencies.edit', [1]));
@@ -227,7 +227,7 @@ class CurrencyControllerTest extends TestCase
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$repository->shouldReceive('getCurrencyByPreference')->andReturn($currencies->first());
$repository->shouldReceive('get')->andReturn($currencies);
$userRepos->shouldReceive('hasRole')->once()->andReturn(true);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(2)->andReturn(true);
$this->be($this->user());
$response = $this->get(route('currencies.index'));
@@ -250,7 +250,7 @@ class CurrencyControllerTest extends TestCase
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$repository->shouldReceive('getCurrencyByPreference')->andReturn(new TransactionCurrency);
$repository->shouldReceive('get')->andReturn(new Collection);
$userRepos->shouldReceive('hasRole')->once()->andReturn(false);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(2)->andReturn(false);
$this->be($this->user());
$response = $this->get(route('currencies.index'));

View File

@@ -26,6 +26,7 @@ use FireflyIII\Import\Prerequisites\BunqPrerequisites;
use FireflyIII\Import\Prerequisites\FakePrerequisites;
use FireflyIII\Import\Prerequisites\FilePrerequisites;
use FireflyIII\Import\Prerequisites\SpectrePrerequisites;
use FireflyIII\Import\Prerequisites\YnabPrerequisites;
use FireflyIII\Models\ImportJob;
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
@@ -62,6 +63,7 @@ class IndexControllerTest extends TestCase
$fakePrerequisites = $this->mock(FakePrerequisites::class);
$bunqPrerequisites = $this->mock(BunqPrerequisites::class);
$spectrePrerequisites = $this->mock(SpectrePrerequisites::class);
$ynabPrerequisites = $this->mock(YnabPrerequisites::class);
// fake job:
$importJob = new ImportJob;
@@ -69,12 +71,14 @@ class IndexControllerTest extends TestCase
$importJob->key = 'fake_job_1';
// mock calls:
$ynabPrerequisites->shouldReceive('setUser')->once();
$fakePrerequisites->shouldReceive('setUser')->once();
$bunqPrerequisites->shouldReceive('setUser')->once();
$spectrePrerequisites->shouldReceive('setUser')->once();
$fakePrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$bunqPrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$spectrePrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$ynabPrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->once();
@@ -95,6 +99,7 @@ class IndexControllerTest extends TestCase
$bunqPrerequisites = $this->mock(BunqPrerequisites::class);
$spectrePrerequisites = $this->mock(SpectrePrerequisites::class);
$filePrerequisites = $this->mock(FilePrerequisites::class);
$ynabPrerequisites = $this->mock(YnabPrerequisites::class);
// fake job:
$importJob = new ImportJob;
@@ -103,8 +108,19 @@ class IndexControllerTest extends TestCase
$importJob->user_id = 1;
// mock calls
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(true)->times(2);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(true)->times(3);
$bunqPrerequisites->shouldReceive('setUser')->times(2);
$bunqPrerequisites->shouldReceive('isComplete')->times(2)->andReturn(false);
$spectrePrerequisites->shouldReceive('setUser')->times(2);
$spectrePrerequisites->shouldReceive('isComplete')->times(2)->andReturn(false);
$ynabPrerequisites->shouldReceive('setUser')->times(2);
$ynabPrerequisites->shouldReceive('isComplete')->times(2)->andReturn(false);
$repository->shouldReceive('create')->withArgs(['fake'])->andReturn($importJob);
$fakePrerequisites->shouldReceive('isComplete')->times(3)->andReturn(false);
$fakePrerequisites->shouldReceive('setUser')->times(3);
@@ -128,6 +144,7 @@ class IndexControllerTest extends TestCase
$bunqPrerequisites = $this->mock(BunqPrerequisites::class);
$spectrePrerequisites = $this->mock(SpectrePrerequisites::class);
$filePrerequisites = $this->mock(FilePrerequisites::class);
$ynabPrerequisites = $this->mock(YnabPrerequisites::class);
// fake job:
$importJob = new ImportJob;
@@ -136,12 +153,25 @@ class IndexControllerTest extends TestCase
$importJob->user_id = 1;
// mock call:
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(true)->times(2);
$repository->shouldReceive('create')->withArgs(['fake'])->andReturn($importJob);
$fakePrerequisites->shouldReceive('isComplete')->times(3)->andReturn(true);
$fakePrerequisites->shouldReceive('setUser')->times(3);
$bunqPrerequisites->shouldReceive('isComplete')->times(2)->andReturn(true);
$bunqPrerequisites->shouldReceive('setUser')->times(2);
$spectrePrerequisites->shouldReceive('isComplete')->times(2)->andReturn(true);
$spectrePrerequisites->shouldReceive('setUser')->times(2);
$ynabPrerequisites->shouldReceive('isComplete')->times(2)->andReturn(true);
$ynabPrerequisites->shouldReceive('setUser')->times(2);
$repository->shouldReceive('create')->withArgs(['fake'])->andReturn($importJob);
$repository->shouldReceive('setStatus')->withArgs([Mockery::any(), 'has_prereq'])->andReturn($importJob)->once();
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(true)->times(3);
$this->be($this->user());
$response = $this->get(route('import.create', ['fake']));
@@ -162,23 +192,26 @@ class IndexControllerTest extends TestCase
$bunqPrerequisites = $this->mock(BunqPrerequisites::class);
$spectrePrerequisites = $this->mock(SpectrePrerequisites::class);
$filePrerequisites = $this->mock(FilePrerequisites::class);
$ynabPrerequisites = $this->mock(YnabPrerequisites::class);
// fake job:
$importJob = new ImportJob;
$importJob->provider = 'file';
$importJob->key = 'file_job_1';
$importJob->user_id =1;
$importJob->user_id = 1;
// mock calls
$fakePrerequisites->shouldReceive('setUser')->times(2);
$bunqPrerequisites->shouldReceive('setUser')->times(2);
$spectrePrerequisites->shouldReceive('setUser')->times(2);
$ynabPrerequisites->shouldReceive('setUser')->times(2);
$fakePrerequisites->shouldReceive('isComplete')->times(2)->andReturn(true);
$bunqPrerequisites->shouldReceive('isComplete')->times(2)->andReturn(true);
$spectrePrerequisites->shouldReceive('isComplete')->times(2)->andReturn(true);
$ynabPrerequisites->shouldReceive('isComplete')->times(2)->andReturn(true);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->times(2);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false)->times(3);
$repository->shouldReceive('create')->withArgs(['file'])->andReturn($importJob);
$repository->shouldReceive('setStatus')->withArgs([Mockery::any(), 'has_prereq'])->andReturn($importJob)->once();
@@ -202,6 +235,7 @@ class IndexControllerTest extends TestCase
$bunqPrerequisites = $this->mock(BunqPrerequisites::class);
$spectrePrerequisites = $this->mock(SpectrePrerequisites::class);
$filePrerequisites = $this->mock(FilePrerequisites::class);
$ynabPrerequisites = $this->mock(YnabPrerequisites::class);
$job = new ImportJob;
$job->user_id = $this->user()->id;
@@ -225,11 +259,13 @@ class IndexControllerTest extends TestCase
$fakePrerequisites->shouldReceive('setUser')->times(1);
$bunqPrerequisites->shouldReceive('setUser')->times(1);
$spectrePrerequisites->shouldReceive('setUser')->times(1);
$ynabPrerequisites->shouldReceive('setUser')->times(1);
//$filePrerequisites->shouldReceive('setUser')->times(1);
$fakePrerequisites->shouldReceive('isComplete')->times(1)->andReturn(true);
$bunqPrerequisites->shouldReceive('isComplete')->times(1)->andReturn(true);
$spectrePrerequisites->shouldReceive('isComplete')->times(1)->andReturn(true);
$ynabPrerequisites->shouldReceive('isComplete')->times(1)->andReturn(true);
//$filePrerequisites->shouldReceive('isComplete')->times(1)->andReturn(true);
$this->be($this->user());
@@ -251,16 +287,21 @@ class IndexControllerTest extends TestCase
$bunqPrerequisites = $this->mock(BunqPrerequisites::class);
$spectrePrerequisites = $this->mock(SpectrePrerequisites::class);
$filePrerequisites = $this->mock(FilePrerequisites::class);
$ynabPrerequisites = $this->mock(YnabPrerequisites::class);
// call methods:
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(false);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(false);
$fakePrerequisites->shouldReceive('setUser')->once();
$bunqPrerequisites->shouldReceive('setUser')->once();
$spectrePrerequisites->shouldReceive('setUser')->once();
$ynabPrerequisites->shouldReceive('setUser')->once();
$fakePrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$bunqPrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$spectrePrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$ynabPrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$response = $this->get(route('import.index'));
$response->assertStatus(200);
@@ -280,13 +321,22 @@ class IndexControllerTest extends TestCase
$spectrePrerequisites = $this->mock(SpectrePrerequisites::class);
$filePrerequisites = $this->mock(FilePrerequisites::class);
$userRepository = $this->mock(UserRepositoryInterface::class);
$ynabPrerequisites = $this->mock(YnabPrerequisites::class);
// call methods:
$fakePrerequisites->shouldReceive('setUser')->once();
$fakePrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(true);
$bunqPrerequisites->shouldReceive('setUser')->once();
$spectrePrerequisites->shouldReceive('setUser')->once();
$ynabPrerequisites->shouldReceive('setUser')->once();
$fakePrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$bunqPrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$spectrePrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$ynabPrerequisites->shouldReceive('isComplete')->once()->andReturn(true);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->andReturn(true);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(false);
$response = $this->get(route('import.index'));
$response->assertStatus(200);

View File

@@ -125,7 +125,8 @@ class ImportArrayStorageTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
// mock calls:
$collector->shouldReceive('setUser')->once();
$collector->shouldReceive('setUser')->times(2);
$repository->shouldReceive('setUser')->once();
$repository->shouldReceive('setStatus')->withAnyArgs();
$ruleRepos->shouldReceive('setUser')->once();
@@ -142,13 +143,20 @@ class ImportArrayStorageTest extends TestCase
// mock collector so it will return some transfers:
$collector->shouldReceive('setAllAssetAccounts')->once()->andReturnSelf();
$collector->shouldReceive('setAllAssetAccounts')->times(1)->andReturnSelf();
$collector->shouldReceive('setTypes')->withArgs([[TransactionType::TRANSFER]])->once()->andReturnSelf();
$collector->shouldReceive('withOpposingAccount')->once()->andReturnSelf();
$collector->shouldReceive('withOpposingAccount')->times(2)->andReturnSelf();
$collector->shouldReceive('ignoreCache')->once()->andReturnSelf();
$collector->shouldReceive('removeFilter')->withArgs([InternalTransferFilter::class])->once()->andReturnSelf();
$collector->shouldReceive('getJournals')->andReturn($transferCollection);
// set journals for the return method.
$collector->shouldReceive('setJournals')->andReturnSelf();
$collector->shouldReceive('addFilter')->andReturnSelf();
$storage = new ImportArrayStorage;
$storage->setImportJob($job);
$result = new Collection;
@@ -400,6 +408,8 @@ class ImportArrayStorageTest extends TestCase
$journalRepos->shouldReceive('store')->once()->andReturn($journal);
$journalRepos->shouldReceive('findByHash')->andReturn(null)->times(2);
$storage = new ImportArrayStorage;
$storage->setImportJob($job);
$result = new Collection;
@@ -455,7 +465,7 @@ class ImportArrayStorageTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
// mock calls:
$collector->shouldReceive('setUser')->once();
$collector->shouldReceive('setUser')->times(2); // twice for transfer
$repository->shouldReceive('setUser')->once();
$repository->shouldReceive('setStatus')->withAnyArgs();
$ruleRepos->shouldReceive('setUser')->once();
@@ -471,10 +481,14 @@ class ImportArrayStorageTest extends TestCase
$collector->shouldReceive('setAllAssetAccounts')->once()->andReturnSelf();
$collector->shouldReceive('setTypes')->withArgs([[TransactionType::TRANSFER]])->once()->andReturnSelf();
$collector->shouldReceive('ignoreCache')->once()->andReturnSelf();
$collector->shouldReceive('withOpposingAccount')->once()->andReturnSelf();
$collector->shouldReceive('withOpposingAccount')->times(2)->andReturnSelf();
$collector->shouldReceive('removeFilter')->withArgs([InternalTransferFilter::class])->once()->andReturnSelf();
$collector->shouldReceive('getJournals')->andReturn($transferCollection);
// set journals for the return method.
$collector->shouldReceive('setJournals')->andReturnSelf();
$collector->shouldReceive('addFilter')->andReturnSelf();
$storage = new ImportArrayStorage;
$storage->setImportJob($job);
$result = new Collection;