31 lines
778 B
PHP
31 lines
778 B
PHP
<?php
|
|
|
|
namespace Database\Factories;
|
|
|
|
use App\Enums\ProductStockQuality;
|
|
use App\Models\Order;
|
|
use App\Models\OrderItem;
|
|
use App\Models\ProductVariant;
|
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
|
|
/**
|
|
* @extends Factory<OrderItem>
|
|
*/
|
|
class OrderItemFactory extends Factory
|
|
{
|
|
public function definition(): array
|
|
{
|
|
$quantity = fake()->numberBetween(1, 20);
|
|
$unitPrice = fake()->numberBetween(25_000, 500_000);
|
|
|
|
return [
|
|
'order_id' => Order::factory(),
|
|
'product_variant_id' => ProductVariant::factory(),
|
|
'stock_quality' => ProductStockQuality::GOOD->value,
|
|
'quantity' => $quantity,
|
|
'unit_price' => $unitPrice,
|
|
'subtotal' => $quantity * $unitPrice,
|
|
];
|
|
}
|
|
}
|