Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/LogonTest.php
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | public function testLocales(): void | ||||
$browser->visit(new Home()) | $browser->visit(new Home()) | ||||
// ->plainCookie('language', '') | // ->plainCookie('language', '') | ||||
->within(new Menu(), function ($browser) { | ->within(new Menu(), function ($browser) { | ||||
$browser->assertSeeIn('@lang', 'EN') | $browser->assertSeeIn('@lang', 'EN') | ||||
->click('@lang'); | ->click('@lang'); | ||||
}) | }) | ||||
// Switch English -> German | // Switch English -> German | ||||
->whenAvailable('nav .dropdown-menu', function (Browser $browser) { | ->whenAvailable('nav .dropdown-menu', function (Browser $browser) { | ||||
$browser->assertElementsCount('a', 2) | $browser->assertElementsCount('a', 3) | ||||
->assertSeeIn('a:nth-child(1)', 'EN - English') | ->assertSeeIn('a:nth-child(1)', 'EN - English') | ||||
->assertSeeIn('a:nth-child(2)', 'DE - German') | ->assertSeeIn('a:nth-child(2)', 'DE - German') | ||||
->assertSeeIn('a:nth-child(3)', 'FR - French') | |||||
->click('a:nth-child(2)'); | ->click('a:nth-child(2)'); | ||||
}) | }) | ||||
->waitUntilMissing('nav .dropdown-menu') | ->waitUntilMissing('nav .dropdown-menu') | ||||
->within(new Menu(), function ($browser) { | ->within(new Menu(), function ($browser) { | ||||
$browser->assertSeeIn('@lang', 'DE'); | $browser->assertSeeIn('@lang', 'DE'); | ||||
}) | }) | ||||
->waitForTextIn('#header-menu .link-login', 'EINLOGGEN') | ->waitForTextIn('#header-menu .link-login', 'EINLOGGEN') | ||||
->assertSeeIn('#footer-menu .link-login', 'Einloggen') | ->assertSeeIn('#footer-menu .link-login', 'Einloggen') | ||||
->assertSeeIn('@logon-button', 'Anmelden') | ->assertSeeIn('@logon-button', 'Anmelden') | ||||
// refresh the page to see if it uses the lang previously set | // refresh the page to see if it uses the lang previously set | ||||
->refresh() | ->refresh() | ||||
->waitForTextIn('#header-menu .link-login', 'EINLOGGEN') | ->waitForTextIn('#header-menu .link-login', 'EINLOGGEN') | ||||
->assertSeeIn('#footer-menu .link-login', 'Einloggen') | ->assertSeeIn('#footer-menu .link-login', 'Einloggen') | ||||
->assertSeeIn('@logon-button', 'Anmelden') | ->assertSeeIn('@logon-button', 'Anmelden') | ||||
->within(new Menu(), function ($browser) { | ->within(new Menu(), function ($browser) { | ||||
$browser->assertSeeIn('@lang', 'DE') | $browser->assertSeeIn('@lang', 'DE') | ||||
->click('@lang'); | ->click('@lang'); | ||||
}) | }) | ||||
// Switch German -> English | // Switch German -> English | ||||
->whenAvailable('nav .dropdown-menu', function (Browser $browser) { | ->whenAvailable('nav .dropdown-menu', function (Browser $browser) { | ||||
$browser->click('a:nth-child(1)'); | $browser->assertSeeIn('a:nth-child(1)', 'Englisch') | ||||
->click('a:nth-child(1)'); | |||||
}) | }) | ||||
->waitUntilMissing('nav .dropdown-menu') | ->waitUntilMissing('nav .dropdown-menu') | ||||
->within(new Menu(), function ($browser) { | ->within(new Menu(), function ($browser) { | ||||
$browser->assertSeeIn('@lang', 'EN'); | $browser->assertSeeIn('@lang', 'EN'); | ||||
}) | }) | ||||
->waitForTextIn('#header-menu .link-login', 'LOGIN'); | ->waitForTextIn('#header-menu .link-login', 'LOGIN'); | ||||
}); | }); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 199 Lines • Show Last 20 Lines |