| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace Tests\Unit\Models;
- use App\Models\MafOrder;
- use App\Models\Product;
- use App\Models\ProductSKU;
- use App\Models\User;
- use Illuminate\Foundation\Testing\RefreshDatabase;
- use Tests\TestCase;
- class MafOrderTest extends TestCase
- {
- use RefreshDatabase;
- protected $seed = true;
- public function test_belongs_to_user(): void
- {
- $mafOrder = MafOrder::factory()->create();
- $this->assertInstanceOf(User::class, $mafOrder->user);
- }
- public function test_belongs_to_product(): void
- {
- $mafOrder = MafOrder::factory()->create();
- $this->assertInstanceOf(Product::class, $mafOrder->product);
- }
- public function test_has_many_products_sku(): void
- {
- $mafOrder = MafOrder::factory()->create();
- ProductSKU::factory()
- ->withMafOrder($mafOrder)
- ->count(3)
- ->create();
- $this->assertEquals(3, $mafOrder->products_sku()->withoutGlobalScopes()->count());
- }
- public function test_soft_deletes(): void
- {
- $mafOrder = MafOrder::factory()->create();
- $mafOrder->delete();
- $this->assertTrue($mafOrder->trashed());
- }
- public function test_year_set_on_create(): void
- {
- $mafOrder = MafOrder::factory()->create();
- $this->assertEquals((int) date('Y'), $mafOrder->year);
- }
- public function test_fully_in_stock_state(): void
- {
- $mafOrder = MafOrder::factory()->fullyInStock()->create();
- $this->assertEquals($mafOrder->quantity, $mafOrder->in_stock);
- }
- }
|