Files
amare/tests/Feature/PublicSite/PublicLayoutSeoTest.php
Manoel Freitas cf1589c916 feat: recreate public frontend with Heritage Editorial identity (#5)
* feat: recreate public frontend with Heritage Editorial identity

Replace placeholder visual system with EB Garamond/olive tokens, brand assets, editorial home narrative, São Paulo settings, real testimonials, and regenerated visual baselines.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: archive recreate-public-frontend and sync Heritage Editorial specs

Merge delta requirements into main OpenSpec capabilities and move the completed change into the dated archive.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 23:39:00 -03:00

61 lines
2.1 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Feature\PublicSite;
use App\Models\SiteSetting;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\Storage;
use Tests\TestCase;
class PublicLayoutSeoTest extends TestCase
{
use RefreshDatabase;
public function test_public_layout_emits_seo_head_landmarks_and_site_settings_chrome(): void
{
Storage::fake('public');
$settings = SiteSetting::instance();
$settings->update([
'brand_name' => 'Amare Brand',
'email' => 'hello@amare.test',
'phone' => '(11) 91111-1111',
'city' => 'São Paulo - SP',
'default_meta_title' => 'Titulo SEO Amare',
'default_meta_description' => 'Descricao SEO Amare',
'default_og_image_path' => 'og/default.jpg',
'default_og_image_alt' => 'Imagem OG Amare',
'social_links' => [
'instagram' => 'https://instagram.com/amare',
],
]);
$response = $this->get('/');
$response
->assertOk()
->assertSee('<title>Titulo SEO Amare</title>', false)
->assertSee('name="description"', false)
->assertSee('Descricao SEO Amare', false)
->assertSee('rel="canonical"', false)
->assertSee('property="og:title"', false)
->assertSee('property="og:description"', false)
->assertSee('property="og:type"', false)
->assertSee('property="og:url"', false)
->assertSee('property="og:image"', false)
->assertSee('property="og:image:alt"', false)
->assertSee('Imagem OG Amare', false)
->assertSee('<header', false)
->assertSee('<nav', false)
->assertSee('<main', false)
->assertSee('<footer', false)
->assertSee('Amare Brand')
->assertSee('hello@amare.test')
->assertSee('(11) 91111-1111')
->assertSee('Política de privacidade')
->assertSee('https://instagram.com/amare', false);
}
}