libra/tests/Feature/Public/HomePageTest.php

372 lines
11 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
test('home page is accessible', function () {
$this->get('/')
->assertOk();
});
test('home page displays English tagline when locale is English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Committed to Justice Grounded in Dignity Driven to Advocate');
});
test('home page displays Arabic tagline when locale is Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('ملتزمون بالعدالة متجذرون بالكرامة مدفوعون للدفاع');
});
test('home page displays English intro text when locale is English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Libra for Rights is a legal institution woven from the fabric of society');
});
test('home page displays Arabic intro text when locale is Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('ليبرا للحقوق مؤسسة قانونية منسوجة من نسيج المجتمع');
});
test('home page displays Book a Consultation button in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Book a Consultation');
});
test('home page displays Book a Consultation button in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('احجز استشارة');
});
test('home page displays Our Services button in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Our Services');
});
test('home page displays Our Services button in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('خدماتنا');
});
test('home page contains link to booking page', function () {
$this->get('/')
->assertOk()
->assertSee('href="'.route('booking').'"', false);
});
test('home page contains link to services section', function () {
$this->get('/')
->assertOk()
->assertSee('href="#services"', false);
});
test('home page contains services section with id', function () {
$this->get('/')
->assertOk()
->assertSee('id="services"', false);
});
// About Section Tests
test('home page contains about section with id', function () {
$this->get('/')
->assertOk()
->assertSee('id="about"', false);
});
test('home page displays about section title in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Meet the Founder');
});
test('home page displays about section title in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('تعرف على المؤسِّسة');
});
test('home page displays lawyer name in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Huda Armouche');
});
test('home page displays lawyer name in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('هدى عرموش');
});
test('home page displays lawyer title in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Attorney at Law');
});
test('home page displays lawyer title in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('محامية');
});
test('home page displays lawyer bio in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Huda Armouche founded Libra for Rights');
});
test('home page displays lawyer bio in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('أسست هدى عرموش ليبرا للحقوق');
});
test('home page displays lawyer photo', function () {
$this->get('/')
->assertOk()
->assertSee('images/huda-armouche.jpg', false);
});
test('home page lawyer photo has alt text for accessibility', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('alt="Huda Armouche"', false);
});
// Services Section Tests
test('home page displays services section title in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Our Services');
});
test('home page displays services section title in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('خدماتنا');
});
test('home page displays services section subtitle in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Comprehensive legal solutions for individuals and businesses');
});
test('home page displays services section subtitle in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('حلول قانونية شاملة للأفراد والشركات');
});
test('home page displays legal consultations service in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Legal Consultations')
->assertSee('Expert legal advice tailored to your specific situation and needs.');
});
test('home page displays legal consultations service in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('الاستشارات القانونية')
->assertSee('استشارات قانونية متخصصة مصممة وفقاً لوضعك واحتياجاتك.');
});
test('home page displays court representation service in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Court Representation')
->assertSee('Professional representation before courts and judicial bodies at all stages.');
});
test('home page displays court representation service in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('التمثيل أمام المحاكم')
->assertSee('تمثيل احترافي أمام المحاكم والهيئات القضائية في جميع المراحل.');
});
test('home page displays litigation management service in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Litigation Management')
->assertSee('Complete case management from pleadings and memoranda to appeals.');
});
test('home page displays litigation management service in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('إدارة الدعاوى')
->assertSee('إدارة كاملة للقضايا من اللوائح والمذكرات إلى الاستئنافات.');
});
test('home page displays contract services in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Contract Services')
->assertSee('Drafting, review, and legal compliance for all your contractual needs.');
});
test('home page displays contract services in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('خدمات العقود')
->assertSee('صياغة ومراجعة العقود والامتثال القانوني لجميع احتياجاتكم التعاقدية.');
});
// Values Section Tests
test('home page contains values section with id', function () {
$this->get('/')
->assertOk()
->assertSee('id="values"', false);
});
test('home page displays values section title in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Our Values');
});
test('home page displays values section title in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('قيمنا');
});
test('home page displays values section subtitle in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('These start in the field and return to the people');
});
test('home page displays values section subtitle in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('تبدأ من الميدان وتعود إلى الناس');
});
test('home page displays integrity value in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Integrity');
});
test('home page displays integrity value in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('النزاهة');
});
test('home page displays justice value in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Justice');
});
test('home page displays justice value in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('العدالة');
});
test('home page displays knowledge value in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Knowledge');
});
test('home page displays knowledge value in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('المعرفة');
});
test('home page displays womens empowerment value in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Women&#039;s Empowerment', false);
});
test('home page displays womens empowerment value in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('تمكين المرأة');
});
test('home page displays professionalism value in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Professionalism');
});
test('home page displays professionalism value in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('الاحترافية');
});
test('home page displays social innovation value in English', function () {
$this->withSession(['locale' => 'en'])
->get('/')
->assertOk()
->assertSee('Social Innovation');
});
test('home page displays social innovation value in Arabic', function () {
$this->withSession(['locale' => 'ar'])
->get('/')
->assertOk()
->assertSee('الابتكار الاجتماعي');
});