1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 00:11:35 +02:00

Finalize tests for Factories

This commit is contained in:
David Bomba 2019-04-26 21:18:23 +10:00
parent a9fe211799
commit acdc8fad94
4 changed files with 70 additions and 4 deletions

View File

@ -10,7 +10,7 @@ class CloneInvoiceFactory
{
$clone_invoice = $invoice->replicate();
$clone_invoice->status_id = Invoice::STATUS_DRAFT;
$clone_invoice->invoice_number = '';
$clone_invoice->invoice_number = NULL;
$clone_invoice->invoice_date = null;
$clone_invoice->due_date = null;
$clone_invoice->partial_due_date = null;

View File

@ -9,9 +9,9 @@ use Illuminate\Support\Facades\Log;
class InvoiceFactory
{
public static function create(int $company_id, int $user_id) :\stdClass
public static function create(int $company_id, int $user_id) :Invoice
{
$invoice = new \stdClass;
$invoice = new Invoice();
$invoice->status_id = Invoice::STATUS_DRAFT;
$invoice->invoice_number = '';
$invoice->discount = 0;

View File

@ -343,7 +343,7 @@ class CreateUsersTable extends Migration
$t->unsignedInteger('company_id')->index();
$t->unsignedInteger('status_id');
$t->string('invoice_number');
$t->string('invoice_number')->nullable();
$t->float('discount');
$t->boolean('is_amount_discount');

View File

@ -4,6 +4,9 @@ namespace Tests\Unit;
use App\Factory\ClientContactFactory;
use App\Factory\ClientFactory;
use App\Factory\CloneInvoiceFactory;
use App\Factory\InvoiceFactory;
use App\Factory\ProductFactory;
use App\Factory\UserFactory;
use App\Models\Client;
use App\Utils\Traits\MakesHash;
@ -46,6 +49,69 @@ class FactoryCreationTest extends TestCase
]);
}
/**
* @test
* @covers App\Factory\ProductFactory
*/
public function testProductionCreation()
{
$product = ProductFactory::create($this->company->id, $this->user->id);
$product->save();
$this->assertNotNull($product);
$this->assertInternalType("int", $product->id);
}
/**
* @test
* @covers App\Factory\InvoiceFactory
*/
public function testInvoiceCreation()
{
$client = ClientFactory::create($this->company->id, $this->user->id);
$client->save();
$invoice = InvoiceFactory::create($this->company->id,$this->user->id);//stub the company and user_id
$invoice->client_id = $client->id;
$invoice->save();
$this->assertNotNull($invoice);
$this->assertInternalType("int", $invoice->id);
}
/**
* @test
* @covers App|Factory\CloneInvoiceFactory
*/
public function testCloneInvoiceCreation()
{
$client = ClientFactory::create($this->company->id, $this->user->id);
$client->save();
$invoice = InvoiceFactory::create($this->company->id,$this->user->id);//stub the company and user_id
$invoice->client_id = $client->id;
$invoice->save();
$this->assertNotNull($invoice);
$this->assertInternalType("int", $invoice->id);
$clone = CloneInvoiceFactory::create($invoice, $this->user->id);
$clone->save();
$this->assertNotNull($clone);
$this->assertInternalType("int", $clone->id);
}
/**
* @test
* @covers App|Factory\ClientFactory