Files
SkinbaseNova/.deploy/artwork-evolution-release/tests/Unit/Seo/SeoDataBuilderTest.php
2026-04-18 17:02:56 +02:00

33 lines
1.0 KiB
PHP

<?php
use App\Support\Seo\SeoDataBuilder;
use Tests\TestCase;
uses(TestCase::class);
it('normalizes a single associative structured data schema', function () {
$seo = SeoDataBuilder::fromArray([
'title' => 'Categories',
'structured_data' => [
'@context' => 'https://schema.org',
'@type' => 'CollectionPage',
'name' => 'Categories',
],
])->build()->toArray();
expect($seo['json_ld'] ?? [])
->toHaveCount(1)
->and($seo['json_ld'][0]['@type'] ?? null)->toBe('CollectionPage');
});
it('normalizes JSON string structured data schemas', function () {
$seo = SeoDataBuilder::fromArray([
'title' => 'Categories',
'structured_data' => '{"@context":"https://schema.org","@type":"CollectionPage","name":"Categories"}',
])->build()->toArray();
expect($seo['json_ld'] ?? [])
->toHaveCount(1)
->and($seo['json_ld'][0]['@context'] ?? null)->toBe('https://schema.org')
->and($seo['json_ld'][0]['@type'] ?? null)->toBe('CollectionPage');
});