Skip to content

Commit beb9c45

Browse files
committed
test: add ModuleInstall test
(cherry picked from commit 178f268)
1 parent 1102698 commit beb9c45

2 files changed

Lines changed: 124 additions & 1 deletion

File tree

tests/acceptance.suite.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ modules:
1010
- PhpBrowser:
1111
url: http://web/ModifiedModuleLoaderClient/
1212
- \Helper\Acceptance
13-
step_decorators: ~
13+
step_decorators:
14+
- \Codeception\Step\TryTo
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<?php
2+
3+
class ModuleInstallerCest
4+
{
5+
private $sessionCookie;
6+
7+
public function _before(AcceptanceTester $I)
8+
{
9+
$this->_login($I);
10+
$this->_setModuleTestDir($I);
11+
$this->_cleanUp($I);
12+
}
13+
14+
public function _after(AcceptanceTester $I)
15+
{
16+
$this->_login($I);
17+
$this->_cleanUp($I);
18+
$this->_setModuleWorkingDir($I);
19+
}
20+
21+
public function testModuleInstaller(AcceptanceTester $I)
22+
{
23+
$I->amOnPage('/?action=moduleInfo&archiveName=robinthehood/stripe');
24+
$I->see('Stripe');
25+
$I->see('Download & Install');
26+
$I->click('Download & Install');
27+
$I->see('Deinstallieren');
28+
$I->see('installiert');
29+
30+
$I->amOnPage('/?action=moduleInfo&archiveName=robinthehood/modified-std-module');
31+
$I->see('Deinstallieren');
32+
$I->see('installiert');
33+
34+
$I->amOnPage('/?action=moduleInfo&archiveName=composer/autoload');
35+
$I->see('Deinstallieren');
36+
$I->see('installiert');
37+
38+
// canSeeInstalledModules
39+
$I->amOnPage('/?filterModules=installed');
40+
$I->see('Installierte Module');
41+
$I->seeNumberOfElements(".module-serach-box", [1,200]);
42+
$I->see('Composer Autoload');
43+
$I->see('tandard Modul für Modified');
44+
$I->see('Stripe');
45+
46+
// canUninstallModules
47+
$I->amOnPage('/?action=moduleInfo&archiveName=robinthehood/stripe');
48+
$I->see('Stripe');
49+
$I->tryToClick('Deinstallieren');
50+
51+
$I->amOnPage('/?action=moduleInfo&archiveName=robinthehood/modified-std-module');
52+
$I->see('Standard Modul für Modified');
53+
$I->tryToClick('Deinstallieren');
54+
55+
$I->amOnPage('/?action=moduleInfo&archiveName=composer/autoload');
56+
$I->see('Composer Autoload');
57+
$I->tryToClick('Deinstallieren');
58+
59+
// canDeleteModules
60+
$I->amOnPage('/?action=moduleInfo&archiveName=robinthehood/stripe');
61+
$I->see('Stripe');
62+
$I->tryToClick('Modul löschen');
63+
64+
$I->amOnPage('/?action=moduleInfo&archiveName=robinthehood/modified-std-module');
65+
$I->see('Standard Modul für Modified');
66+
$I->tryToClick('Modul löschen');
67+
68+
$I->amOnPage('/?action=moduleInfo&archiveName=composer/autoload');
69+
$I->see('Composer Autoload');
70+
$I->tryToClick('Modul löschen');
71+
}
72+
73+
public function _login(AcceptanceTester $I)
74+
{
75+
// set session cookie
76+
if ($this->sessionCookie) {
77+
$I->setCookie('PHPSESSID', $this->sessionCookie);
78+
return;
79+
}
80+
81+
// logging in
82+
$I->amOnPage('/?action=signIn');
83+
$I->fillField('username', 'root');
84+
$I->fillField('password', 'root');
85+
$I->click('Anmelden');
86+
87+
// saving session cookie
88+
$this->sessionCookie = $I->grabCookie('PHPSESSID');
89+
}
90+
91+
public function _setModuleTestDir(AcceptanceTester $I)
92+
{
93+
$I->amOnPage('/?action=settings');
94+
$I->fillField('modulesLocalDir', 'ModulesTest');
95+
$I->click('#v-pills-advanced button');
96+
}
97+
98+
public function _setModuleWorkingDir(AcceptanceTester $I)
99+
{
100+
$I->amOnPage('/?action=settings');
101+
$I->fillField('modulesLocalDir', 'Modules');
102+
$I->click('#v-pills-advanced button');
103+
}
104+
105+
public function _cleanUp(AcceptanceTester $I)
106+
{
107+
$I->amOnPage('/?action=moduleInfo&archiveName=robinthehood/stripe');
108+
$I->see('Stripe');
109+
$I->tryToClick('Deinstallieren');
110+
$I->tryToClick('Modul löschen');
111+
112+
$I->amOnPage('/?action=moduleInfo&archiveName=robinthehood/modified-std-module');
113+
$I->see('Standard Modul für Modified');
114+
$I->tryToClick('Deinstallieren');
115+
$I->tryToClick('Modul löschen');
116+
117+
$I->amOnPage('/?action=moduleInfo&archiveName=composer/autoload');
118+
$I->see('Composer Autoload');
119+
$I->tryToClick('Deinstallieren');
120+
$I->tryToClick('Modul löschen');
121+
}
122+
}

0 commit comments

Comments
 (0)