Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/Reseller/SharedFolderTest.php
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | class SharedFolderTest extends TestCaseDusk | ||||
public function testInfo(): void | 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'); | ||||
$folder = $this->getTestSharedFolder('folder-event@kolab.org'); | $folder = $this->getTestSharedFolder('folder-event@kolab.org'); | ||||
$folder->setConfig(['acl' => ['anyone, read-only', 'jack@kolab.org, read-write']]); | $folder->setConfig(['acl' => ['anyone, read-only', 'jack@kolab.org, read-write']]); | ||||
$folder->setAliases(['folder-alias1@kolab.org', 'folder-alias2@kolab.org']); | |||||
$folder->status = SharedFolder::STATUS_NEW | SharedFolder::STATUS_ACTIVE | $folder->status = SharedFolder::STATUS_NEW | SharedFolder::STATUS_ACTIVE | ||||
| SharedFolder::STATUS_LDAP_READY | SharedFolder::STATUS_IMAP_READY; | | SharedFolder::STATUS_LDAP_READY | SharedFolder::STATUS_IMAP_READY; | ||||
$folder->save(); | $folder->save(); | ||||
$folder_page = new SharedFolderPage($folder->id); | $folder_page = new SharedFolderPage($folder->id); | ||||
$user_page = new UserPage($user->id); | $user_page = new UserPage($user->id); | ||||
// Goto the folder page | // Goto the folder page | ||||
Show All 13 Lines | public function testInfo(): void | ||||
->assertSeeIn('.row:nth-child(1) #folderid', "{$folder->id} ({$folder->created_at})") | ->assertSeeIn('.row:nth-child(1) #folderid', "{$folder->id} ({$folder->created_at})") | ||||
->assertSeeIn('.row:nth-child(2) label', 'Status') | ->assertSeeIn('.row:nth-child(2) label', 'Status') | ||||
->assertSeeIn('.row:nth-child(2) #status.text-success', 'Active') | ->assertSeeIn('.row:nth-child(2) #status.text-success', 'Active') | ||||
->assertSeeIn('.row:nth-child(3) label', 'Name') | ->assertSeeIn('.row:nth-child(3) label', 'Name') | ||||
->assertSeeIn('.row:nth-child(3) #name', $folder->name) | ->assertSeeIn('.row:nth-child(3) #name', $folder->name) | ||||
->assertSeeIn('.row:nth-child(4) label', 'Type') | ->assertSeeIn('.row:nth-child(4) label', 'Type') | ||||
->assertSeeIn('.row:nth-child(4) #type', 'Calendar'); | ->assertSeeIn('.row:nth-child(4) #type', 'Calendar'); | ||||
}) | }) | ||||
->assertElementsCount('ul.nav-tabs', 1) | ->assertElementsCount('ul.nav-tabs .nav-item', 2) | ||||
->assertSeeIn('ul.nav-tabs .nav-link', 'Settings') | ->assertSeeIn('ul.nav-tabs .nav-item:nth-child(1) .nav-link', 'Settings') | ||||
->with('@folder-settings form', function (Browser $browser) { | ->with('@folder-settings form', function (Browser $browser) { | ||||
$browser->assertElementsCount('.row', 1) | $browser->assertElementsCount('.row', 1) | ||||
->assertSeeIn('.row:nth-child(1) label', 'Access rights') | ->assertSeeIn('.row:nth-child(1) label', 'Access rights') | ||||
->assertSeeIn('.row:nth-child(1) #acl', 'anyone: read-only') | ->assertSeeIn('.row:nth-child(1) #acl', 'anyone: read-only') | ||||
->assertSeeIn('.row:nth-child(1) #acl', 'jack@kolab.org: read-write'); | ->assertSeeIn('.row:nth-child(1) #acl', 'jack@kolab.org: read-write'); | ||||
}) | |||||
->assertSeeIn('ul.nav-tabs .nav-item:nth-child(2) .nav-link', 'Email Aliases (2)') | |||||
->click('ul.nav-tabs .nav-item:nth-child(2) .nav-link') | |||||
->with('@folder-aliases table', function (Browser $browser) { | |||||
$browser->assertElementsCount('tbody tr', 2) | |||||
->assertSeeIn('tbody tr:nth-child(1) td', 'folder-alias1@kolab.org') | |||||
->assertSeeIn('tbody tr:nth-child(2) td', 'folder-alias2@kolab.org'); | |||||
}); | }); | ||||
// Test invalid shared folder identifier | // Test invalid shared folder identifier | ||||
$browser->visit('/shared-folder/abc')->assertErrorPage(404); | $browser->visit('/shared-folder/abc')->assertErrorPage(404); | ||||
}); | }); | ||||
} | } | ||||
} | } |