Add quotes to randomdata generator (#3171)

This commit is contained in:
David Bomba 2019-12-26 17:09:14 +11:00 committed by GitHub
parent 6bf4cfe395
commit e9b9cef2f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 49 additions and 2 deletions

View File

@ -9,10 +9,12 @@ use App\Factory\ClientFactory;
use App\Factory\InvoiceFactory;
use App\Factory\InvoiceItemFactory;
use App\Factory\PaymentFactory;
use App\Factory\QuoteFactory;
use App\Helpers\Invoice\InvoiceSum;
use App\Jobs\Company\UpdateCompanyLedgerWithInvoice;
use App\Jobs\Invoice\CreateInvoiceInvitations;
use App\Jobs\Invoice\UpdateInvoicePayment;
use App\Jobs\Quote\CreateQuoteInvitations;
use App\Listeners\Invoice\CreateInvoiceInvitation;
use App\Models\CompanyToken;
use App\Models\Payment;
@ -265,11 +267,12 @@ class CreateTestData extends Command
$y = $this->count * rand(1,5);
$this->info("Creating {$y} invoices");
$this->info("Creating {$y} invoices & quotes");
for($x=0; $x<$y; $x++){
$this->createInvoice($client);
$this->createQuote($client);
}
}
@ -338,6 +341,50 @@ class CreateTestData extends Command
}
}
private function createQuote($client)
{
$faker = \Faker\Factory::create();
$quote = QuoteFactory::create($client->company->id,$client->user->id);//stub the company and user_id
$quote->client_id = $client->id;
$quote->date = $faker->date();
$quote->line_items = $this->buildLineItems();
$quote->uses_inclusive_taxes = false;
if(rand(0,1))
{
$quote->tax_name1 = 'GST';
$quote->tax_rate1 = 10.00;
}
if(rand(0,1))
{
$quote->tax_name2 = 'VAT';
$quote->tax_rate2 = 17.50;
}
if(rand(0,1))
{
$quote->tax_name3 = 'CA Sales Tax';
$quote->tax_rate3 = 5;
}
$quote->save();
$quote_calc = new InvoiceSum($quote);
$quote_calc->build();
$quote = $quote_calc->getInvoice();
$quote->save();
CreateQuoteInvitations::dispatch($quote);
}
private function buildLineItems()
{
$line_items = [];

View File

@ -22,7 +22,7 @@ class QuoteFactory
{
$quote = new Quote();
$quote->status_id = Quote::STATUS_DRAFT;
$quote->number = '';
$quote->number = null;
$quote->discount = 0;
$quote->is_amount_discount = true;
$quote->po_number = '';