<?php

namespace Tests\Unit\Services\PromptLandingPageEditor;

use App\Services\PromptLandingPageEditor\UniqueDuplicateIds;
use Tests\TestCase;

class UniqueDuplicateIdsTest extends TestCase
{
    public function test_it_rewrites_duplicate_ids_and_keeps_the_first_occurrence(): void
    {
        $html = '<section id="features"><h2 id="headline">One</h2></section><section id="features"><h2 id="headline">Two</h2></section>';

        $rewritten = (new UniqueDuplicateIds)->rewrite($html);

        $this->assertSame(1, substr_count($rewritten, 'id="features"'));
        $this->assertSame(1, substr_count($rewritten, 'id="headline"'));
        $this->assertStringContainsString('id="features-copy-2"', $rewritten);
        $this->assertStringContainsString('id="headline-copy-2"', $rewritten);
        $this->assertStringContainsString('<h2 id="headline">One</h2>', $rewritten);
    }

    public function test_it_leaves_unique_ids_unchanged(): void
    {
        $html = '<form id="lead-form"><input id="email" name="email"></form>';

        $this->assertSame($html, (new UniqueDuplicateIds)->rewrite($html));
    }
}
