Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Admin/UserTest.php
Show First 20 Lines • Show All 101 Lines • ▼ Show 20 Lines | public function testUserInfo(): void | ||||
// 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', 5); | ->assertElementsCount('@nav a', 5); | ||||
// Assert Finances tab | // Assert Finances tab | ||||
$browser->assertSeeIn('@nav #tab-finances', 'Finances') | $browser->assertSeeIn('@nav #tab-finances', 'Finances') | ||||
->with('@user-finances', function (Browser $browser) { | ->with('@user-finances', function (Browser $browser) { | ||||
$browser->assertSeeIn('.card-title', 'Account balance') | $browser->waitUntilMissing('.app-loader') | ||||
->assertSeeIn('.card-title', 'Account balance') | |||||
->assertSeeIn('.card-title .text-success', '0,00 CHF') | ->assertSeeIn('.card-title .text-success', '0,00 CHF') | ||||
->with('form', function (Browser $browser) { | ->with('form', function (Browser $browser) { | ||||
$browser->assertElementsCount('.row', 1) | $payment_provider = ucfirst(\config('services.payment_provider')); | ||||
$browser->assertElementsCount('.row', 2) | |||||
->assertSeeIn('.row:nth-child(1) label', 'Discount') | ->assertSeeIn('.row:nth-child(1) label', 'Discount') | ||||
->assertSeeIn('.row:nth-child(1) #discount span', 'none'); | ->assertSeeIn('.row:nth-child(1) #discount span', 'none') | ||||
->assertSeeIn('.row:nth-child(2) label', $payment_provider . ' ID') | |||||
->assertVisible('.row:nth-child(2) a'); | |||||
}); | }); | ||||
}); | }); | ||||
// Assert Aliases tab | // Assert Aliases tab | ||||
$browser->assertSeeIn('@nav #tab-aliases', 'Aliases (1)') | $browser->assertSeeIn('@nav #tab-aliases', 'Aliases (1)') | ||||
->click('@nav #tab-aliases') | ->click('@nav #tab-aliases') | ||||
->whenAvailable('@user-aliases', function (Browser $browser) { | ->whenAvailable('@user-aliases', function (Browser $browser) { | ||||
$browser->assertElementsCount('table tbody tr', 1) | $browser->assertElementsCount('table tbody tr', 1) | ||||
▲ Show 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | public function testUserInfo2(): void | ||||
// 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', 5); | ->assertElementsCount('@nav a', 5); | ||||
// Assert Finances tab | // Assert Finances tab | ||||
$browser->assertSeeIn('@nav #tab-finances', 'Finances') | $browser->assertSeeIn('@nav #tab-finances', 'Finances') | ||||
->with('@user-finances', function (Browser $browser) { | ->with('@user-finances', function (Browser $browser) { | ||||
$browser->assertSeeIn('.card-title', 'Account balance') | $browser->waitUntilMissing('.app-loader') | ||||
->assertSeeIn('.card-title', 'Account balance') | |||||
->assertSeeIn('.card-title .text-danger', '-20,10 CHF') | ->assertSeeIn('.card-title .text-danger', '-20,10 CHF') | ||||
->with('form', function (Browser $browser) { | ->with('form', function (Browser $browser) { | ||||
$browser->assertElementsCount('.row', 1) | $browser->assertElementsCount('.row', 2) | ||||
->assertSeeIn('.row:nth-child(1) label', 'Discount') | ->assertSeeIn('.row:nth-child(1) label', 'Discount') | ||||
->assertSeeIn('.row:nth-child(1) #discount span', '10% - Test voucher'); | ->assertSeeIn('.row:nth-child(1) #discount span', '10% - Test voucher'); | ||||
}); | }); | ||||
}); | }); | ||||
// Assert Aliases tab | // Assert Aliases tab | ||||
$browser->assertSeeIn('@nav #tab-aliases', 'Aliases (1)') | $browser->assertSeeIn('@nav #tab-aliases', 'Aliases (1)') | ||||
->click('@nav #tab-aliases') | ->click('@nav #tab-aliases') | ||||
▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | public function testUserInfo2(): void | ||||
// 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', 5); | ->assertElementsCount('@nav a', 5); | ||||
// Assert Finances tab | // Assert Finances tab | ||||
$browser->assertSeeIn('@nav #tab-finances', 'Finances') | $browser->assertSeeIn('@nav #tab-finances', 'Finances') | ||||
->with('@user-finances', function (Browser $browser) { | ->with('@user-finances', function (Browser $browser) { | ||||
$browser->assertSeeIn('.card-title', 'Account balance') | $browser->waitUntilMissing('.app-loader') | ||||
->assertSeeIn('.card-title', 'Account balance') | |||||
->assertSeeIn('.card-title .text-success', '0,00 CHF') | ->assertSeeIn('.card-title .text-success', '0,00 CHF') | ||||
->with('form', function (Browser $browser) { | ->with('form', function (Browser $browser) { | ||||
$browser->assertElementsCount('.row', 1) | $browser->assertElementsCount('.row', 2) | ||||
->assertSeeIn('.row:nth-child(1) label', 'Discount') | ->assertSeeIn('.row:nth-child(1) label', 'Discount') | ||||
->assertSeeIn('.row:nth-child(1) #discount span', 'none'); | ->assertSeeIn('.row:nth-child(1) #discount span', 'none'); | ||||
}); | }); | ||||
}); | }); | ||||
// Assert Aliases tab | // Assert Aliases tab | ||||
$browser->assertSeeIn('@nav #tab-aliases', 'Aliases (0)') | $browser->assertSeeIn('@nav #tab-aliases', 'Aliases (0)') | ||||
->click('@nav #tab-aliases') | ->click('@nav #tab-aliases') | ||||
▲ Show 20 Lines • Show All 101 Lines • ▼ Show 20 Lines | class UserTest extends TestCaseDusk | ||||
*/ | */ | ||||
public function testWalletDiscount(): void | public function testWalletDiscount(): 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)) | ||||
->pause(100) | ->pause(100) | ||||
->waitUntilMissing('@user-finances .app-loader') | |||||
->click('@user-finances #discount button') | ->click('@user-finances #discount button') | ||||
// Test dialog content, and closing it with Cancel button | // Test dialog content, and closing it with Cancel button | ||||
->with(new Dialog('#discount-dialog'), function (Browser $browser) { | ->with(new Dialog('#discount-dialog'), function (Browser $browser) { | ||||
$browser->assertSeeIn('@title', 'Account discount') | $browser->assertSeeIn('@title', 'Account discount') | ||||
->assertFocused('@body select') | ->assertFocused('@body select') | ||||
->assertSelected('@body select', '') | ->assertSelected('@body select', '') | ||||
->assertSeeIn('@button-cancel', 'Cancel') | ->assertSeeIn('@button-cancel', 'Cancel') | ||||
->assertSeeIn('@button-action', 'Submit') | ->assertSeeIn('@button-action', 'Submit') | ||||
Show All 39 Lines |