<?php
namespace Database\Factories;
use App\Modules\Catalog\Models\Product;
use App\Modules\Order\Models\Order;
use App\Modules\Order\Models\OrderItem;
use Illuminate\Database\Eloquent\Factories\Factory;
class OrderItemFactory extends Factory
{
protected $model = OrderItem::class;
public function definition(): array
{
$unitPrice = fake()->randomFloat(2, 100, 2000);
$qty = fake()->numberBetween(1, 5);
return [
'order_id' => Order::factory(),
'product_id' => Product::factory(),
'product_name' => fake()->words(3, true),
'sku' => strtoupper(fake()->bothify('??-####')),
'quantity' => $qty,
'unit_price' => $unitPrice,
'discount_amount' => 0,
'tax_amount' => round($unitPrice * $qty * 0.13, 2),
'tax_rate' => 13.00,
'total_price' => round($unitPrice * $qty, 2),
];
}
}