added paid status to bill factory

This commit is contained in:
denisdulici 2020-01-19 00:25:46 +03:00
parent c2719dcbca
commit 48c9208b4a

View File

@ -1,6 +1,7 @@
<?php <?php
use App\Events\Purchase\BillCreated; use App\Events\Purchase\BillCreated;
use App\Jobs\Banking\CreateDocumentTransaction;
use App\Jobs\Purchase\CreateBillHistory; use App\Jobs\Purchase\CreateBillHistory;
use App\Jobs\Purchase\UpdateBill; use App\Jobs\Purchase\UpdateBill;
use App\Models\Auth\User; use App\Models\Auth\User;
@ -28,7 +29,7 @@ $factory->define(Bill::class, function (Faker $faker) use ($company) {
$contact = factory(Contact::class)->states('vendor')->create(); $contact = factory(Contact::class)->states('vendor')->create();
} }
$statuses = ['draft', 'received']; $statuses = ['draft', 'received', 'paid'];
return [ return [
'company_id' => $company->id, 'company_id' => $company->id,
@ -54,6 +55,8 @@ $factory->state(Bill::class, 'draft', ['status' => 'draft']);
$factory->state(Bill::class, 'received', ['status' => 'received']); $factory->state(Bill::class, 'received', ['status' => 'received']);
$factory->state(Bill::class, 'paid', ['status' => 'paid']);
$factory->state(Bill::class, 'recurring', function (Faker $faker) { $factory->state(Bill::class, 'recurring', function (Faker $faker) {
$frequencies = ['monthly', 'weekly']; $frequencies = ['monthly', 'weekly'];
@ -91,8 +94,13 @@ $factory->afterCreating(Bill::class, function ($bill, $faker) use ($company) {
session(['company_id' => $company->id]); session(['company_id' => $company->id]);
setting()->setExtraColumns(['company_id' => $company->id]); setting()->setExtraColumns(['company_id' => $company->id]);
$status = $bill->status;
$bill->status = 'draft';
event(new BillCreated($bill)); event(new BillCreated($bill));
$bill->status = $status;
if ($bill->status == 'received') { if ($bill->status == 'received') {
$bill->status = 'received'; $bill->status = 'received';
$bill->save(); $bill->save();
@ -118,4 +126,8 @@ $factory->afterCreating(Bill::class, function ($bill, $faker) use ($company) {
]; ];
$updated_bill = dispatch_now(new UpdateBill($bill, $request)); $updated_bill = dispatch_now(new UpdateBill($bill, $request));
if ($bill->status == 'paid') {
$transaction = dispatch_now(new CreateDocumentTransaction($updated_bill, []));
}
}); });