Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Browser/SharedFolderTest.php
Show First 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | public function testList(): void | ||||
// Log on the user | // Log on the user | ||||
$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) | ||||
->on(new Dashboard()) | ->on(new Dashboard()) | ||||
->assertMissing('@links .link-shared-folders'); | ->assertMissing('@links .link-shared-folders'); | ||||
}); | }); | ||||
// Test that shared folders lists page is not accessible without the 'beta-shared-folders' entitlement | // Test that shared folders lists page is not accessible without the 'beta' entitlement | ||||
$this->browse(function (Browser $browser) { | $this->browse(function (Browser $browser) { | ||||
$browser->visit('/shared-folders') | $browser->visit('/shared-folders') | ||||
->assertErrorPage(403); | ->assertErrorPage(403); | ||||
}); | }); | ||||
// Add beta+beta-shared-folders entitlements | // Add beta entitlement | ||||
$john = $this->getTestUser('john@kolab.org'); | $john = $this->getTestUser('john@kolab.org'); | ||||
$this->addBetaEntitlement($john, 'beta-shared-folders'); | $this->addBetaEntitlement($john); | ||||
// Make sure the first folder is active | // Make sure the first folder is active | ||||
$folder = $this->getTestSharedFolder('folder-event@kolab.org'); | $folder = $this->getTestSharedFolder('folder-event@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(); | ||||
// Test shared folders lists page | // Test shared folders lists page | ||||
$this->browse(function (Browser $browser) { | $this->browse(function (Browser $browser) { | ||||
Show All 19 Lines | class SharedFolderTest extends TestCaseDusk | ||||
/** | /** | ||||
* Test shared folder creation/editing/deleting | * Test shared folder creation/editing/deleting | ||||
* | * | ||||
* @depends testList | * @depends testList | ||||
*/ | */ | ||||
public function testCreateUpdateDelete(): void | public function testCreateUpdateDelete(): void | ||||
{ | { | ||||
// Test that the page is not available accessible without the 'beta-shared-folders' entitlement | // Test that the page is not available accessible without the 'beta' entitlement | ||||
$this->browse(function (Browser $browser) { | $this->browse(function (Browser $browser) { | ||||
$browser->visit('/shared-folder/new') | $browser->visit('/shared-folder/new') | ||||
->assertErrorPage(403); | ->assertErrorPage(403); | ||||
}); | }); | ||||
// Add beta+beta-shared-folders entitlements | // Add beta entitlements | ||||
$john = $this->getTestUser('john@kolab.org'); | $john = $this->getTestUser('john@kolab.org'); | ||||
$this->addBetaEntitlement($john, 'beta-shared-folders'); | $this->addBetaEntitlement($john); | ||||
$this->browse(function (Browser $browser) { | $this->browse(function (Browser $browser) { | ||||
// Create a folder | // Create a folder | ||||
$browser->visit(new SharedFolderList()) | $browser->visit(new SharedFolderList()) | ||||
->assertSeeIn('button.shared-folder-new', 'Create folder') | ->assertSeeIn('button.shared-folder-new', 'Create folder') | ||||
->click('button.shared-folder-new') | ->click('button.shared-folder-new') | ||||
->on(new SharedFolderInfo()) | ->on(new SharedFolderInfo()) | ||||
->assertSeeIn('#folder-info .card-title', 'New shared folder') | ->assertSeeIn('#folder-info .card-title', 'New shared folder') | ||||
▲ Show 20 Lines • Show All 151 Lines • ▼ Show 20 Lines | class SharedFolderTest extends TestCaseDusk | ||||
/** | /** | ||||
* Test shared folder status | * Test shared folder status | ||||
* | * | ||||
* @depends testList | * @depends testList | ||||
*/ | */ | ||||
public function testStatus(): void | public function testStatus(): void | ||||
{ | { | ||||
$john = $this->getTestUser('john@kolab.org'); | $john = $this->getTestUser('john@kolab.org'); | ||||
$this->addBetaEntitlement($john, 'beta-shared-folders'); | $this->addBetaEntitlement($john); | ||||
$folder = $this->getTestSharedFolder('folder-event@kolab.org'); | $folder = $this->getTestSharedFolder('folder-event@kolab.org'); | ||||
$folder->status = SharedFolder::STATUS_NEW | SharedFolder::STATUS_ACTIVE | SharedFolder::STATUS_LDAP_READY; | $folder->status = SharedFolder::STATUS_NEW | SharedFolder::STATUS_ACTIVE | SharedFolder::STATUS_LDAP_READY; | ||||
$folder->created_at = \now(); | $folder->created_at = \now(); | ||||
$folder->save(); | $folder->save(); | ||||
$this->assertFalse($folder->isImapReady()); | $this->assertFalse($folder->isImapReady()); | ||||
$this->browse(function ($browser) use ($folder) { | $this->browse(function ($browser) use ($folder) { | ||||
Show All 20 Lines | class SharedFolderTest extends TestCaseDusk | ||||
} | } | ||||
/** | /** | ||||
* Test shared folder settings | * Test shared folder settings | ||||
*/ | */ | ||||
public function testSettings(): void | public function testSettings(): void | ||||
{ | { | ||||
$john = $this->getTestUser('john@kolab.org'); | $john = $this->getTestUser('john@kolab.org'); | ||||
$this->addBetaEntitlement($john, 'beta-shared-folders'); | $this->addBetaEntitlement($john); | ||||
$folder = $this->getTestSharedFolder('folder-event@kolab.org'); | $folder = $this->getTestSharedFolder('folder-event@kolab.org'); | ||||
$folder->setSetting('acl', null); | $folder->setSetting('acl', null); | ||||
$this->browse(function ($browser) use ($folder) { | $this->browse(function ($browser) use ($folder) { | ||||
$aclInput = new AclInput('@settings #acl'); | $aclInput = new AclInput('@settings #acl'); | ||||
// Test auto-refresh | // Test auto-refresh | ||||
$browser->visit('/shared-folder/' . $folder->id) | $browser->visit('/shared-folder/' . $folder->id) | ||||
->on(new SharedFolderInfo()) | ->on(new SharedFolderInfo()) | ||||
▲ Show 20 Lines • Show All 56 Lines • Show Last 20 Lines |