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); } }