Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Reseller/UserTest.php
Show First 20 Lines • Show All 91 Lines • ▼ Show 20 Lines | public function testUserInfo(): void | ||||
->on($page); | ->on($page); | ||||
// Assert main info box content | // Assert main info box content | ||||
$browser->assertSeeIn('@user-info .card-title', $jack->email) | $browser->assertSeeIn('@user-info .card-title', $jack->email) | ||||
->with('@user-info form', function (Browser $browser) use ($jack) { | ->with('@user-info form', function (Browser $browser) use ($jack) { | ||||
$browser->assertElementsCount('.row', 7) | $browser->assertElementsCount('.row', 7) | ||||
->assertSeeIn('.row:nth-child(1) label', 'Managed by') | ->assertSeeIn('.row:nth-child(1) label', 'Managed by') | ||||
->assertSeeIn('.row:nth-child(1) #manager a', 'john@kolab.org') | ->assertSeeIn('.row:nth-child(1) #manager a', 'john@kolab.org') | ||||
->assertSeeIn('.row:nth-child(2) label', 'ID (Created at)') | ->assertSeeIn('.row:nth-child(2) label', 'ID (Created)') | ||||
->assertSeeIn('.row:nth-child(2) #userid', "{$jack->id} ({$jack->created_at})") | ->assertSeeIn('.row:nth-child(2) #userid', "{$jack->id} ({$jack->created_at})") | ||||
->assertSeeIn('.row:nth-child(3) label', 'Status') | ->assertSeeIn('.row:nth-child(3) label', 'Status') | ||||
->assertSeeIn('.row:nth-child(3) #status span.text-success', 'Active') | ->assertSeeIn('.row:nth-child(3) #status span.text-success', 'Active') | ||||
->assertSeeIn('.row:nth-child(4) label', 'First name') | ->assertSeeIn('.row:nth-child(4) label', 'First Name') | ||||
->assertSeeIn('.row:nth-child(4) #first_name', 'Jack') | ->assertSeeIn('.row:nth-child(4) #first_name', 'Jack') | ||||
->assertSeeIn('.row:nth-child(5) label', 'Last name') | ->assertSeeIn('.row:nth-child(5) label', 'Last Name') | ||||
->assertSeeIn('.row:nth-child(5) #last_name', 'Daniels') | ->assertSeeIn('.row:nth-child(5) #last_name', 'Daniels') | ||||
->assertSeeIn('.row:nth-child(6) label', 'External email') | ->assertSeeIn('.row:nth-child(6) label', 'External Email') | ||||
->assertMissing('.row:nth-child(6) #external_email a') | ->assertMissing('.row:nth-child(6) #external_email a') | ||||
->assertSeeIn('.row:nth-child(7) label', 'Country') | ->assertSeeIn('.row:nth-child(7) label', 'Country') | ||||
->assertSeeIn('.row:nth-child(7) #country', 'United States'); | ->assertSeeIn('.row:nth-child(7) #country', 'United States'); | ||||
}); | }); | ||||
// Some tabs are loaded in background, wait a second | // Some tabs are loaded in background, wait a second | ||||
$browser->pause(500) | $browser->pause(500) | ||||
->assertElementsCount('@nav a', 6); | ->assertElementsCount('@nav a', 6); | ||||
▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | public function testUserInfo2(): void | ||||
->on($page); | ->on($page); | ||||
// Assert main info box content | // Assert main info box content | ||||
$browser->assertSeeIn('@user-info .card-title', $john->email) | $browser->assertSeeIn('@user-info .card-title', $john->email) | ||||
->with('@user-info form', function (Browser $browser) use ($john) { | ->with('@user-info form', function (Browser $browser) use ($john) { | ||||
$ext_email = $john->getSetting('external_email'); | $ext_email = $john->getSetting('external_email'); | ||||
$browser->assertElementsCount('.row', 9) | $browser->assertElementsCount('.row', 9) | ||||
->assertSeeIn('.row:nth-child(1) label', 'ID (Created at)') | ->assertSeeIn('.row:nth-child(1) label', 'ID (Created)') | ||||
->assertSeeIn('.row:nth-child(1) #userid', "{$john->id} ({$john->created_at})") | ->assertSeeIn('.row:nth-child(1) #userid', "{$john->id} ({$john->created_at})") | ||||
->assertSeeIn('.row:nth-child(2) label', 'Status') | ->assertSeeIn('.row:nth-child(2) label', 'Status') | ||||
->assertSeeIn('.row:nth-child(2) #status span.text-success', 'Active') | ->assertSeeIn('.row:nth-child(2) #status span.text-success', 'Active') | ||||
->assertSeeIn('.row:nth-child(3) label', 'First name') | ->assertSeeIn('.row:nth-child(3) label', 'First Name') | ||||
->assertSeeIn('.row:nth-child(3) #first_name', 'John') | ->assertSeeIn('.row:nth-child(3) #first_name', 'John') | ||||
->assertSeeIn('.row:nth-child(4) label', 'Last name') | ->assertSeeIn('.row:nth-child(4) label', 'Last Name') | ||||
->assertSeeIn('.row:nth-child(4) #last_name', 'Doe') | ->assertSeeIn('.row:nth-child(4) #last_name', 'Doe') | ||||
->assertSeeIn('.row:nth-child(5) label', 'Organization') | ->assertSeeIn('.row:nth-child(5) label', 'Organization') | ||||
->assertSeeIn('.row:nth-child(5) #organization', 'Kolab Developers') | ->assertSeeIn('.row:nth-child(5) #organization', 'Kolab Developers') | ||||
->assertSeeIn('.row:nth-child(6) label', 'Phone') | ->assertSeeIn('.row:nth-child(6) label', 'Phone') | ||||
->assertSeeIn('.row:nth-child(6) #phone', $john->getSetting('phone')) | ->assertSeeIn('.row:nth-child(6) #phone', $john->getSetting('phone')) | ||||
->assertSeeIn('.row:nth-child(7) label', 'External email') | ->assertSeeIn('.row:nth-child(7) label', 'External Email') | ||||
->assertSeeIn('.row:nth-child(7) #external_email a', $ext_email) | ->assertSeeIn('.row:nth-child(7) #external_email a', $ext_email) | ||||
->assertAttribute('.row:nth-child(7) #external_email a', 'href', "mailto:$ext_email") | ->assertAttribute('.row:nth-child(7) #external_email a', 'href', "mailto:$ext_email") | ||||
->assertSeeIn('.row:nth-child(8) label', 'Address') | ->assertSeeIn('.row:nth-child(8) label', 'Address') | ||||
->assertSeeIn('.row:nth-child(8) #billing_address', $john->getSetting('billing_address')) | ->assertSeeIn('.row:nth-child(8) #billing_address', $john->getSetting('billing_address')) | ||||
->assertSeeIn('.row:nth-child(9) label', 'Country') | ->assertSeeIn('.row:nth-child(9) label', 'Country') | ||||
->assertSeeIn('.row:nth-child(9) #country', 'United States'); | ->assertSeeIn('.row:nth-child(9) #country', 'United States'); | ||||
}); | }); | ||||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Lines | public function testUserInfo2(): void | ||||
$page = new UserPage($ned->id); | $page = new UserPage($ned->id); | ||||
$browser->click('@user-users tbody tr:nth-child(4) td:first-child a') | $browser->click('@user-users tbody tr:nth-child(4) td:first-child a') | ||||
->on($page); | ->on($page); | ||||
// Assert main info box content | // Assert main info box content | ||||
$browser->assertSeeIn('@user-info .card-title', $ned->email) | $browser->assertSeeIn('@user-info .card-title', $ned->email) | ||||
->with('@user-info form', function (Browser $browser) use ($ned) { | ->with('@user-info form', function (Browser $browser) use ($ned) { | ||||
$browser->assertSeeIn('.row:nth-child(2) label', 'ID (Created at)') | $browser->assertSeeIn('.row:nth-child(2) label', 'ID (Created)') | ||||
->assertSeeIn('.row:nth-child(2) #userid', "{$ned->id} ({$ned->created_at})"); | ->assertSeeIn('.row:nth-child(2) #userid', "{$ned->id} ({$ned->created_at})"); | ||||
}); | }); | ||||
// Some tabs are loaded in background, wait a second | // Some tabs are loaded in background, wait a second | ||||
$browser->pause(500) | $browser->pause(500) | ||||
->assertElementsCount('@nav a', 6); | ->assertElementsCount('@nav a', 6); | ||||
// Note: Finances tab is tested in UserFinancesTest.php | // Note: Finances tab is tested in UserFinancesTest.php | ||||
▲ Show 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | public function testExternalEmail(): void | ||||
$this->browse(function (Browser $browser) { | $this->browse(function (Browser $browser) { | ||||
$john = $this->getTestUser('john@kolab.org'); | $john = $this->getTestUser('john@kolab.org'); | ||||
$browser->visit(new UserPage($john->id)) | $browser->visit(new UserPage($john->id)) | ||||
->waitFor('@user-info #external_email button') | ->waitFor('@user-info #external_email button') | ||||
->click('@user-info #external_email button') | ->click('@user-info #external_email button') | ||||
// Test dialog content, and closing it with Cancel button | // Test dialog content, and closing it with Cancel button | ||||
->with(new Dialog('#email-dialog'), function (Browser $browser) { | ->with(new Dialog('#email-dialog'), function (Browser $browser) { | ||||
$browser->assertSeeIn('@title', 'External email') | $browser->assertSeeIn('@title', 'External Email') | ||||
->assertFocused('@body input') | ->assertFocused('@body input') | ||||
->assertValue('@body input', 'john.doe.external@gmail.com') | ->assertValue('@body input', 'john.doe.external@gmail.com') | ||||
->assertSeeIn('@button-cancel', 'Cancel') | ->assertSeeIn('@button-cancel', 'Cancel') | ||||
->assertSeeIn('@button-action', 'Submit') | ->assertSeeIn('@button-action', 'Submit') | ||||
->click('@button-cancel'); | ->click('@button-cancel'); | ||||
}) | }) | ||||
->assertMissing('#email-dialog') | ->assertMissing('#email-dialog') | ||||
->click('@user-info #external_email button') | ->click('@user-info #external_email button') | ||||
▲ Show 20 Lines • Show All 86 Lines • Show Last 20 Lines |