mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-15 16:57:09 +00:00
Fix tests.
This commit is contained in:
@@ -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]));
|
||||
|
||||
|
@@ -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,
|
||||
|
@@ -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'));
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user