<?php

/**
 * 文件功能：每日签到奖励规则测试工厂。
 *
 * 用于测试中快速构造不同连续天数门槛的签到奖励规则。
 */

namespace Database\Factories;

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

/**
 * @extends Factory<SignInRewardRule>
 */
class SignInRewardRuleFactory extends Factory
{
    /**
     * 定义默认签到奖励规则测试数据。
     *
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'streak_days' => fake()->unique()->numberBetween(1, 30),
            'gold_reward' => 100,
            'exp_reward' => 10,
            'charm_reward' => 0,
            'identity_badge_code' => null,
            'identity_badge_name' => null,
            'identity_badge_icon' => null,
            'identity_badge_color' => '#0f766e',
            'identity_duration_days' => 0,
            'is_enabled' => true,
            'sort_order' => 0,
        ];
    }
}
