<?php

namespace Tests\Unit\Models;

use App\Models\PromptLandingPageLead;
use Tests\TestCase;

class PromptLandingPageLeadTest extends TestCase
{
    public function test_payload_field_formats_missing_and_non_string_values(): void
    {
        $lead = new PromptLandingPageLead([
            'payload' => [
                'email' => 'ada@example.com',
                'subscribed' => true,
                'tags' => ['vip'],
            ],
        ]);

        $this->assertSame('ada@example.com', $lead->payloadField('email'));
        $this->assertSame('true', $lead->payloadField('subscribed'));
        $this->assertSame('["vip"]', $lead->payloadField('tags'));
        $this->assertSame('', $lead->payloadField('company'));
    }

    public function test_query_params_summary_joins_scalar_tracking_values(): void
    {
        $lead = new PromptLandingPageLead([
            'query_params' => [
                'utm_source' => 'facebook',
                'utm_campaign' => 'spring',
            ],
        ]);

        $this->assertSame('utm_source=facebook, utm_campaign=spring', $lead->queryParamsSummary());
        $this->assertSame('', (new PromptLandingPageLead)->queryParamsSummary());
    }
}
