<?php

namespace Tests\Support;

use App\Campaigns\Platforms\UnsupportedPlatformRules;

/**
 * A platform that only accepts traffic campaigns.
 *
 * Exists so the rule "never suggest something the platform would reject" can be
 * tested. Every real platform currently accepts both outcomes the landing page
 * analyser infers, so without this the guard is unreachable and a test claiming
 * to cover it would be claiming something it never exercised.
 */
class TrafficOnlyPlatformRules extends UnsupportedPlatformRules
{
    public function key(): string
    {
        return 'traffic_only';
    }

    public function name(): string
    {
        return 'Traffic Only';
    }

    public function objectives(): array
    {
        return ['OUTCOME_TRAFFIC'];
    }

    /**
     * Its own, because there is no shared default to inherit any more.
     *
     * That is the point of removing it: a platform now has to state its floor
     * rather than quietly pick up Meta's, which is how Google ended up telling
     * buyers about a minimum Google does not have.
     */
    public function minimumDailyBudget(): float
    {
        return 5.00;
    }
}
