Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/LogonTest.php
Show All 16 Lines | class LogonTest extends TestCaseDusk | ||||
* Test menu on logon page | * Test menu on logon page | ||||
*/ | */ | ||||
public function testLogonMenu(): void | public function testLogonMenu(): void | ||||
{ | { | ||||
$this->browse(function (Browser $browser) { | $this->browse(function (Browser $browser) { | ||||
$browser->visit(new Home()) | $browser->visit(new Home()) | ||||
->within(new Menu(), function ($browser) { | ->within(new Menu(), function ($browser) { | ||||
$browser->assertMenuItems(['signup', 'explore', 'blog', 'support', 'webmail']); | $browser->assertMenuItems(['signup', 'explore', 'blog', 'support', 'webmail']); | ||||
}) | }); | ||||
->within(new Menu('footer'), function ($browser) { | |||||
if ($browser->isDesktop()) { | |||||
$browser->within(new Menu('footer'), function ($browser) { | |||||
$browser->assertMenuItems(['signup', 'explore', 'blog', 'support', 'tos', 'webmail']); | $browser->assertMenuItems(['signup', 'explore', 'blog', 'support', 'tos', 'webmail']); | ||||
}); | }); | ||||
} else { | |||||
$browser->assertMissing('#footer-menu .navbar-nav'); | |||||
} | |||||
}); | }); | ||||
} | } | ||||
/** | /** | ||||
* Test redirect to /login if user is unauthenticated | * Test redirect to /login if user is unauthenticated | ||||
*/ | */ | ||||
public function testLogonRedirect(): void | public function testLogonRedirect(): void | ||||
{ | { | ||||
Show All 31 Lines | public function testLogonSuccessful(): void | ||||
$this->browse(function (Browser $browser) { | $this->browse(function (Browser $browser) { | ||||
$browser->visit(new Home()) | $browser->visit(new Home()) | ||||
->submitLogon('john@kolab.org', 'simple123', true); | ->submitLogon('john@kolab.org', 'simple123', true); | ||||
// Checks if we're really on Dashboard page | // Checks if we're really on Dashboard page | ||||
$browser->on(new Dashboard()) | $browser->on(new Dashboard()) | ||||
->within(new Menu(), function ($browser) { | ->within(new Menu(), function ($browser) { | ||||
$browser->assertMenuItems(['support', 'contact', 'webmail', 'logout']); | $browser->assertMenuItems(['support', 'contact', 'webmail', 'logout']); | ||||
}) | }); | ||||
->within(new Menu('footer'), function ($browser) { | |||||
if ($browser->isDesktop()) { | |||||
$browser->within(new Menu('footer'), function ($browser) { | |||||
$browser->assertMenuItems(['support', 'contact', 'webmail', 'logout']); | $browser->assertMenuItems(['support', 'contact', 'webmail', 'logout']); | ||||
}) | }); | ||||
->assertUser('john@kolab.org'); | } else { | ||||
$browser->assertMissing('#footer-menu .navbar-nav'); | |||||
} | |||||
$browser->assertUser('john@kolab.org'); | |||||
// Assert no "Account status" for this account | // Assert no "Account status" for this account | ||||
$browser->assertMissing('@status'); | $browser->assertMissing('@status'); | ||||
// Goto /domains and assert that the link on logo element | // Goto /domains and assert that the link on logo element | ||||
// leads to the dashboard | // leads to the dashboard | ||||
$browser->visit('/domains') | $browser->visit('/domains') | ||||
->waitForText('Domains') | ->waitForText('Domains') | ||||
Show All 13 Lines | class LogonTest extends TestCaseDusk | ||||
*/ | */ | ||||
public function testLogout(): void | public function testLogout(): void | ||||
{ | { | ||||
$this->browse(function (Browser $browser) { | $this->browse(function (Browser $browser) { | ||||
$browser->on(new Dashboard()); | $browser->on(new Dashboard()); | ||||
// Click the Logout button | // Click the Logout button | ||||
$browser->within(new Menu(), function ($browser) { | $browser->within(new Menu(), function ($browser) { | ||||
$browser->click('.link-logout'); | $browser->clickMenuItem('logout'); | ||||
}); | }); | ||||
// We expect the logon page | // We expect the logon page | ||||
$browser->waitForLocation('/login') | $browser->waitForLocation('/login') | ||||
->on(new Home()); | ->on(new Home()); | ||||
// with default menu | // with default menu | ||||
$browser->within(new Menu(), function ($browser) { | $browser->within(new Menu(), function ($browser) { | ||||
▲ Show 20 Lines • Show All 78 Lines • Show Last 20 Lines |