116 lines
3.5 KiB
PHP
116 lines
3.5 KiB
PHP
<?php
|
||
|
||
// AC1: Route & Navigation
|
||
test('about page is accessible at /about', function () {
|
||
$this->get('/about')
|
||
->assertOk();
|
||
});
|
||
|
||
test('about page route is named about', function () {
|
||
expect(route('about'))->toEndWith('/about');
|
||
});
|
||
|
||
// AC2: Page Structure
|
||
test('about page uses public layout', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('data-test="main-navigation"', false)
|
||
->assertSee('<footer', false);
|
||
});
|
||
|
||
// AC3: Hero Section Container
|
||
test('about page hero section has dark forest green background', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-[#2D3624]', false);
|
||
});
|
||
|
||
// AC4: Page Title
|
||
test('about page displays title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('About Us');
|
||
});
|
||
|
||
test('about page displays title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('من نحن');
|
||
});
|
||
|
||
// AC5: Tagline Display
|
||
test('about page displays tagline in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Committed to Justice – Grounded in Dignity – Driven to Advocate');
|
||
});
|
||
|
||
test('about page displays tagline in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('ملتزمون بالعدالة – متجذرون بالكرامة – مدفوعون للدفاع');
|
||
});
|
||
|
||
// AC6: Identity Statement
|
||
test('about page displays identity statement in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('A legal institution woven from the fabric of society, using research as a tool of power to serve justice.');
|
||
});
|
||
|
||
test('about page displays identity statement in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('مؤسسة قانونية منسوجة من نسيج المجتمع، تستخدم البحث كأداة قوة لخدمة العدالة.');
|
||
});
|
||
|
||
// AC8: RTL Support - Verified via locale setting (RTL is handled by layout)
|
||
test('about page sets correct language direction for Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('dir="rtl"', false);
|
||
});
|
||
|
||
test('about page sets correct language direction for English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('dir="ltr"', false);
|
||
});
|
||
|
||
// Navigation Link Tests
|
||
test('navigation contains about us link in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/')
|
||
->assertOk()
|
||
->assertSee('About Us')
|
||
->assertSee('href="'.route('about').'"', false);
|
||
});
|
||
|
||
test('navigation contains about us link in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/')
|
||
->assertOk()
|
||
->assertSee('من نحن')
|
||
->assertSee('href="'.route('about').'"', false);
|
||
});
|
||
|
||
test('about link in navigation has data-test attribute', function () {
|
||
$this->get('/')
|
||
->assertOk()
|
||
->assertSee('data-test="nav-about"', false);
|
||
});
|
||
|
||
test('mobile navigation contains about us link', function () {
|
||
$this->get('/')
|
||
->assertOk()
|
||
->assertSee('data-test="mobile-nav-about"', false);
|
||
});
|