762 lines
25 KiB
PHP
762 lines
25 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);
|
||
});
|
||
|
||
// Story 16.2: Vision & Mission Section Tests
|
||
|
||
// AC1: Vision Section Container
|
||
test('about page has vision section with white background', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-white py-8', false);
|
||
});
|
||
|
||
// AC2: Vision Section Header
|
||
test('about page displays vision title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Our Vision');
|
||
});
|
||
|
||
test('about page displays vision title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('رؤيتنا');
|
||
});
|
||
|
||
// AC3: Vision Statement
|
||
test('about page displays vision statement in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Libra is woven from the fabric of society');
|
||
});
|
||
|
||
test('about page displays vision statement in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('ليبرا منسوجة من نسيج المجتمع');
|
||
});
|
||
|
||
// AC4: Mission Section Container
|
||
test('about page has mission section with cream background', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-background py-8', false);
|
||
});
|
||
|
||
// AC5: Mission Section Header
|
||
test('about page displays mission title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Our Mission');
|
||
});
|
||
|
||
test('about page displays mission title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('مهمتنا');
|
||
});
|
||
|
||
// AC6: Mission Cards - Institution
|
||
test('about page displays institution mission card in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('For Our Institution')
|
||
->assertSee('Libra works at the heart of society');
|
||
});
|
||
|
||
test('about page displays institution mission card in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('لمؤسستنا')
|
||
->assertSee('تعمل ليبرا في قلب المجتمع');
|
||
});
|
||
|
||
// AC6: Mission Cards - Society
|
||
test('about page displays society mission card in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('For Society')
|
||
->assertSee('Libra Scholarship for Law and Palestinian Arts');
|
||
});
|
||
|
||
test('about page displays society mission card in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('للمجتمع')
|
||
->assertSee('منحة ليبرا للقانون والفنون الفلسطينية');
|
||
});
|
||
|
||
// AC6: Mission Cards - Diaspora
|
||
test('about page displays diaspora mission card in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('For Palestinians in the Diaspora')
|
||
->assertSee('platform for listening to Palestinians in the diaspora');
|
||
});
|
||
|
||
test('about page displays diaspora mission card in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('للفلسطينيين في الشتات')
|
||
->assertSee('منصة للاستماع إلى الفلسطينيين في الشتات');
|
||
});
|
||
|
||
// AC7: Mission Card Styling
|
||
test('about page mission cards have correct styling', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-white rounded-lg shadow-sm p-6', false);
|
||
});
|
||
|
||
// AC8: Responsive Grid
|
||
test('about page mission cards use responsive grid', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('grid-cols-1 md:grid-cols-2 lg:grid-cols-3', false);
|
||
});
|
||
|
||
// AC7: Icons present (Flux renders icons as inline SVGs)
|
||
test('about page mission cards have icons', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('<svg', false); // Flux icons render as inline SVGs
|
||
});
|
||
|
||
// Story 16.3: Values Section Tests
|
||
|
||
// AC1: Values Section Container
|
||
test('about page has values section with white background', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-white py-8 sm:py-12 lg:py-[60px]', false);
|
||
});
|
||
|
||
// AC2: Values Section Header
|
||
test('about page displays values title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Our Values');
|
||
});
|
||
|
||
test('about page displays values title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('قيمنا');
|
||
});
|
||
|
||
// AC3: Values Introduction
|
||
test('about page displays values intro in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('These values start in the field and return to the people.');
|
||
});
|
||
|
||
test('about page displays values intro in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('هذه القيم تبدأ من الميدان وتعود إلى الناس.');
|
||
});
|
||
|
||
// AC4: Six Value Cards - English
|
||
test('about page displays integrity value in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Integrity');
|
||
});
|
||
|
||
test('about page displays justice value in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Justice');
|
||
});
|
||
|
||
test('about page displays knowledge value in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Knowledge');
|
||
});
|
||
|
||
test('about page displays women empowerment value in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee("Women's Empowerment");
|
||
});
|
||
|
||
test('about page displays professionalism value in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Professionalism');
|
||
});
|
||
|
||
test('about page displays social innovation value in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Social Innovation');
|
||
});
|
||
|
||
// AC4: Six Value Cards - Arabic
|
||
test('about page displays integrity value in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('النزاهة');
|
||
});
|
||
|
||
test('about page displays justice value in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('العدالة');
|
||
});
|
||
|
||
test('about page displays knowledge value in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('المعرفة');
|
||
});
|
||
|
||
test('about page displays women empowerment value in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('تمكين المرأة');
|
||
});
|
||
|
||
test('about page displays professionalism value in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('الاحترافية');
|
||
});
|
||
|
||
test('about page displays social innovation value in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('الابتكار الاجتماعي');
|
||
});
|
||
|
||
// AC5: Value Card Styling
|
||
test('about page value cards have correct styling', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-background rounded-xl p-6 text-center hover:shadow-md transition-shadow', false);
|
||
});
|
||
|
||
// AC6: Responsive Grid
|
||
test('about page value cards use responsive grid', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('grid-cols-2 md:grid-cols-3 lg:grid-cols-6', false);
|
||
});
|
||
|
||
// Story 16.4: Goals Section Tests
|
||
|
||
// AC1: Goals Section Container
|
||
test('about page has goals section with cream background', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-background py-8 sm:py-12 lg:py-[60px]', false);
|
||
});
|
||
|
||
// AC2: Goals Section Header
|
||
test('about page displays goals title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Our Goals');
|
||
});
|
||
|
||
test('about page displays goals title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('أهدافنا');
|
||
});
|
||
|
||
// AC3: Seven Goals Display - English
|
||
test('about page displays goal 1 in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Supporting Palestinian legal professionals and developing their professional and research capabilities.');
|
||
});
|
||
|
||
test('about page displays goal 2 in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Documenting and analyzing community cases to produce legal knowledge grounded in reality.');
|
||
});
|
||
|
||
test('about page displays goal 3 in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Preparing and writing research papers that address contemporary legal issues in depth and systematically.');
|
||
});
|
||
|
||
test('about page displays goal 4 in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Launching legal awareness programs that raise community awareness of rights and obligations.');
|
||
});
|
||
|
||
test('about page displays goal 5 in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Strengthening the connection between society and its legal history through knowledge-based and cultural initiatives.');
|
||
});
|
||
|
||
test('about page displays goal 6 in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Developing innovative legal solutions based on field research that reflects the Palestinian social context.');
|
||
});
|
||
|
||
test('about page displays goal 7 in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Promoting justice and empowering women through specialized and accessible legal services.');
|
||
});
|
||
|
||
// AC3: Seven Goals Display - Arabic
|
||
test('about page displays goal 1 in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('دعم المهنيين القانونيين الفلسطينيين وتطوير قدراتهم المهنية والبحثية.');
|
||
});
|
||
|
||
test('about page displays goal 2 in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('توثيق وتحليل القضايا المجتمعية لإنتاج معرفة قانونية متجذرة في الواقع.');
|
||
});
|
||
|
||
test('about page displays goal 3 in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('إعداد وكتابة أوراق بحثية تعالج القضايا القانونية المعاصرة بعمق ومنهجية.');
|
||
});
|
||
|
||
test('about page displays goal 4 in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('إطلاق برامج توعية قانونية ترفع وعي المجتمع بحقوقه وواجباته.');
|
||
});
|
||
|
||
test('about page displays goal 5 in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('تعزيز الصلة بين المجتمع وتاريخه القانوني من خلال المبادرات المعرفية والثقافية.');
|
||
});
|
||
|
||
test('about page displays goal 6 in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('تطوير حلول قانونية مبتكرة قائمة على البحث الميداني الذي يعكس السياق الاجتماعي الفلسطيني.');
|
||
});
|
||
|
||
test('about page displays goal 7 in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('تعزيز العدالة وتمكين المرأة من خلال خدمات قانونية متخصصة وميسّرة.');
|
||
});
|
||
|
||
// AC4: Goals Card Container Styling
|
||
test('about page goals section has white card container', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-white rounded-lg shadow-sm p-6 sm:p-8 max-w-5xl mx-auto', false);
|
||
});
|
||
|
||
// AC5: Numbered Circle Style
|
||
test('about page goals have numbered circles with gold background', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('w-8 h-8 bg-accent text-white rounded-full', false);
|
||
});
|
||
|
||
// AC6: Responsive Grid Layout
|
||
test('about page goals use responsive grid layout', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('grid-cols-1 md:grid-cols-2 gap-x-12 gap-y-6', false);
|
||
});
|
||
|
||
// AC7: All 7 goal numbers are displayed
|
||
test('about page displays all 7 goal numbers', function () {
|
||
$response = $this->withSession(['locale' => 'en'])->get('/about');
|
||
$response->assertOk();
|
||
|
||
// Verify there are 7 goals by checking the translation array count
|
||
expect(count(__('about.goals')))->toBe(7);
|
||
});
|
||
|
||
// Story 16.5: Legal Services Section Tests
|
||
|
||
// AC1: Services Section Container
|
||
test('about page has services section with white background', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-white py-8 sm:py-12 lg:py-[60px]', false);
|
||
});
|
||
|
||
// AC2: Services Section Header
|
||
test('about page displays services title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Our Legal Services');
|
||
});
|
||
|
||
test('about page displays services title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('خدماتنا القانونية');
|
||
});
|
||
|
||
// AC3: Services Introduction
|
||
test('about page displays services intro in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Libra provides comprehensive legal services as a for-profit law firm, combining traditional legal practice with research-driven insight.');
|
||
});
|
||
|
||
test('about page displays services intro in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('تقدم ليبرا خدمات قانونية شاملة كمكتب محاماة ربحي، يجمع بين الممارسة القانونية التقليدية والرؤية المبنية على البحث.');
|
||
});
|
||
|
||
// AC4: Four Service Categories - Card 1: Legal Consultations & Representation
|
||
test('about page displays consultation service card title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Legal Consultations')
|
||
->assertSee('Representation');
|
||
});
|
||
|
||
test('about page displays consultation service card title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('الاستشارات والتمثيل القانوني');
|
||
});
|
||
|
||
test('about page displays consultation service items in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Legal advice')
|
||
->assertSee('Court representation')
|
||
->assertSee('Litigation management')
|
||
->assertSee('Pleadings')
|
||
->assertSee('appeals');
|
||
});
|
||
|
||
test('about page displays consultation service items in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('الاستشارات القانونية')
|
||
->assertSee('التمثيل أمام المحاكم')
|
||
->assertSee('إدارة التقاضي')
|
||
->assertSee('المذكرات والاستئناف');
|
||
});
|
||
|
||
// AC4: Four Service Categories - Card 2: Women's & Family Law
|
||
test('about page displays family service card title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Women')
|
||
->assertSee('Family Law');
|
||
});
|
||
|
||
test('about page displays family service card title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('قانون المرأة والأسرة');
|
||
});
|
||
|
||
test('about page displays family service items in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Divorce proceedings')
|
||
->assertSee('Alimony cases')
|
||
->assertSee('Child custody')
|
||
->assertSee('Protection from violence');
|
||
});
|
||
|
||
test('about page displays family service items in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('إجراءات الطلاق')
|
||
->assertSee('قضايا النفقة')
|
||
->assertSee('حضانة الأطفال')
|
||
->assertSee('الحماية من العنف');
|
||
});
|
||
|
||
// AC4: Four Service Categories - Card 3: Civil & Commercial
|
||
test('about page displays civil service card title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Civil')
|
||
->assertSee('Commercial Disputes');
|
||
});
|
||
|
||
test('about page displays civil service card title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('النزاعات المدنية والتجارية');
|
||
});
|
||
|
||
test('about page displays civil service items in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Partnership cases')
|
||
->assertSee('Financial claims')
|
||
->assertSee('Civil disputes')
|
||
->assertSee('Commercial litigation');
|
||
});
|
||
|
||
test('about page displays civil service items in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('قضايا الشراكة')
|
||
->assertSee('المطالبات المالية')
|
||
->assertSee('النزاعات المدنية')
|
||
->assertSee('التقاضي التجاري');
|
||
});
|
||
|
||
// AC4: Four Service Categories - Card 4: Business Services
|
||
test('about page displays business service card title in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Business Legal Services');
|
||
});
|
||
|
||
test('about page displays business service card title in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('الخدمات القانونية للأعمال');
|
||
});
|
||
|
||
test('about page displays business service items in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Contract drafting')
|
||
->assertSee('review')
|
||
->assertSee('Governance')
|
||
->assertSee('compliance')
|
||
->assertSee('Arbitration')
|
||
->assertSee('Alternative dispute resolution');
|
||
});
|
||
|
||
test('about page displays business service items in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('صياغة ومراجعة العقود')
|
||
->assertSee('الحوكمة والامتثال')
|
||
->assertSee('التحكيم')
|
||
->assertSee('الحل البديل للنزاعات');
|
||
});
|
||
|
||
// AC5: Service Card Styling
|
||
test('about page service cards have correct styling', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('bg-background rounded-xl p-8 text-center shadow-sm', false);
|
||
});
|
||
|
||
// AC6: Responsive Grid
|
||
test('about page service cards use responsive grid', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('grid-cols-1 md:grid-cols-2 lg:grid-cols-4', false);
|
||
});
|
||
|
||
// AC7: CTA Button
|
||
test('about page services section has CTA button in English', function () {
|
||
$this->withSession(['locale' => 'en'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('Book a Consultation');
|
||
});
|
||
|
||
test('about page services section has CTA button in Arabic', function () {
|
||
$this->withSession(['locale' => 'ar'])
|
||
->get('/about')
|
||
->assertOk()
|
||
->assertSee('احجز استشارة');
|
||
});
|
||
|
||
test('about page services CTA links to booking page', function () {
|
||
$this->get('/about')
|
||
->assertOk()
|
||
->assertSee('href="'.route('booking').'"', false);
|
||
});
|