<?php

namespace Database\Factories;

use App\Models\Plan;
use Illuminate\Database\Eloquent\Factories\Factory;

/**
 * @extends Factory<Plan>
 */
class PlanFactory extends Factory
{
    /**
     * Define the model's default state.
     *
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'name' => fake()->words(3, true),
            'description' => fake()->sentence(),
            'product_id' => fake()->uuid(),
            'pricing_id' => fake()->uuid(),
            'shoppy_product_id' => fake()->uuid(),
            'accept_stripe' => fake()->boolean(),
            'accept_shoppy' => fake()->boolean(),
            'oxapay_link' => fake()->url(),
            'accept_oxapay' => fake()->boolean(),
            'price' => fake()->randomFloat(2, 0.99, 99.99),
            'mailbox_limit' => fake()->numberBetween(1, 1000),
            'monthly_billing' => fake()->boolean(),
            'details' => [
                'feature_1' => fake()->sentence(),
                'feature_2' => fake()->sentence(),
                'limit_1' => fake()->word(),
            ],
        ];
    }
}
