*/ class PlanFactory extends Factory { public function definition(): array { return [ 'name' => PlanTier::Free->value, 'stripe_price_id_monthly' => null, 'stripe_price_id_annual' => null, 'max_fuel_types' => 1, 'email_enabled' => true, 'email_frequency' => 'weekly_digest', 'push_enabled' => false, 'push_frequency' => 'none', 'whatsapp_enabled' => false, 'whatsapp_daily_limit' => 0, 'whatsapp_scheduled_updates' => 0, 'sms_enabled' => false, 'sms_daily_limit' => 0, 'ai_predictions' => false, 'price_threshold' => false, 'score_alerts' => false, 'active' => true, ]; } public function free(): static { return $this->state(fn () => [ 'name' => PlanTier::Free->value, 'stripe_price_id_monthly' => null, 'stripe_price_id_annual' => null, ]); } public function basic(): static { return $this->state(fn () => [ 'name' => PlanTier::Basic->value, 'stripe_price_id_monthly' => 'price_basic_monthly_test', 'stripe_price_id_annual' => 'price_basic_annual_test', 'max_fuel_types' => 1, 'email_enabled' => true, 'email_frequency' => 'daily', 'push_enabled' => true, 'push_frequency' => 'daily', 'whatsapp_enabled' => true, 'whatsapp_daily_limit' => 5, 'whatsapp_scheduled_updates' => 2, 'sms_enabled' => false, 'sms_daily_limit' => 0, 'ai_predictions' => false, 'price_threshold' => true, 'score_alerts' => true, ]); } public function plus(): static { return $this->state(fn () => [ 'name' => PlanTier::Plus->value, 'stripe_price_id_monthly' => 'price_plus_monthly_test', 'stripe_price_id_annual' => 'price_plus_annual_test', 'max_fuel_types' => 1, 'email_enabled' => true, 'email_frequency' => 'triggered', 'push_enabled' => true, 'push_frequency' => 'triggered', 'whatsapp_enabled' => true, 'whatsapp_daily_limit' => 5, 'whatsapp_scheduled_updates' => 2, 'sms_enabled' => true, 'sms_daily_limit' => 1, 'ai_predictions' => true, 'price_threshold' => true, 'score_alerts' => true, ]); } public function pro(): static { return $this->state(fn () => [ 'name' => PlanTier::Pro->value, 'stripe_price_id_monthly' => 'price_pro_monthly_test', 'stripe_price_id_annual' => 'price_pro_annual_test', 'max_fuel_types' => null, 'email_enabled' => true, 'email_frequency' => 'triggered', 'push_enabled' => true, 'push_frequency' => 'triggered', 'whatsapp_enabled' => true, 'whatsapp_daily_limit' => 5, 'whatsapp_scheduled_updates' => 2, 'sms_enabled' => true, 'sms_daily_limit' => 3, 'ai_predictions' => true, 'price_threshold' => true, 'score_alerts' => true, ]); } }