Skip to content

Commit b39f390

Browse files
committed
- Added coverage for Build and Deploy
- Increased overall stability
1 parent b919748 commit b39f390

15 files changed

+188
-20
lines changed

client/test/e2e/arc/login-logout.spec.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ describe('arc-login-logout', function() {
1313

1414
loginView.openLoginView();
1515

16+
browser.sleep(500);
17+
1618
expect(loginView.userNameInput.getText()).toEqual('');
1719

1820
loginView.loginToLandingView();
File renamed without changes.

client/test/e2e/arc/views/header-view.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var ArcHeaderView = (function () {
55
this.accountDropdown = element(
66
by.css('span[data-id="ArcAccountDropdown"] a.dropdown-toggle'));
77
this.logoutLink = element(by.id('arc-user-logout-btn'));
8+
this.homeLink = element(by.css('a[ui-sref="home"]'));
89

910
this.logout = function() {
1011
browser.driver.wait(
@@ -18,6 +19,18 @@ var ArcHeaderView = (function () {
1819
browser.driver.sleep(500);
1920
browser.waitForAngular();
2021
};
22+
23+
this.navigateToLandingPage = function () {
24+
browser.driver.wait(
25+
EC.presenceOf(this.homeLink),
26+
10000);
27+
28+
this.homeLink.click();
29+
30+
browser.driver.wait(
31+
EC.presenceOf(element(by.css('.sl-app-icon-composer'))),
32+
10000);
33+
};
2134
}
2235
return ArcHeaderView;
2336
})();

client/test/e2e/build-deploy/views/build-deploy-home-view.js

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,59 @@ var BuildDeployHomeView = (function () {
66

77
this.componentIdentifier = element(
88
by.css('section .sl-build-deploy'));
9+
this.buildButton = element(
10+
by.css('form[name="builduniversal"] .primary'));
11+
this.deployButton = element(
12+
by.css('form[name="deployuniversal"] .primary'));
13+
this.buildSuccessMessage = element(
14+
by.cssContainingText(
15+
'form[name="builduniversal"]'+
16+
'[message="build.universal.message"]', 'Success'
17+
)
18+
);
19+
this.deploySuccessMessage = element(
20+
by.cssContainingText(
21+
'form[name="deployuniversal"]' +
22+
' [message="deploy.universal.message"]', 'Success'
23+
)
24+
);
925

1026
this.waitUntilLoaded = function() {
1127
browser.driver.wait(
1228
EC.presenceOf(self.componentIdentifier),
1329
10000);
1430
};
31+
32+
this.buildApp = function () {
33+
var self = this;
34+
35+
browser.driver.wait(
36+
EC.elementToBeClickable(self.buildButton),
37+
10000);
38+
39+
self.buildButton.click();
40+
self.buildButton.click();
41+
42+
browser.driver.wait(
43+
EC.visibilityOf(self.buildSuccessMessage),
44+
500000);
45+
};
46+
47+
this.deployApp = function () {
48+
var self = this;
49+
50+
browser.driver.wait(
51+
EC.elementToBeClickable(self.deployButton),
52+
10000);
53+
54+
self.deployButton.click();
55+
self.deployButton.click();
56+
57+
browser.driver.wait(
58+
EC.visibilityOf(self.deploySuccessMessage),
59+
150000);
60+
};
61+
1562
}
1663
return BuildDeployHomeView;
1764
})();
File renamed without changes.

client/test/e2e/composer/model.spec.js renamed to client/test/e2e/composer/model.short.spec.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,14 @@ describe('model-definition-interactions', function() {
6363
expect(modelEditorView.getCurrentModelName()).toEqual('mynewmodel');
6464

6565
modelEditorView.addCommentToProperty(0, 'comment1\n');
66-
browser.sleep(250);
66+
browser.sleep(1000);
6767
expect(modelEditorView.getFirstComment()).toEqual('comment1');
6868

6969
browser.sleep(500);
7070

7171
modelEditorView.addCommentToProperty(0, 'comment2\n');
7272

73-
browser.sleep(250);
73+
browser.sleep(1000);
7474

7575
expect(modelEditorView.getFirstComment()).toEqual('comment2');
7676

@@ -131,7 +131,7 @@ describe('model-definition-interactions', function() {
131131
mainTreeNavView.openFirstModel();
132132
expect(modelEditorView.getCurrentModelName()).toEqual('mynewmodel');
133133

134-
browser.sleep(750);
134+
browser.sleep(1500);
135135

136136
expect(modelEditorView.getCheckedElements().count()).toEqual(3);
137137
expect(modelEditorView.getFirstComment()).toEqual('comment2');
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
var ArcViews = require('../arc/views/');
2+
var ProcessManagerViews = require('../process-manager/views/');
3+
var BuildDeployViews = require('../build-deploy/views/');
4+
var EC = protractor.ExpectedConditions;
5+
6+
describe('process-manager-and-build-deploy-interactions', function () {
7+
beforeEach(function() {
8+
var loginView = new ArcViews.LoginView();
9+
var landingView = new ArcViews.LandingView();
10+
11+
loginView.loginToLandingView();
12+
landingView.openProcessManagerView();
13+
});
14+
15+
afterEach(function() {
16+
var headerView = new ArcViews.HeaderView();
17+
18+
headerView.logout();
19+
});
20+
21+
it('should login and navigate to process manager,' +
22+
'should add a pm host and activate it', function () {
23+
var processManagerHostView =
24+
new ProcessManagerViews.ProcessManagerHostView();
25+
var buildDeployHomeView =
26+
new BuildDeployViews.BuildDeployHomeView();
27+
var headerView = new ArcViews.HeaderView();
28+
var landingView = new ArcViews.LandingView();
29+
30+
31+
browser.sleep(500);
32+
33+
processManagerHostView.addNewPMHost(
34+
'ec2-52-8-216-111.us-west-1.compute.amazonaws.com', '8701'
35+
);
36+
37+
headerView.navigateToLandingPage();
38+
39+
landingView.openBuildDeployView();
40+
41+
browser.sleep(500);
42+
43+
buildDeployHomeView.buildApp();
44+
45+
buildDeployHomeView.deployApp();
46+
47+
headerView.navigateToLandingPage();
48+
49+
landingView.openProcessManagerView();
50+
51+
expect(
52+
EC.visibilityOf(
53+
processManagerHostView.processManagerStatusActive
54+
)
55+
);
56+
57+
processManagerHostView.deleteProcessManagerHost();
58+
},5000000);
59+
});

client/test/e2e/process-manager/load-balancer.spec.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
var ArcViews = require('../arc/views/');
22
var ProcessManagerViews = require('../process-manager/views/');
3-
var EC = protractor.ExpectedConditions;
43

54
describe('load-balancer-interactions', function () {
65
beforeEach(function() {

client/test/e2e/process-manager/pm-host.spec.js

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ describe('process-manager-host-interactions', function () {
1717
headerView.logout();
1818
});
1919

20-
it('should login and navigate to process manager,' +
20+
xit('should login and navigate to process manager,' +
2121
'add a valid pm host,', function () {
2222
var processManagerHostView =
2323
new ProcessManagerViews.ProcessManagerHostView();
@@ -36,4 +36,32 @@ describe('process-manager-host-interactions', function () {
3636

3737
processManagerHostView.deleteProcessManagerHost();
3838
});
39+
40+
it('should login and navigate to process manager,' +
41+
'should add a pm host and activate it', function () {
42+
var processManagerHostView =
43+
new ProcessManagerViews.ProcessManagerHostView();
44+
var headerView = new ArcViews.HeaderView();
45+
46+
headerView.navigateToLandingPage();
47+
48+
49+
browser.sleep(500);
50+
51+
processManagerHostView.addNewPMHost(
52+
'ec2-52-8-216-111.us-west-1.compute.amazonaws.com', '8701'
53+
);
54+
55+
processManagerHostView.checkForPMHostMessage();
56+
57+
expect(
58+
EC.visibilityOf(
59+
processManagerHostView.processManagerNoApplicationFoundMessage
60+
)
61+
);
62+
63+
processManagerHostView.deleteProcessManagerHost();
64+
65+
66+
});
3967
});

client/test/e2e/process-manager/views/process-manager-host-view.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ var ProcessManagerHostView = (function () {
1010
by.css('button[ng-click="initAddNewPMHost()"]'));
1111
this.processManagerActivateButton = element(
1212
by.css('button[ng-click="savePM()"]'));
13-
this.processManagerHostErrorIndicator = element(
13+
this.processManagerHostMessageIndicator = element(
1414
by.css('.sl-icon-question-mark'));
1515
this.processManagerDeleteButton = element(
1616
by.css('a[ng-click="deleteHost(host)"]'));
1717
this.processManagerNoServerMessage = element(
1818
by.cssContainingText('h4', 'No Server'));
19+
this.processManagerNoApplicationFoundMessage = element(
20+
by.cssContainingText('h4', 'No Application Found'));
1921
this.processManagerErrorMessageCloseButton = element(
2022
by.css('button[ng-click="showPopover = false"]'));
2123

@@ -40,15 +42,15 @@ var ProcessManagerHostView = (function () {
4042
this.processManagerActivateButton.click();
4143
};
4244

43-
this.checkForPMHostErrors = function () {
45+
this.checkForPMHostMessage = function () {
4446
var self = this;
4547

4648
browser.driver.wait(
47-
EC.elementToBeClickable(self.processManagerHostErrorIndicator),
49+
EC.elementToBeClickable(self.processManagerHostMessageIndicator),
4850
10000);
4951

50-
self.processManagerHostErrorIndicator.click();
51-
self.processManagerHostErrorIndicator.click();
52+
self.processManagerHostMessageIndicator.click();
53+
self.processManagerHostMessageIndicator.click();
5254
};
5355

5456
this.closeErrorDialog = function () {

0 commit comments

Comments
 (0)