Update tests so repositories are not called. Saves on DB calls, speeds up tests.

This commit is contained in:
James Cole
2018-09-04 16:47:01 +02:00
parent ca04113aa7
commit d43fa3790d
23 changed files with 376 additions and 65 deletions

View File

@@ -27,6 +27,7 @@ use FireflyIII\Helpers\Attachments\AttachmentHelperInterface;
use FireflyIII\Models\Attachment;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use Laravel\Passport\Passport;
use Log;
@@ -57,6 +58,7 @@ class AttachmentControllerTest extends TestCase
{
// mock stuff:
$repository = $this->mock(AttachmentRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
$repository->shouldReceive('destroy')->once()->andReturn(true);
@@ -78,6 +80,8 @@ class AttachmentControllerTest extends TestCase
{
// mock stuff:
$repository = $this->mock(AttachmentRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$content = 'Attachment content ' . random_int(100, 1000);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -104,6 +108,8 @@ class AttachmentControllerTest extends TestCase
{
// mock stuff:
$repository = $this->mock(AttachmentRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$content = 'Attachment content ' . random_int(100, 1000);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -128,6 +134,8 @@ class AttachmentControllerTest extends TestCase
{
// mock stuff:
$repository = $this->mock(AttachmentRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -165,6 +173,8 @@ class AttachmentControllerTest extends TestCase
// mock stuff:
$repository = $this->mock(AttachmentRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -191,6 +201,8 @@ class AttachmentControllerTest extends TestCase
// mock stuff:
$repository = $this->mock(AttachmentRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -218,6 +230,8 @@ class AttachmentControllerTest extends TestCase
// mock stuff:
$repository = $this->mock(AttachmentRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -253,6 +267,8 @@ class AttachmentControllerTest extends TestCase
{
// mock repositories
$repository = $this->mock(AttachmentRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
/** @var Attachment $attachment */
$attachment = $this->user()->attachments()->first();
@@ -286,6 +302,11 @@ class AttachmentControllerTest extends TestCase
*/
public function testUpload(): void
{
$repository = $this->mock(AttachmentRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$repository->shouldReceive('setUser')->once();
/** @var Attachment $attachment */
$attachment = $this->user()->attachments()->first();
$content = 'Hello there';

View File

@@ -25,8 +25,10 @@ namespace Tests\Api\V1\Controllers;
use FireflyConfig;
use FireflyIII\Models\Configuration;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Laravel\Passport\Passport;
use Log;
use Mockery;
use Tests\TestCase;
/**
@@ -52,6 +54,9 @@ class ConfigurationControllerTest extends TestCase
*/
public function testIndex(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$demoConfig = new Configuration;
$demoConfig->name = 'is_demo_site';
$demoConfig->data = false;
@@ -96,6 +101,9 @@ class ConfigurationControllerTest extends TestCase
*/
public function testIndexNotOwner(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(false);
Passport::actingAs($this->emptyUser());
$response = $this->get('/api/v1/configuration');
$response->assertStatus(500);
@@ -109,7 +117,9 @@ class ConfigurationControllerTest extends TestCase
*/
public function testUpdate(): void
{
$data = [
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$data = [
'name' => 'permission_update_check',
'value' => 1,
@@ -159,6 +169,9 @@ class ConfigurationControllerTest extends TestCase
*/
public function testUpdateBoolean(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$data = [
'name' => 'single_user_mode',
'value' => 'true',
@@ -209,6 +222,8 @@ class ConfigurationControllerTest extends TestCase
*/
public function testUpdateInvalid(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$data = [
'name' => 'last_update_check',
'value' => 'true',
@@ -225,6 +240,9 @@ class ConfigurationControllerTest extends TestCase
*/
public function testUpdateNotOwner(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(false);
Passport::actingAs($this->emptyUser());
$response = $this->post('/api/v1/configuration');
$response->assertStatus(500);

View File

@@ -87,6 +87,7 @@ class CurrencyControllerTest extends TestCase
$collection = TransactionCurrency::get();
// mock stuff:
$repository = $this->mock(CurrencyRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -125,6 +126,7 @@ class CurrencyControllerTest extends TestCase
// create stuff
$currency = TransactionCurrency::first();
$repository = $this->mock(CurrencyRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -152,6 +154,7 @@ class CurrencyControllerTest extends TestCase
$currency = TransactionCurrency::first();
$repository = $this->mock(CurrencyRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -182,8 +185,10 @@ class CurrencyControllerTest extends TestCase
*/
public function testStoreWithDefault(): void
{
$currency = TransactionCurrency::first();
$repository = $this->mock(CurrencyRepositoryInterface::class);
$currency = TransactionCurrency::first();
$repository = $this->mock(CurrencyRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$preference = new Preference;
$preference->data = 'EUR';
// mock calls:
@@ -221,6 +226,7 @@ class CurrencyControllerTest extends TestCase
{
$currency = TransactionCurrency::first();
$repository = $this->mock(CurrencyRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -253,6 +259,7 @@ class CurrencyControllerTest extends TestCase
{
$currency = TransactionCurrency::first();
$repository = $this->mock(CurrencyRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$preference = new Preference;
$preference->data = 'EUR';

View File

@@ -29,12 +29,17 @@ use FireflyIII\Models\AccountType;
use FireflyIII\Models\Recurrence;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface;
use Illuminate\Support\Collection;
use Laravel\Passport\Passport;
use Log;
use Tests\TestCase;
/**
*
* Class RecurrenceControllerTest
*/
class RecurrenceControllerTest extends TestCase
{
/**
@@ -54,7 +59,9 @@ class RecurrenceControllerTest extends TestCase
public function testDelete(): void
{
// mock stuff:
$repository = $this->mock(RecurringRepositoryInterface::class);
$repository = $this->mock(RecurringRepositoryInterface::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -77,7 +84,15 @@ class RecurrenceControllerTest extends TestCase
$recurrences = $this->user()->recurrences()->get();
// mock stuff:
$repository = $this->mock(RecurringRepositoryInterface::class);
$repository = $this->mock(RecurringRepositoryInterface::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$budgetRepos->shouldReceive('findNull')->atLeast()->once()->withAnyArgs()
->andReturn($this->user()->budgets()->first());
$piggyRepos->shouldReceive('findNull')->atLeast()->once()->withAnyArgs()
->andReturn($this->user()->piggyBanks()->first());
// mock calls:
$repository->shouldReceive('setUser');
@@ -103,7 +118,12 @@ class RecurrenceControllerTest extends TestCase
$recurrence = $this->user()->recurrences()->first();
// mock stuff:
$repository = $this->mock(RecurringRepositoryInterface::class);
$repository = $this->mock(RecurringRepositoryInterface::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$budgetRepos->shouldReceive('findNull')->atLeast()->once()->withAnyArgs()
->andReturn($this->user()->budgets()->first());
// mock calls:
$repository->shouldReceive('setUser');
@@ -134,6 +154,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -211,6 +232,8 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
// mock calls:
@@ -287,7 +310,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
// mock calls:
@@ -366,6 +389,8 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
$expenseAccount = $this->user()->accounts()->where('account_type_id', 4)->first();
@@ -447,6 +472,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
$expenseAccount = $this->user()->accounts()->where('account_type_id', 4)->first();
@@ -526,6 +552,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -617,6 +644,8 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
// mock calls:
@@ -691,6 +720,8 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -764,6 +795,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -851,6 +883,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -924,6 +957,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -997,6 +1031,8 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -1070,6 +1106,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -1143,6 +1180,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -1216,6 +1254,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser');
@@ -1286,6 +1325,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser');
@@ -1359,6 +1399,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser');
@@ -1436,6 +1477,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -1501,6 +1543,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
@@ -1564,6 +1607,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();
$otherAssetAccount = $this->user()->accounts()->where('account_type_id', 3)->where('id', '!=', $assetAccount->id)->first();
@@ -1644,6 +1688,7 @@ class RecurrenceControllerTest extends TestCase
$factory = $this->mock(CategoryFactory::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$piggyRepos = $this->mock(PiggyBankRepositoryInterface::class);
$assetAccount = $this->user()->accounts()->where('account_type_id', 3)->first();

View File

@@ -56,13 +56,13 @@ class UserControllerTest extends TestCase
*/
public function testDelete(): void
{
$userRepository = $this->mock(UserRepositoryInterface::class);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$userRepository->shouldReceive('destroy')->once();
// create a user first:
$user = User::create(['email' => 'some@newu' . random_int(1, 10000) . 'ser.nl', 'password' => 'hello', 'blocked' => 0]);
// call API
$response = $this->delete('/api/v1/users/' . $user->id);
$response = $this->delete('/api/v1/users/' . $this->user()->id);
$response->assertStatus(204);
$this->assertDatabaseMissing('users', ['id' => $user->id]);
}
/**
@@ -73,6 +73,8 @@ class UserControllerTest extends TestCase
*/
public function testDeleteNoAdmin(): void
{
$userRepository = $this->mock(UserRepositoryInterface::class);
$userRepository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(false);
Passport::actingAs($this->emptyUser());
// create a user first:

View File

@@ -87,6 +87,7 @@ class ExportControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$this->be($this->user());

View File

@@ -55,6 +55,9 @@ class PrerequisitesControllerTest extends TestCase
public function testIndex(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$prereq = $this->mock(FakePrerequisites::class);
$repository = $this->mock(ImportJobRepositoryInterface::class);
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'A_pre_job_' . random_int(1, 10000);
@@ -64,10 +67,6 @@ class PrerequisitesControllerTest extends TestCase
$job->file_type = '';
$job->save();
// mock stuff
$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);
@@ -90,6 +89,7 @@ class PrerequisitesControllerTest extends TestCase
public function testIndexBadState(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$repository = $this->mock(ImportJobRepositoryInterface::class);
$job = new ImportJob;
$job->user_id = $this->user()->id;
@@ -116,6 +116,8 @@ class PrerequisitesControllerTest extends TestCase
public function testIndexComplete(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$prereq = $this->mock(FakePrerequisites::class);
$repository = $this->mock(ImportJobRepositoryInterface::class);
$job = new ImportJob;
$job->user_id = $this->user()->id;
@@ -126,12 +128,7 @@ class PrerequisitesControllerTest extends TestCase
$job->file_type = '';
$job->save();
// mock stuff
$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);
@@ -151,6 +148,8 @@ class PrerequisitesControllerTest extends TestCase
public function testPost(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$prereq = $this->mock(FakePrerequisites::class);
$repository = $this->mock(ImportJobRepositoryInterface::class);
$job = new ImportJob;
$job->user_id = $this->user()->id;
@@ -161,13 +160,7 @@ class PrerequisitesControllerTest extends TestCase
$job->file_type = '';
$job->save();
// 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')->times(2);
$prereq->shouldReceive('storePrerequisites')->once()->andReturn(new MessageBag);
$repository->shouldReceive('setStatus')->once()->withArgs([Mockery::any(), 'has_prereq']);
@@ -187,6 +180,8 @@ class PrerequisitesControllerTest extends TestCase
public function testPostBadState(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$prereq = $this->mock(FakePrerequisites::class);
$repository = $this->mock(ImportJobRepositoryInterface::class);
$job = new ImportJob;
$job->user_id = $this->user()->id;
@@ -198,11 +193,6 @@ class PrerequisitesControllerTest extends TestCase
$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);
$prereq->shouldReceive('setUser')->times(1);
$prereq->shouldReceive('isComplete')->times(1)->andReturn(false);
@@ -221,8 +211,6 @@ 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);
@@ -248,6 +236,8 @@ class PrerequisitesControllerTest extends TestCase
public function testPostWithMessages(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$prereq = $this->mock(FakePrerequisites::class);
$repository = $this->mock(ImportJobRepositoryInterface::class);
$job = new ImportJob;
$job->user_id = $this->user()->id;
@@ -260,11 +250,6 @@ class PrerequisitesControllerTest extends TestCase
$messages = new MessageBag;
$messages->add('some', 'message');
// 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')->times(1);

View File

@@ -158,6 +158,8 @@ class RecurrenceControllerTest extends TestCase
*/
public function testEventsStartAfterEnd(): void
{
$repository = $this->mock(RecurringRepositoryInterface::class);
$parameters = [
'start' => '2018-01-01',
'end' => '2018-01-31',
@@ -336,6 +338,8 @@ class RecurrenceControllerTest extends TestCase
*/
public function testSuggest(): void
{
$repository = $this->mock(RecurringRepositoryInterface::class);
$this->be($this->user());
$parameters = [

View File

@@ -33,6 +33,7 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Illuminate\Support\Collection;
use Log;
use Mockery;
@@ -68,6 +69,7 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
$currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once();
@@ -91,6 +93,9 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
$currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once();
@@ -111,24 +116,20 @@ class PiggyBankControllerTest extends TestCase
public function testCreate(): void
{
// mock stuff
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
// new account list thing.
$currency = TransactionCurrency::first();
$account = factory(Account::class)->make();
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$currencyRepos->shouldReceive('findNull')->andReturn($currency);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
Amount::shouldReceive('getDefaultCurrency')->andReturn($currency);
Amount::shouldReceive('balance')->andReturn('0');
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
@@ -147,7 +148,9 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$this->be($this->user());
@@ -166,6 +169,7 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
@@ -187,10 +191,11 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
// mock stuff
$account = factory(Account::class)->make();
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
// mock stuff for new account list thing.
@@ -224,7 +229,9 @@ class PiggyBankControllerTest extends TestCase
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$repository = $this->mock(PiggyBankRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$accountRepos->shouldReceive('setUser');
$currencyRepos->shouldReceive('setUser');
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
@@ -266,6 +273,7 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
$currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once();
@@ -294,6 +302,7 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
$currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once();
@@ -319,6 +328,7 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
$currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once();
@@ -345,6 +355,7 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
$currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once();
@@ -369,6 +380,7 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
$currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once();
@@ -389,10 +401,11 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
$currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once();
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$this->be($this->user());
@@ -412,6 +425,7 @@ class PiggyBankControllerTest extends TestCase
$repository = $this->mock(PiggyBankRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$repository->shouldReceive('setOrder')->once()->withArgs([Mockery::any(), 3])->andReturn(false);
@@ -433,11 +447,12 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$accountRepos->shouldReceive('setUser');
$accountRepos->shouldReceive('getMetaValue')->withArgs([Mockery::any(), 'currency_id'])->andReturn('1')->atLeast()->once();
$currencyRepos->shouldReceive('findNull')->withArgs([1])->andReturn(TransactionCurrency::find(1))->atLeast()->once();
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$currencyRepos->shouldReceive('setUser');
$repository->shouldReceive('setUser')->once();
$journalRepos->shouldReceive('firstNull')->once()->andReturn($first);
@@ -463,6 +478,7 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$repository->shouldReceive('store')->andReturn(new PiggyBank);
@@ -492,6 +508,7 @@ class PiggyBankControllerTest extends TestCase
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$repository->shouldReceive('update')->andReturn(new PiggyBank);

View File

@@ -24,8 +24,10 @@ declare(strict_types=1);
namespace Tests\Feature\Controllers\Recurring;
use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Illuminate\Support\Collection;
use Log;
use Mockery;
use Tests\TestCase;
/**
@@ -49,8 +51,10 @@ class DeleteControllerTest extends TestCase
public function testDelete(): void
{
$recurringRepos = $this->mock(RecurringRepositoryInterface::class);
$recurringRepos->shouldReceive('getTransactions')->andReturn(new Collection())->once();
$userRepos = $this->mock(UserRepositoryInterface::class);
$recurringRepos->shouldReceive('getTransactions')->andReturn(new Collection())->once();
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$this->be($this->user());
$response = $this->get(route('recurring.delete', [1]));
@@ -64,6 +68,8 @@ class DeleteControllerTest extends TestCase
public function testDestroy(): void
{
$recurringRepos = $this->mock(RecurringRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$recurringRepos->shouldReceive('destroy')->once();

View File

@@ -24,11 +24,15 @@ declare(strict_types=1);
namespace Tests\Feature\Controllers\Recurring;
use Carbon\Carbon;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Illuminate\Support\Collection;
use Log;
use Mockery;
use Tests\TestCase;
/**
@@ -53,6 +57,11 @@ class EditControllerTest extends TestCase
{
$recurringRepos = $this->mock(RecurringRepositoryInterface::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos =$this->mock(AccountRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$recurringRepos->shouldReceive('setUser');
$recurringRepos->shouldReceive('getNoteText')->andReturn('Note!');
@@ -80,6 +89,9 @@ class EditControllerTest extends TestCase
$recurringRepos = $this->mock(RecurringRepositoryInterface::class);
$budgetRepos = $this->mock(BudgetRepositoryInterface::class);
$categoryRepos = $this->mock(CategoryRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$currencyRepos = $this->mock(CurrencyRepositoryInterface::class);
$accountRepos =$this->mock(AccountRepositoryInterface::class);
$recurringRepos->shouldReceive('update')->once();

View File

@@ -27,8 +27,10 @@ use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Repositories\Rule\RuleRepositoryInterface;
use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Illuminate\Support\Collection;
use Log;
use Mockery;
use Tests\TestCase;
/**
@@ -59,11 +61,11 @@ class IndexControllerTest extends TestCase
$repository = $this->mock(RuleRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$repository->shouldReceive('moveDown');
$this->be($this->user());
$response = $this->get(route('rules.down', [1]));
$response->assertStatus(302);
@@ -80,6 +82,9 @@ class IndexControllerTest extends TestCase
$repository = $this->mock(RuleRepositoryInterface::class);
$ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$ruleGroupRepos->shouldReceive('count')->andReturn(0);
$ruleGroupRepos->shouldReceive('store');
@@ -103,6 +108,7 @@ class IndexControllerTest extends TestCase
$repository = $this->mock(RuleRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
@@ -123,6 +129,7 @@ class IndexControllerTest extends TestCase
$repository = $this->mock(RuleRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$data = ['triggers' => [1, 2, 3]];
@@ -143,6 +150,8 @@ class IndexControllerTest extends TestCase
$repository = $this->mock(RuleRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$ruleGroupRepos = $this->mock(RuleGroupRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$repository->shouldReceive('moveUp');

View File

@@ -26,9 +26,9 @@ namespace Tests\Unit\Import\JobConfiguration;
use FireflyIII\Import\JobConfiguration\FakeJobConfiguration;
use FireflyIII\Models\ImportJob;
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use Log;
use Mockery;
use Tests\TestCase;
use Log;
/**
* Class FakeJobConfigurationTest
@@ -52,6 +52,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testCC(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'A_unit_' . random_int(1, 10000);
@@ -62,6 +65,8 @@ class FakeJobConfigurationTest extends TestCase
$job->configuration = [];
$job->save();
// should be false:
$configurator = new FakeJobConfiguration;
$configurator->setImportJob($job);
@@ -75,6 +80,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testCCAlbumFalse(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'B_unit_' . random_int(1, 10000);
@@ -98,6 +106,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testCCApplyRules(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'C_unit_' . random_int(1, 10000);
@@ -123,6 +134,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testCCBadAlbum(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'D_unit_' . random_int(1, 10000);
@@ -151,6 +165,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testCCBadInfo(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'E_unit_' . random_int(1, 10000);
@@ -178,6 +195,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testCCGoodAlbum(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'f_unit_' . random_int(1, 10000);
@@ -206,6 +226,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testCCGoodNewInfo(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'g_unit_' . random_int(1, 10000);
@@ -513,6 +536,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testGetNextViewAlbum(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'p_unit_' . random_int(1, 10000);
@@ -537,6 +563,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testGetNextViewArtist(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'p_unit_' . random_int(1, 10000);
@@ -561,6 +590,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testGetNextViewRules(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'p_unit_' . random_int(1, 10000);
@@ -585,6 +617,9 @@ class FakeJobConfigurationTest extends TestCase
*/
public function testGetNextViewSong(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'p_unit_' . random_int(1, 10000);

View File

@@ -27,6 +27,7 @@ namespace Tests\Unit\Import\JobConfiguration;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Import\JobConfiguration\FileJobConfiguration;
use FireflyIII\Models\ImportJob;
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use FireflyIII\Support\Import\JobConfiguration\File\ConfigureMappingHandler;
use FireflyIII\Support\Import\JobConfiguration\File\ConfigureRolesHandler;
use FireflyIII\Support\Import\JobConfiguration\File\ConfigureUploadHandler;
@@ -57,6 +58,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testCCFalse(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'File_A_unit_' . random_int(1, 10000);
@@ -80,6 +83,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testCCTrue(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'File_B_unit_' . random_int(1, 10000);
@@ -103,6 +108,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testConfigureJob(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'I-Cfile_' . random_int(1, 10000);
@@ -138,6 +145,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testGetNextDataCU(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'G-Dfile_' . random_int(1, 10000);
@@ -171,6 +180,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testGetNextDataMap(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'H-Efile_' . random_int(1, 10000);
@@ -204,6 +215,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testGetNextDataNew(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'F-fFile_' . random_int(1, 10000);
@@ -237,6 +250,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testGetNextDataRoles(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'H-fiGle_' . random_int(1, 10000);
@@ -270,6 +285,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testGetNextViewCU(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'DfiHle_' . random_int(1, 10000);
@@ -298,6 +315,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testGetNextViewMap(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'FfilIe_' . random_int(1, 10000);
@@ -326,6 +345,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testGetNextViewNew(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'CfJile_' . random_int(1, 10000);
@@ -354,6 +375,8 @@ class FileJobConfigurationTest extends TestCase
*/
public function testGetNextViewRoles(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once()->atLeast();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'EfiKle_' . random_int(1, 10000);

View File

@@ -26,6 +26,7 @@ namespace Tests\Unit\Import\JobConfiguration;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Import\JobConfiguration\SpectreJobConfiguration;
use FireflyIII\Models\ImportJob;
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use FireflyIII\Support\Import\JobConfiguration\Spectre\AuthenticatedHandler;
use FireflyIII\Support\Import\JobConfiguration\Spectre\ChooseAccountsHandler;
use FireflyIII\Support\Import\JobConfiguration\Spectre\ChooseLoginHandler;
@@ -55,6 +56,8 @@ class SpectreJobConfigurationTest extends TestCase
*/
public function testConfigurationComplete(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'spectre_jc_A' . random_int(1, 10000);
@@ -84,6 +87,8 @@ class SpectreJobConfigurationTest extends TestCase
*/
public function testConfigureJob(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'spectre_jc_B' . random_int(1, 10000);
@@ -116,6 +121,8 @@ class SpectreJobConfigurationTest extends TestCase
*/
public function testGetNextData(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'spectre_jc_C' . random_int(1, 10000);
@@ -146,6 +153,8 @@ class SpectreJobConfigurationTest extends TestCase
*/
public function testGetNextView(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'spectre_jc_D' . random_int(1, 10000);
@@ -175,6 +184,8 @@ class SpectreJobConfigurationTest extends TestCase
*/
public function testGetNextViewAccount(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'spectre_jc_E' . random_int(1, 10000);

View File

@@ -38,10 +38,12 @@ use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Repositories\Rule\RuleRepositoryInterface;
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Illuminate\Support\Collection;
use Log;
use Mockery;
use Tests\TestCase;
use Log;
/**
* Class ImportArrayStorageTest
*/
@@ -57,7 +59,6 @@ class ImportArrayStorageTest extends TestCase
}
/**
* Very basic storage routine. Doesn't call store()
*
@@ -65,6 +66,10 @@ class ImportArrayStorageTest extends TestCase
*/
public function testBasic(): void
{
// mock stuff
$repository = $this->mock(ImportJobRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
// make fake job
$job = new ImportJob;
$job->user()->associate($this->user());
@@ -77,9 +82,6 @@ class ImportArrayStorageTest extends TestCase
$job->transactions = [];
$job->save();
// mock stuff
$repository = $this->mock(ImportJobRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
// mock calls:
$repository->shouldReceive('setUser')->once();
@@ -94,6 +96,9 @@ class ImportArrayStorageTest extends TestCase
*/
public function testBasicStoreDoubleTransferWithRules(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('findNull')->once()->andReturn($this->user());
// get a transfer:
/** @var TransactionJournal $transfer */
$transfer = $this->user()->transactionJournals()
@@ -183,6 +188,9 @@ class ImportArrayStorageTest extends TestCase
*/
public function testBasicStoreIsDouble(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('findNull')->once()->andReturn($this->user());
// make fake job
$transactions = [$this->singleWithdrawal(), $this->singleWithdrawal()];
$job = new ImportJob;
@@ -245,6 +253,9 @@ class ImportArrayStorageTest extends TestCase
*/
public function testBasicStoreNothing(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('findNull')->once()->andReturn($this->user());
// make fake job
$job = new ImportJob;
$job->user()->associate($this->user());
@@ -284,6 +295,9 @@ class ImportArrayStorageTest extends TestCase
*/
public function testBasicStoreNothingWithRules(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('findNull')->once()->andReturn($this->user());
// make fake job
$job = new ImportJob;
$job->user()->associate($this->user());
@@ -326,6 +340,9 @@ class ImportArrayStorageTest extends TestCase
*/
public function testBasicStoreSingleWithNoRules(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('findNull')->once()->andReturn($this->user());
// make fake job
$job = new ImportJob;
$job->user()->associate($this->user());
@@ -377,6 +394,9 @@ class ImportArrayStorageTest extends TestCase
*/
public function testBasicStoreSingleWithRules(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('findNull')->once()->andReturn($this->user());
// make fake job
$job = new ImportJob;
$job->user()->associate($this->user());
@@ -433,6 +453,9 @@ class ImportArrayStorageTest extends TestCase
*/
public function testBasicStoreTransferWithRules(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('findNull')->once()->andReturn($this->user());
// make fake job
$job = new ImportJob;
$job->user()->associate($this->user());

View File

@@ -24,6 +24,8 @@ declare(strict_types=1);
namespace Tests\Unit\Middleware;
use FireflyIII\Http\Middleware\IsAdmin;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Mockery;
use Route;
use Symfony\Component\HttpFoundation\Response;
use Tests\TestCase;
@@ -54,6 +56,8 @@ class IsAdminTest extends TestCase
*/
public function testMiddleware(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$this->withoutExceptionHandling();
$response = $this->get('/_test/is-admin');
$this->assertEquals(Response::HTTP_FOUND, $response->getStatusCode());
@@ -65,6 +69,8 @@ class IsAdminTest extends TestCase
*/
public function testMiddlewareAjax(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$server = ['HTTP_X-Requested-With' => 'XMLHttpRequest'];
$this->withoutExceptionHandling();
$response = $this->get('/_test/is-admin', $server);
@@ -76,6 +82,9 @@ class IsAdminTest extends TestCase
*/
public function testMiddlewareNotOwner(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(false);
$this->withoutExceptionHandling();
$this->be($this->emptyUser());
$response = $this->get('/_test/is-admin');
@@ -88,6 +97,9 @@ class IsAdminTest extends TestCase
*/
public function testMiddlewareOwner(): void
{
$userRepos = $this->mock(UserRepositoryInterface::class);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->atLeast()->once()->andReturn(true);
$this->be($this->user());
$this->withoutExceptionHandling();
$response = $this->get('/_test/is-admin');

View File

@@ -35,9 +35,9 @@ use FireflyIII\Support\Import\JobConfiguration\File\ConfigureMappingHandler;
use Illuminate\Support\Collection;
use League\Csv\Exception;
use League\Csv\Reader;
use Log;
use Mockery;
use Tests\TestCase;
use Log;
/**
* Class ConfigureMappingHandlerTest
@@ -59,6 +59,8 @@ class ConfigureMappingHandlerTest extends TestCase
*/
public function testApplySpecifics(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$importRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'mapG' . random_int(1, 10000);
@@ -94,6 +96,7 @@ class ConfigureMappingHandlerTest extends TestCase
*/
public function testConfigureJob(): void
{
// create fake input for class method:
$input = [
'mapping' => [
@@ -158,6 +161,8 @@ class ConfigureMappingHandlerTest extends TestCase
*/
public function testDoColumnConfig(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$importRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'mapE' . random_int(1, 10000);
@@ -221,7 +226,8 @@ class ConfigureMappingHandlerTest extends TestCase
*/
public function testDoMapOfColumn(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$importRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'mapC' . random_int(1, 10000);
@@ -251,6 +257,7 @@ class ConfigureMappingHandlerTest extends TestCase
*/
public function testGetNextData(): void
{
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'mapH' . random_int(1, 10000);
@@ -332,6 +339,8 @@ class ConfigureMappingHandlerTest extends TestCase
*/
public function testGetPreProcessorName(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$importRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'mapD' . random_int(1, 10000);
@@ -360,6 +369,7 @@ class ConfigureMappingHandlerTest extends TestCase
*/
public function testGetReader(): void
{
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'mapF' . random_int(1, 10000);
@@ -408,6 +418,8 @@ class ConfigureMappingHandlerTest extends TestCase
*/
public function testGetValuesForMapping(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$importRepos->shouldReceive('setUser')->once();
// create a reader to use in method.
// 5 columns, of which #4 (index 3) is budget-id
// 5 columns, of which #5 (index 4) is tags-space
@@ -475,7 +487,8 @@ class ConfigureMappingHandlerTest extends TestCase
*/
public function testSanitizeColumnName(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$importRepos->shouldReceive('setUser')->once();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'mapB' . random_int(1, 10000);

View File

@@ -57,6 +57,9 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testConfigurationCompleteBasic(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$config = [
'column-count' => 5,
'column-roles' => [
@@ -77,6 +80,8 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testConfigurationCompleteForeign(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$config = [
'column-count' => 5,
'column-roles' => [
@@ -101,6 +106,7 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testConfigurationCompleteNoAmount(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$config = [
'column-count' => 5,
'column-roles' => [
@@ -125,6 +131,7 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testConfigureJob(): void
{
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'role-B' . random_int(1, 10000);
@@ -178,7 +185,7 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testGetExampleFromLine(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$lines = [
['one', 'two', '', 'three'],
['four', 'five', '', 'six'],
@@ -201,6 +208,11 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testGetExamplesFromFile(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$importRepos->shouldReceive('setUser')->once();
$importRepos->shouldReceive('setConfiguration')->once()
->withAnyArgs();
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'role-x' . random_int(1, 10000);
@@ -239,6 +251,8 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testGetHeadersHas(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
//$importRepos->shouldReceive('setUser')->once();
// create a reader to use in method.
// 5 columns, of which #4 (index 3) is budget-id
// 5 columns, of which #5 (index 4) is tags-space
@@ -260,6 +274,8 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testGetHeadersNone(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
// create a reader to use in method.
// 5 columns, of which #4 (index 3) is budget-id
// 5 columns, of which #5 (index 4) is tags-space
@@ -278,6 +294,7 @@ class ConfigureRolesHandlerTest extends TestCase
public function testGetNextData(): void
{
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'role-x' . random_int(1, 10000);
@@ -348,6 +365,7 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testGetReader(): void
{
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'role-x' . random_int(1, 10000);
@@ -396,6 +414,8 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testIgnoreUnmappableColumns(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$config = [
'column-count' => 5,
'column-roles' => [
@@ -439,6 +459,8 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testIsMappingNecessaryNo(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$config = [
'column-do-mapping' => [false, false, false],
];
@@ -452,6 +474,8 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testIsMappingNecessaryYes(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$config = [
'column-do-mapping' => [false, true, false, false],
];
@@ -465,6 +489,8 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testMakeExamplesUnique(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$lines = [
['one', 'two', '', 'three'],
['four', 'five', '', 'six'],
@@ -491,6 +517,8 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testProcessSpecifics(): void
{
$importRepos = $this->mock(ImportJobRepositoryInterface::class);
$line = [];
$config = [
'specifics' => [
@@ -512,6 +540,7 @@ class ConfigureRolesHandlerTest extends TestCase
*/
public function testSaveColumCount(): void
{
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'role-A' . random_int(1, 10000);

View File

@@ -59,6 +59,7 @@ class ChooseLoginHandlerTest extends TestCase
*/
public function testCCFalse(): void
{
$job = new ImportJob;
$job->user_id = $this->user()->id;
$job->key = 'slh-A' . random_int(1, 10000);
@@ -205,6 +206,8 @@ class ChooseLoginHandlerTest extends TestCase
*/
public function testGetNextData(): void
{
$repository = $this->mock(ImportJobRepositoryInterface::class);
$repository->shouldReceive('setUser')->once();
// fake login:
$holder = new Holder([]);
$attempt = new Attempt(

View File

@@ -27,15 +27,16 @@ namespace Tests\Unit\Support\Import\Routine\File;
use Amount;
use Carbon\Carbon;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use FireflyIII\Support\Import\Placeholder\ImportTransaction;
use FireflyIII\Support\Import\Routine\File\AssetAccountMapper;
use FireflyIII\Support\Import\Routine\File\CurrencyMapper;
use FireflyIII\Support\Import\Routine\File\ImportableConverter;
use FireflyIII\Support\Import\Routine\File\OpposingAccountMapper;
use Log;
use Mockery;
use Tests\TestCase;
use Log;
/**
* todo test foreign currency
@@ -81,6 +82,9 @@ class ImportableConverterTest extends TestCase
$assetMapper = $this->mock(AssetAccountMapper::class);
$opposingMapper = $this->mock(OpposingAccountMapper::class);
$currencyMapper = $this->mock(CurrencyMapper::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser')->once();
// get default currency
$euro = TransactionCurrency::whereCode('EUR')->first();
@@ -138,6 +142,10 @@ class ImportableConverterTest extends TestCase
$assetMapper = $this->mock(AssetAccountMapper::class);
$opposingMapper = $this->mock(OpposingAccountMapper::class);
$currencyMapper = $this->mock(CurrencyMapper::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser')->once();
$accountRepos->shouldReceive('getMetaValue')
->withArgs([Mockery::any(), 'currency_id'])->atLeast()->once()->andReturn('1');
// get default currency
$euro = TransactionCurrency::whereCode('EUR')->first();
@@ -159,7 +167,7 @@ class ImportableConverterTest extends TestCase
$currencyMapper->shouldReceive('map')->once()->withArgs([null, ['name' => null, 'code' => null, 'symbol' => null]])->andReturn(null);
$currencyMapper->shouldReceive('map')->once()->withArgs([null, ['code' => null]])->andReturn(null);
$currencyMapper->shouldReceive('map')->times(1)->withArgs([$euro->id, []])->andReturn($euro);
$currencyMapper->shouldReceive('map')->times(2)->withArgs([$euro->id, []])->andReturn($euro);
$converter = new ImportableConverter;
@@ -199,6 +207,8 @@ class ImportableConverterTest extends TestCase
$assetMapper = $this->mock(AssetAccountMapper::class);
$opposingMapper = $this->mock(OpposingAccountMapper::class);
$currencyMapper = $this->mock(CurrencyMapper::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser')->once();
// get default currency
$euro = TransactionCurrency::whereCode('EUR')->first();
@@ -261,6 +271,8 @@ class ImportableConverterTest extends TestCase
$assetMapper = $this->mock(AssetAccountMapper::class);
$opposingMapper = $this->mock(OpposingAccountMapper::class);
$currencyMapper = $this->mock(CurrencyMapper::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser')->once();
// get default currency
$euro = TransactionCurrency::whereCode('EUR')->first();
@@ -318,6 +330,8 @@ class ImportableConverterTest extends TestCase
$assetMapper = $this->mock(AssetAccountMapper::class);
$opposingMapper = $this->mock(OpposingAccountMapper::class);
$currencyMapper = $this->mock(CurrencyMapper::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser')->once();
// get default currency
$euro = TransactionCurrency::whereCode('EUR')->first();
@@ -389,6 +403,8 @@ class ImportableConverterTest extends TestCase
$assetMapper = $this->mock(AssetAccountMapper::class);
$opposingMapper = $this->mock(OpposingAccountMapper::class);
$currencyMapper = $this->mock(CurrencyMapper::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser')->once();
// get default currency
$euro = TransactionCurrency::whereCode('EUR')->first();
@@ -454,6 +470,8 @@ class ImportableConverterTest extends TestCase
$assetMapper = $this->mock(AssetAccountMapper::class);
$opposingMapper = $this->mock(OpposingAccountMapper::class);
$currencyMapper = $this->mock(CurrencyMapper::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser')->once();
// get default currency
$euro = TransactionCurrency::whereCode('EUR')->first();
@@ -502,7 +520,10 @@ class ImportableConverterTest extends TestCase
$assetMapper = $this->mock(AssetAccountMapper::class);
$opposingMapper = $this->mock(OpposingAccountMapper::class);
$currencyMapper = $this->mock(CurrencyMapper::class);
$euro = TransactionCurrency::whereCode('EUR')->first();
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser')->once();
$euro = TransactionCurrency::whereCode('EUR')->first();
Amount::shouldReceive('getDefaultCurrencyByUser')->andReturn($euro)->once();
$repository->shouldReceive('setUser')->once();
$assetMapper->shouldReceive('setUser')->once();
@@ -532,7 +553,10 @@ class ImportableConverterTest extends TestCase
$assetMapper = $this->mock(AssetAccountMapper::class);
$opposingMapper = $this->mock(OpposingAccountMapper::class);
$currencyMapper = $this->mock(CurrencyMapper::class);
$euro = TransactionCurrency::whereCode('EUR')->first();
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$accountRepos->shouldReceive('setUser')->once();
$euro = TransactionCurrency::whereCode('EUR')->first();
Amount::shouldReceive('getDefaultCurrencyByUser')->andReturn($euro)->once();
$repository->shouldReceive('setUser')->once();
$assetMapper->shouldReceive('setUser')->once();

View File

@@ -26,6 +26,7 @@ namespace Tests\Unit\Support\Import\Routine\File;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\ImportJob;
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use FireflyIII\Support\Import\Routine\File\MappingConverger;
use Tests\TestCase;
use Log;
@@ -48,7 +49,8 @@ class MappingConvergerTest extends TestCase
*/
public function testConverge(): void
{
$jobRepos = $this->mock(ImportJobRepositoryInterface::class);
$jobRepos->shouldReceive('setUser')->once();
// configuration
$config = [
'column-roles' => [

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace Tests\Unit\TransactionRules\Triggers;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\TransactionRules\Triggers\FromAccountStarts;
use Illuminate\Support\Collection;
@@ -49,7 +50,7 @@ class FromAccountStartsTest extends TestCase
public function testTriggered(): void
{
$repository = $this->mock(JournalRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
/** @var TransactionJournal $journal */
$journal = $this->user()->transactionJournals()->inRandomOrder()->first();
$account = $this->user()->accounts()->inRandomOrder()->first();
@@ -67,6 +68,7 @@ class FromAccountStartsTest extends TestCase
public function testTriggeredLonger(): void
{
$repository = $this->mock(JournalRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
/** @var TransactionJournal $journal */
$journal = $this->user()->transactionJournals()->inRandomOrder()->first();
@@ -85,6 +87,7 @@ class FromAccountStartsTest extends TestCase
public function testTriggeredNot(): void
{
$repository = $this->mock(JournalRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
/** @var TransactionJournal $journal */
$journal = $this->user()->transactionJournals()->inRandomOrder()->first();
@@ -103,6 +106,8 @@ class FromAccountStartsTest extends TestCase
public function testWillMatchEverythingEmpty(): void
{
$repository = $this->mock(JournalRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$value = '';
$result = FromAccountStarts::willMatchEverything($value);
$this->assertTrue($result);
@@ -114,6 +119,8 @@ class FromAccountStartsTest extends TestCase
public function testWillMatchEverythingNotNull(): void
{
$repository = $this->mock(JournalRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$value = 'x';
$result = FromAccountStarts::willMatchEverything($value);
$this->assertFalse($result);
@@ -125,6 +132,8 @@ class FromAccountStartsTest extends TestCase
public function testWillMatchEverythingNull(): void
{
$repository = $this->mock(JournalRepositoryInterface::class);
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$value = null;
$result = FromAccountStarts::willMatchEverything($value);
$this->assertTrue($result);