mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-17 07:08:19 +00:00
Update tests so repositories are not called. Saves on DB calls, speeds up tests.
This commit is contained in:
@@ -25,6 +25,7 @@ namespace Tests\Feature\Controllers\Import;
|
||||
use FireflyIII\Import\Prerequisites\FakePrerequisites;
|
||||
use FireflyIII\Models\ImportJob;
|
||||
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
|
||||
use FireflyIII\Repositories\User\UserRepositoryInterface;
|
||||
use Illuminate\Support\MessageBag;
|
||||
use Log;
|
||||
use Mockery;
|
||||
@@ -53,6 +54,7 @@ class PrerequisitesControllerTest extends TestCase
|
||||
*/
|
||||
public function testIndex(): void
|
||||
{
|
||||
$userRepos = $this->mock(UserRepositoryInterface::class);
|
||||
$job = new ImportJob;
|
||||
$job->user_id = $this->user()->id;
|
||||
$job->key = 'A_pre_job_' . random_int(1, 10000);
|
||||
@@ -66,6 +68,10 @@ class PrerequisitesControllerTest extends TestCase
|
||||
$prereq = $this->mock(FakePrerequisites::class);
|
||||
$repository = $this->mock(ImportJobRepositoryInterface::class);
|
||||
|
||||
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
|
||||
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
|
||||
|
||||
|
||||
$prereq->shouldReceive('setUser')->times(2);
|
||||
$prereq->shouldReceive('isComplete')->times(2)->andReturn(false);
|
||||
$prereq->shouldReceive('getView')->once()->andReturn('import.fake.prerequisites');
|
||||
@@ -83,6 +89,8 @@ class PrerequisitesControllerTest extends TestCase
|
||||
*/
|
||||
public function testIndexBadState(): void
|
||||
{
|
||||
$userRepos = $this->mock(UserRepositoryInterface::class);
|
||||
|
||||
$job = new ImportJob;
|
||||
$job->user_id = $this->user()->id;
|
||||
$job->key = 'B_pre_job_' . random_int(1, 10000);
|
||||
@@ -92,6 +100,10 @@ class PrerequisitesControllerTest extends TestCase
|
||||
$job->file_type = '';
|
||||
$job->save();
|
||||
|
||||
|
||||
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
|
||||
|
||||
|
||||
$this->be($this->user());
|
||||
$response = $this->get(route('import.prerequisites.index', ['fake', $job->key]));
|
||||
$response->assertStatus(302);
|
||||
@@ -103,6 +115,8 @@ class PrerequisitesControllerTest extends TestCase
|
||||
*/
|
||||
public function testIndexComplete(): void
|
||||
{
|
||||
$userRepos = $this->mock(UserRepositoryInterface::class);
|
||||
|
||||
$job = new ImportJob;
|
||||
$job->user_id = $this->user()->id;
|
||||
$job->key = 'C_pre_job_' . random_int(1, 10000);
|
||||
@@ -116,6 +130,8 @@ class PrerequisitesControllerTest extends TestCase
|
||||
$prereq = $this->mock(FakePrerequisites::class);
|
||||
$repository = $this->mock(ImportJobRepositoryInterface::class);
|
||||
|
||||
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
|
||||
|
||||
$repository->shouldReceive('setStatus')->once()->withArgs([Mockery::any(), 'has_prereq']);
|
||||
$prereq->shouldReceive('setUser')->times(2);
|
||||
$prereq->shouldReceive('isComplete')->times(2)->andReturn(true);
|
||||
@@ -134,6 +150,8 @@ class PrerequisitesControllerTest extends TestCase
|
||||
*/
|
||||
public function testPost(): void
|
||||
{
|
||||
$userRepos = $this->mock(UserRepositoryInterface::class);
|
||||
|
||||
$job = new ImportJob;
|
||||
$job->user_id = $this->user()->id;
|
||||
$job->key = 'D_pre_job_' . random_int(1, 10000);
|
||||
@@ -147,6 +165,9 @@ class PrerequisitesControllerTest extends TestCase
|
||||
$prereq = $this->mock(FakePrerequisites::class);
|
||||
$repository = $this->mock(ImportJobRepositoryInterface::class);
|
||||
|
||||
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
|
||||
|
||||
|
||||
$prereq->shouldReceive('setUser')->times(2);
|
||||
$prereq->shouldReceive('storePrerequisites')->once()->andReturn(new MessageBag);
|
||||
$repository->shouldReceive('setStatus')->once()->withArgs([Mockery::any(), 'has_prereq']);
|
||||
@@ -165,6 +186,8 @@ class PrerequisitesControllerTest extends TestCase
|
||||
*/
|
||||
public function testPostBadState(): void
|
||||
{
|
||||
$userRepos = $this->mock(UserRepositoryInterface::class);
|
||||
|
||||
$job = new ImportJob;
|
||||
$job->user_id = $this->user()->id;
|
||||
$job->key = 'D_pre_job_' . random_int(1, 10000);
|
||||
@@ -174,6 +197,8 @@ class PrerequisitesControllerTest extends TestCase
|
||||
$job->file_type = '';
|
||||
$job->save();
|
||||
|
||||
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
|
||||
|
||||
// mock stuff
|
||||
$prereq = $this->mock(FakePrerequisites::class);
|
||||
$repository = $this->mock(ImportJobRepositoryInterface::class);
|
||||
@@ -195,10 +220,14 @@ class PrerequisitesControllerTest extends TestCase
|
||||
*/
|
||||
public function testPostNoJob(): void
|
||||
{
|
||||
$userRepos = $this->mock(UserRepositoryInterface::class);
|
||||
|
||||
// mock stuff
|
||||
$prereq = $this->mock(FakePrerequisites::class);
|
||||
$repository = $this->mock(ImportJobRepositoryInterface::class);
|
||||
|
||||
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
|
||||
|
||||
$prereq->shouldReceive('setUser')->once();
|
||||
$prereq->shouldReceive('storePrerequisites')->once()->andReturn(new MessageBag);
|
||||
|
||||
@@ -218,6 +247,8 @@ class PrerequisitesControllerTest extends TestCase
|
||||
*/
|
||||
public function testPostWithMessages(): void
|
||||
{
|
||||
$userRepos = $this->mock(UserRepositoryInterface::class);
|
||||
|
||||
$job = new ImportJob;
|
||||
$job->user_id = $this->user()->id;
|
||||
$job->key = 'D_pre_job_' . random_int(1, 10000);
|
||||
@@ -234,6 +265,8 @@ class PrerequisitesControllerTest extends TestCase
|
||||
$prereq = $this->mock(FakePrerequisites::class);
|
||||
$repository = $this->mock(ImportJobRepositoryInterface::class);
|
||||
|
||||
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
|
||||
|
||||
$prereq->shouldReceive('setUser')->times(1);
|
||||
$prereq->shouldReceive('isComplete')->times(1)->andReturn(false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user