| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- namespace Tests\Unit\Models;
- use App\Models\Reclamation;
- use App\Models\SparePartOrder;
- use App\Models\SparePartOrderShipment;
- use App\Models\User;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Foundation\Testing\RefreshDatabase;
- use Illuminate\Support\Facades\DB;
- use Tests\TestCase;
- class SparePartOrderShipmentTest extends TestCase
- {
- use RefreshDatabase;
- protected $seed = true;
- public function test_can_create_shipment(): void
- {
- $sparePartOrder = SparePartOrder::factory()->inStock()->create();
- $id = DB::table('spare_part_order_shipments')->insertGetId([
- 'spare_part_order_id' => $sparePartOrder->id,
- 'quantity' => 5,
- 'note' => 'Test shipment',
- 'reclamation_id' => null,
- 'user_id' => null,
- 'is_automatic' => false,
- 'created_at' => now(),
- 'updated_at' => now(),
- ]);
- $shipment = SparePartOrderShipment::find($id);
- $this->assertNotNull($shipment);
- $this->assertEquals($sparePartOrder->id, $shipment->spare_part_order_id);
- }
- public function test_casts_is_automatic_to_boolean(): void
- {
- $sparePartOrder = SparePartOrder::factory()->inStock()->create();
- $id = DB::table('spare_part_order_shipments')->insertGetId([
- 'spare_part_order_id' => $sparePartOrder->id,
- 'quantity' => 3,
- 'is_automatic' => true,
- 'created_at' => now(),
- 'updated_at' => now(),
- ]);
- $shipment = SparePartOrderShipment::find($id);
- $this->assertIsBool($shipment->is_automatic);
- $this->assertTrue($shipment->is_automatic);
- }
- public function test_casts_quantity_to_integer(): void
- {
- $sparePartOrder = SparePartOrder::factory()->inStock()->create();
- $id = DB::table('spare_part_order_shipments')->insertGetId([
- 'spare_part_order_id' => $sparePartOrder->id,
- 'quantity' => 7,
- 'is_automatic' => false,
- 'created_at' => now(),
- 'updated_at' => now(),
- ]);
- $shipment = SparePartOrderShipment::find($id);
- $this->assertIsInt($shipment->quantity);
- $this->assertEquals(7, $shipment->quantity);
- }
- public function test_relations_exist(): void
- {
- $sparePartOrder = SparePartOrder::factory()->inStock()->create();
- $id = DB::table('spare_part_order_shipments')->insertGetId([
- 'spare_part_order_id' => $sparePartOrder->id,
- 'quantity' => 1,
- 'is_automatic' => false,
- 'created_at' => now(),
- 'updated_at' => now(),
- ]);
- $shipment = SparePartOrderShipment::find($id);
- $this->assertInstanceOf(BelongsTo::class, $shipment->sparePartOrder());
- $this->assertInstanceOf(BelongsTo::class, $shipment->reclamation());
- $this->assertInstanceOf(BelongsTo::class, $shipment->user());
- }
- public function test_spare_part_order_relation_returns_correct_model(): void
- {
- $sparePartOrder = SparePartOrder::factory()->inStock()->create();
- $id = DB::table('spare_part_order_shipments')->insertGetId([
- 'spare_part_order_id' => $sparePartOrder->id,
- 'quantity' => 2,
- 'is_automatic' => false,
- 'created_at' => now(),
- 'updated_at' => now(),
- ]);
- $shipment = SparePartOrderShipment::find($id);
- $this->assertInstanceOf(SparePartOrder::class, $shipment->sparePartOrder);
- $this->assertEquals($sparePartOrder->id, $shipment->sparePartOrder->id);
- }
- }
|