Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Admin/DistlistTest.php
Show First 20 Lines • Show All 57 Lines • ▼ Show 20 Lines | public function testInfo(): void | ||||
Queue::fake(); | Queue::fake(); | ||||
$this->browse(function (Browser $browser) { | $this->browse(function (Browser $browser) { | ||||
$user = $this->getTestUser('john@kolab.org'); | $user = $this->getTestUser('john@kolab.org'); | ||||
$group = $this->getTestGroup('group-test@kolab.org'); | $group = $this->getTestGroup('group-test@kolab.org'); | ||||
$group->assignToWallet($user->wallets->first()); | $group->assignToWallet($user->wallets->first()); | ||||
$group->members = ['test1@gmail.com', 'test2@gmail.com']; | $group->members = ['test1@gmail.com', 'test2@gmail.com']; | ||||
$group->save(); | $group->save(); | ||||
$group->setConfig(['sender_policy' => ['test1.com', 'test2.com']]); | |||||
$distlist_page = new DistlistPage($group->id); | $distlist_page = new DistlistPage($group->id); | ||||
$user_page = new UserPage($user->id); | $user_page = new UserPage($user->id); | ||||
// Goto the distlist page | // Goto the distlist page | ||||
$browser->visit(new Home()) | $browser->visit(new Home()) | ||||
->submitLogon('jeroen@jeroen.jeroen', \App\Utils::generatePassphrase(), true) | ->submitLogon('jeroen@jeroen.jeroen', \App\Utils::generatePassphrase(), true) | ||||
->on(new Dashboard()) | ->on(new Dashboard()) | ||||
->visit($user_page) | ->visit($user_page) | ||||
->on($user_page) | ->on($user_page) | ||||
->click('@nav #tab-distlists') | ->click('@nav #tab-distlists') | ||||
->pause(1000) | ->pause(1000) | ||||
->click('@user-distlists table tbody tr:first-child td a') | ->click('@user-distlists table tbody tr:first-child td a') | ||||
->on($distlist_page) | ->on($distlist_page) | ||||
->assertSeeIn('@distlist-info .card-title', $group->email) | ->assertSeeIn('@distlist-info .card-title', $group->email) | ||||
->with('@distlist-info form', function (Browser $browser) use ($group) { | ->with('@distlist-info form', function (Browser $browser) use ($group) { | ||||
$browser->assertElementsCount('.row', 3) | $browser->assertElementsCount('.row', 3) | ||||
->assertSeeIn('.row:nth-child(1) label', 'ID (Created)') | ->assertSeeIn('.row:nth-child(1) label', 'ID (Created)') | ||||
->assertSeeIn('.row:nth-child(1) #distlistid', "{$group->id} ({$group->created_at})") | ->assertSeeIn('.row:nth-child(1) #distlistid', "{$group->id} ({$group->created_at})") | ||||
->assertSeeIn('.row:nth-child(2) label', 'Status') | ->assertSeeIn('.row:nth-child(2) label', 'Status') | ||||
->assertSeeIn('.row:nth-child(2) #status.text-danger', 'Not Ready') | ->assertSeeIn('.row:nth-child(2) #status.text-danger', 'Not Ready') | ||||
->assertSeeIn('.row:nth-child(3) label', 'Recipients') | ->assertSeeIn('.row:nth-child(3) label', 'Recipients') | ||||
->assertSeeIn('.row:nth-child(3) #members', $group->members[0]) | ->assertSeeIn('.row:nth-child(3) #members', $group->members[0]) | ||||
->assertSeeIn('.row:nth-child(3) #members', $group->members[1]); | ->assertSeeIn('.row:nth-child(3) #members', $group->members[1]); | ||||
}) | |||||
->assertElementsCount('ul.nav-tabs', 1) | |||||
->assertSeeIn('ul.nav-tabs .nav-link', 'Settings') | |||||
->with('@distlist-settings form', function (Browser $browser) { | |||||
$browser->assertElementsCount('.row', 1) | |||||
->assertSeeIn('.row:nth-child(1) label', 'Sender Access List') | |||||
->assertSeeIn('.row:nth-child(1) #sender_policy', 'test1.com, test2.com'); | |||||
}); | }); | ||||
// Test invalid group identifier | // Test invalid group identifier | ||||
$browser->visit('/distlist/abc')->assertErrorPage(404); | $browser->visit('/distlist/abc')->assertErrorPage(404); | ||||
}); | }); | ||||
} | } | ||||
/** | /** | ||||
Show All 31 Lines |