diff --git a/database/factories/Account.php b/database/factories/Account.php index 296725fc9..3f2547acb 100644 --- a/database/factories/Account.php +++ b/database/factories/Account.php @@ -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'), + ]; +}); diff --git a/database/factories/Item.php b/database/factories/Item.php index 6fdace2f9..12e3674d2 100644 --- a/database/factories/Item.php +++ b/database/factories/Item.php @@ -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, ]; diff --git a/database/factories/Transaction.php b/database/factories/Transaction.php index a9dd48f4c..ea00d92b8 100644 --- a/database/factories/Transaction.php +++ b/database/factories/Transaction.php @@ -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(), ]; }); diff --git a/public/files/import/chart-of-accounts.xlsx b/public/files/import/chart-of-accounts.xlsx deleted file mode 100644 index b8107b7c4..000000000 Binary files a/public/files/import/chart-of-accounts.xlsx and /dev/null differ diff --git a/tests/Feature/Banking/TransfersTest.php b/tests/Feature/Banking/TransfersTest.php index a01551415..63143f010 100644 --- a/tests/Feature/Banking/TransfersTest.php +++ b/tests/Feature/Banking/TransfersTest.php @@ -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), ]; } } \ No newline at end of file diff --git a/tests/Feature/FeatureTestCase.php b/tests/Feature/FeatureTestCase.php index a56f61b6f..baf2b01ca 100644 --- a/tests/Feature/FeatureTestCase.php +++ b/tests/Feature/FeatureTestCase.php @@ -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();