added random to tests

This commit is contained in:
denisdulici 2020-01-07 09:29:45 +03:00
parent 44fd928fa1
commit 40a5327f07
6 changed files with 26 additions and 22 deletions

View File

@ -2,7 +2,6 @@
use App\Models\Auth\User;
use App\Models\Banking\Account;
use App\Models\Setting\Currency;
use Faker\Generator as Faker;
$user = User::first();
@ -15,12 +14,11 @@ $factory->define(Account::class, function (Faker $faker) use ($company) {
'company_id' => $company->id,
'name' => $faker->text(5),
'number' => (string) $faker->randomNumber(2),
'currency_code' => setting('default.currency'),
//'currency_code' => Currency::enabled()->get()->random(1)->pluck('code')->first(),
'currency_code' => $company->currencies()->enabled()->get()->random(1)->pluck('code')->first(),
'opening_balance' => '0',
'bank_name' => $faker->text(5),
'bank_phone' => null,
'bank_address' => null,
'bank_phone' => $faker->phoneNumber,
'bank_address' => $faker->address,
'enabled' => $faker->boolean ? 1 : 0,
];
});
@ -36,3 +34,9 @@ $factory->state(Account::class, 'disabled', function (Faker $faker) {
'enabled' => 0,
];
});
$factory->state(Account::class, 'default_currency', function (Faker $faker) {
return [
'currency_code' => setting('default.currency'),
];
});

View File

@ -16,7 +16,7 @@ $factory->define(Item::class, function (Faker $faker) use ($company) {
'description' => $faker->text(100),
'purchase_price' => $faker->randomFloat(2, 10, 20),
'sale_price' => $faker->randomFloat(2, 10, 20),
'category_id' => $company->categories()->type('item')->pluck('id')->first(),
'category_id' => $company->categories()->type('item')->get()->random(1)->pluck('id')->first(),
'tax_id' => null,
'enabled' => $faker->boolean ? 1 : 0,
];

View File

@ -21,7 +21,7 @@ $factory->define(Transaction::class, function (Faker $faker) use ($company) {
'currency_code' => setting('default.currency'),
'currency_rate' => '1',
'description' => $faker->text(5),
'category_id' => $company->categories()->type($type)->pluck('id')->first(),
'category_id' => $company->categories()->type($type)->get()->random(1)->pluck('id')->first(),
'reference' => $faker->text(5),
'payment_method' => setting('default.payment_method'),
];
@ -30,13 +30,13 @@ $factory->define(Transaction::class, function (Faker $faker) use ($company) {
$factory->state(Transaction::class, 'income', function (Faker $faker) use ($company) {
return [
'type' => 'income',
'category_id' => $company->categories()->type('income')->pluck('id')->first(),
'category_id' => $company->categories()->type('income')->get()->random(1)->pluck('id')->first(),
];
});
$factory->state(Transaction::class, 'expense', function (Faker $faker) use ($company) {
return [
'type' => 'expense',
'category_id' => $company->categories()->type('expense')->pluck('id')->first(),
'category_id' => $company->categories()->type('expense')->get()->random(1)->pluck('id')->first(),
];
});

View File

@ -2,9 +2,9 @@
namespace Tests\Feature\Banking;
use App\Models\Banking\Transaction;
use App\Models\Banking\Transfer;
use App\Models\Banking\Account;
use Tests\Feature\FeatureTestCase;
use App\Jobs\Banking\CreateTransfer;
class TransfersTest extends FeatureTestCase
{
@ -35,7 +35,7 @@ class TransfersTest extends FeatureTestCase
public function testItShouldSeeTransferUpdatePage()
{
$transfer = Transfer::create($this->getRequest());
$transfer = $this->dispatch(new CreateTransfer($this->getRequest()));
$this->loginAs()
->get(route('transfers.edit', ['transfer' => $transfer->id]))
@ -47,7 +47,7 @@ class TransfersTest extends FeatureTestCase
{
$request = $this->getRequest();
$transfer = Transfer::create($request);
$transfer = $this->dispatch(new CreateTransfer($request));
$request['description'] = $this->faker->text(10);
@ -60,7 +60,7 @@ class TransfersTest extends FeatureTestCase
public function testItShouldDeleteTransfer()
{
$transfer = Transfer::create($this->getRequest());
$transfer = $this->dispatch(new CreateTransfer($this->getRequest()));
$this->loginAs()
->delete(route('transfers.destroy', ['transfer' => $transfer->id]))
@ -71,21 +71,19 @@ class TransfersTest extends FeatureTestCase
public function getRequest()
{
$income_transaction = factory(Transaction::class)->states('income')->create();
$from_account = factory(Account::class)->states('enabled')->create();
$expense_transaction = factory(Transaction::class)->states('expense')->create();
$to_account = factory(Account::class)->states('enabled')->create();
return [
'company_id' => $this->company->id,
'income_transaction_id' => $income_transaction->id,
'expense_transaction_id' => $expense_transaction->id,
'from_account_id' => $income_transaction->account_id,
'to_account_id' => $expense_transaction->account_id,
'amount' => '5',
'from_account_id' => $from_account->id,
'to_account_id' => $to_account->id,
'amount' => $this->faker->randomFloat(2, 2, 1000),
'transferred_at' => $this->faker->date(),
'description'=> $this->faker->text(5),
'payment_method' => setting('default.payment_method'),
'reference' => null,
'reference' => $this->faker->text(5),
];
}
}

View File

@ -25,6 +25,8 @@ abstract class FeatureTestCase extends TestCase
$this->user = User::first();
$this->company = $this->user->companies()->first();
session(['company_id' => $this->company->id]);
// Set Company settings
setting()->setExtraColumns(['company_id' => $this->company->id]);
setting()->forgetAll();