<?php

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;

/**
 * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Product>
 */
class ProductFactory extends Factory
{
    /**
     * Define the model's default state.
     *
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'category_id' => \App\Models\Category::factory(),
            'name' => fake()->words(3, true),
            'slug' => fake()->unique()->slug(),
            'barcode' => 'BC-' . fake()->date('Ymd') . '-' . fake()->numerify('######'),
            'price' => fake()->randomFloat(2, 100, 10000),
            'mrp' => fn(array $attributes) => $attributes['price'] + fake()->randomFloat(2, 0, 5000),
            'stock' => fake()->numberBetween(0, 100),
            'short_desc' => fake()->sentence(),
            'long_desc' => fake()->paragraph(),
            'is_active' => true,
            'is_featured' => false,
            'is_prebooking' => false,
        ];
    }
}
