Skip to content

Commit 20a2a15

Browse files
committed
Adding new tests for creating an eform and setting tags.
1 parent 2f41d8a commit 20a2a15

File tree

5 files changed

+98
-86
lines changed

5 files changed

+98
-86
lines changed

eform-client/e2e/Page objects/Login.page.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class LoginPage extends Page {
3535
this.usernameInput.setValue(LoginConstants.username);
3636
this.passwordInput.setValue(LoginConstants.password);
3737
this.loginBtn.click();
38-
browser.pause(15000);
38+
browser.pause(10000);
3939
}
4040
}
4141

eform-client/e2e/Page objects/MyEforms.page.ts

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {PageWithNavbarPage} from './PageWithNavbar.page';
2-
import XMLForEform from "../Constants/XMLForEform";
2+
import XMLForEform from '../Constants/XMLForEform';
33

44
class MyEformsPage extends PageWithNavbarPage {
55
constructor() {
@@ -23,7 +23,7 @@ class MyEformsPage extends PageWithNavbarPage {
2323
}
2424

2525
public get eformNameSortBtn() {
26-
return browser.element('#nameEFormSort')
26+
return browser.element('#nameEFormSort');
2727
}
2828

2929

@@ -54,33 +54,33 @@ class MyEformsPage extends PageWithNavbarPage {
5454

5555
createNewEform(eFormLabel, newTagsList = [], tagAddedNum = 0) {
5656
this.newEformBtn.click();
57-
browser.pause(3000);
57+
browser.pause(2000);
5858
// Create replaced xml and insert it in textarea
59-
let xml = XMLForEform.XML.replace('TEST_LABEL', eFormLabel);
59+
const xml = XMLForEform.XML.replace('TEST_LABEL', eFormLabel);
6060
browser.execute(function (xmlText) {
61-
(<HTMLInputElement>document.getElementById("eFormXml")).value = xmlText;
61+
(<HTMLInputElement>document.getElementById('eFormXml')).value = xmlText;
6262
}, xml);
6363
this.xmlTextArea.addValue(' ');
6464
// Create new tags
65-
let addedTags: string[] = newTagsList;
65+
const addedTags: string[] = newTagsList;
6666
if (newTagsList.length > 0) {
6767
this.createEformNewTagInput.setValue(newTagsList.join(','));
6868
}
6969
// Add existing tags
70-
let selectedTags: string[] = [];
70+
const selectedTags: string[] = [];
7171
if (tagAddedNum > 0) {
7272
for (let i = 0; i < tagAddedNum; i++) {
7373
this.createEformTagSelector.click();
7474
browser.pause(2000);
75-
let selectedTag = $('.ng-option:not(.ng-option-selected)');
75+
const selectedTag = $('.ng-option:not(.ng-option-selected)');
7676
selectedTags.push(selectedTag.getText());
7777
selectedTag.click();
7878
browser.pause(2000);
7979
}
8080
}
8181
this.createEformBtn.click();
82-
browser.pause(10000);
83-
return {added: addedTags, selected: selectedTags}
82+
browser.pause(5000);
83+
return {added: addedTags, selected: selectedTags};
8484
}
8585
}
8686

@@ -89,16 +89,18 @@ export default myEformsPage;
8989

9090
class MyEformsRowObject {
9191
constructor(rowNum) {
92-
this.id = +$$('#eform-id')[rowNum - 1];
93-
this.createdAt = new Date($$('#eform-created-at')[rowNum - 1].getText());
94-
this.eFormName = $$('#eform-label')[rowNum - 1].getText();
95-
this.tags = $$(`//*[@id="mainPageEFormsTableBody"]/tr[${rowNum}]//*[@id="eform-tag"]`);
96-
this.pairs = $$(`//*[@id="mainPageEFormsTableBody"]/tr[${rowNum}]//*[@id="eform-tag"]`);
97-
this.editTagsBtn = $$('#eform-edit-btn')[rowNum - 1];
98-
this.pairEformBtn = $$('#eform-pairing-btn')[rowNum - 1];
99-
this.editColumnsBtn = $$('#edit-columnts-btn')[rowNum - 1];
100-
this.deleteBtn = $$('#delete-eform-btn')[rowNum - 1];
101-
this.uploadZipArchiveBtn = $$('#upload-zip-btn')[rowNum - 1]
92+
if ($$('#eform-id')[rowNum - 1] != null) {
93+
this.id = +$$('#eform-id')[rowNum - 1];
94+
this.createdAt = new Date($$('#eform-created-at')[rowNum - 1].getText());
95+
this.eFormName = $$('#eform-label')[rowNum - 1].getText();
96+
this.tags = $$(`//*[@id="mainPageEFormsTableBody"]/tr[${rowNum}]//*[@id="eform-tag"]`);
97+
this.pairs = $$(`//*[@id="mainPageEFormsTableBody"]/tr[${rowNum}]//*[@id="eform-tag"]`);
98+
this.editTagsBtn = $$('#eform-edit-btn')[rowNum - 1];
99+
this.pairEformBtn = $$('#eform-pairing-btn')[rowNum - 1];
100+
this.editColumnsBtn = $$('#edit-columnts-btn')[rowNum - 1];
101+
this.deleteBtn = $$('#delete-eform-btn')[rowNum - 1];
102+
this.uploadZipArchiveBtn = $$('#upload-zip-btn')[rowNum - 1];
103+
}
102104
}
103105

104106
id: number;
Lines changed: 70 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import loginPage from '../../Page objects/Login.page';
2-
import myEformsPage from "../../Page objects/MyEforms.page";
3-
import {Guid} from "guid-typescript";
2+
import myEformsPage from '../../Page objects/MyEforms.page';
3+
import {Guid} from 'guid-typescript';
44

55
const expect = require('chai').expect;
66
describe('My eforms', function () {
@@ -10,73 +10,82 @@ describe('My eforms', function () {
1010
});
1111
it('should create eform without any tags', function () {
1212
const newEformLabel = Guid.create().toString();
13-
const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel);
14-
const eform = myEformsPage.getFirstMyEformsRowObj();
13+
myEformsPage.createNewEform(newEformLabel);
14+
let eform = myEformsPage.getFirstMyEformsRowObj();
1515
expect(eform.eFormName).equal(newEformLabel);
1616
expect(eform.tags.length).equal(0);
17+
eform.deleteBtn.click();
18+
$$('.btn-danger')[2].click();
19+
eform = myEformsPage.getFirstMyEformsRowObj();
20+
expect(eform.id === null);
1721
});
1822
it('should create eform simultaneously with creating 1 tag', function () {
1923
const newEformLabel = Guid.create().toString();
2024
const createdTag = Guid.create().toString();
21-
const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel, [createdTag]);
22-
const eform = myEformsPage.getFirstMyEformsRowObj();
25+
myEformsPage.createNewEform(newEformLabel, [createdTag]);
26+
let eform = myEformsPage.getFirstMyEformsRowObj();
2327
expect(eform.eFormName).equal(newEformLabel);
2428
expect(eform.tags.length).equal(1);
2529
expect(eform.tags[0].getText()).equal(createdTag);
30+
eform.deleteBtn.click();
31+
$$('.btn-danger')[2].click();
32+
eform = myEformsPage.getFirstMyEformsRowObj();
33+
expect(eform.id === null);
34+
2635
});
27-
it('should create eform simultaneously with creating 2 tags', function () {
28-
const newEformLabel = Guid.create().toString();
29-
const createdTags = [Guid.create().toString(), Guid.create().toString()];
30-
const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel, createdTags);
31-
const eform = myEformsPage.getFirstMyEformsRowObj();
32-
const tagsTexts = eform.tags.map(el => {
33-
return el.getText();
34-
});
35-
expect(eform.eFormName).equal(newEformLabel);
36-
expect(eform.tags.length).equal(createdTags.length);
37-
expect(tagsTexts).to.include.members(createdTags);
38-
});
39-
it('should create eform with creating 1 tag and using 1 already prepared tag', function () {
40-
const newEformLabel = Guid.create().toString();
41-
const createdTags = [Guid.create().toString()];
42-
const tagAddedNum = 1;
43-
const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel, createdTags, tagAddedNum);
44-
const eform = myEformsPage.getFirstMyEformsRowObj();
45-
const tagsTexts = eform.tags.map(el => {
46-
return el.getText();
47-
});
48-
expect(eform.eFormName).equal(newEformLabel);
49-
expect(eform.tags.length).equal(createdTags.length + tagAddedNum);
50-
expect(tagsTexts).to.include.members(createdTags);
51-
expect(tagsTexts).to.include.members(addedAndSelectedTags.selected)
52-
});
53-
it('should create eform while adding 1 already prepared tag', function () {
54-
const newEformLabel = Guid.create().toString();
55-
const tagAddedNum = 1;
56-
const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel, undefined, tagAddedNum);
57-
const eform = myEformsPage.getFirstMyEformsRowObj();
58-
const tagsTexts = eform.tags.map(el => {
59-
return el.getText();
60-
});
61-
expect(eform.eFormName).equal(newEformLabel);
62-
expect(eform.tags.length).equal(tagAddedNum);
63-
expect(tagsTexts).to.include.members(addedAndSelectedTags.selected);
64-
});
65-
it('should create eform while adding more than 2 already prepared tags', function () {
66-
const newEformLabel = Guid.create().toString();
67-
const tagAddedNum = 2;
68-
const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel, undefined, tagAddedNum);
69-
const eform = myEformsPage.getFirstMyEformsRowObj();
70-
const tagsTexts = eform.tags.map(el => {
71-
return el.getText();
72-
});
73-
expect(eform.eFormName).equal(newEformLabel);
74-
expect(eform.tags.length).equal(tagAddedNum);
75-
expect(tagsTexts).to.include.members(addedAndSelectedTags.selected);
76-
});
77-
it('should not create eform if xml is empty', function () {
78-
myEformsPage.newEformBtn.click();
79-
browser.pause(5000);
80-
expect(myEformsPage.createEformBtn.isEnabled()).equal(false);
81-
});
36+
// it('should create eform simultaneously with creating 2 tags', function () {
37+
// const newEformLabel = Guid.create().toString();
38+
// const createdTags = [Guid.create().toString(), Guid.create().toString()];
39+
// const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel, createdTags);
40+
// const eform = myEformsPage.getFirstMyEformsRowObj();
41+
// const tagsTexts = eform.tags.map(el => {
42+
// return el.getText();
43+
// });
44+
// expect(eform.eFormName).equal(newEformLabel);
45+
// expect(eform.tags.length).equal(createdTags.length);
46+
// expect(tagsTexts).to.include.members(createdTags);
47+
// });
48+
// it('should create eform with creating 1 tag and using 1 already prepared tag', function () {
49+
// const newEformLabel = Guid.create().toString();
50+
// const createdTags = [Guid.create().toString()];
51+
// const tagAddedNum = 1;
52+
// const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel, createdTags, tagAddedNum);
53+
// const eform = myEformsPage.getFirstMyEformsRowObj();
54+
// const tagsTexts = eform.tags.map(el => {
55+
// return el.getText();
56+
// });
57+
// expect(eform.eFormName).equal(newEformLabel);
58+
// expect(eform.tags.length).equal(createdTags.length + tagAddedNum);
59+
// expect(tagsTexts).to.include.members(createdTags);
60+
// expect(tagsTexts).to.include.members(addedAndSelectedTags.selected)
61+
// });
62+
// it('should create eform while adding 1 already prepared tag', function () {
63+
// const newEformLabel = Guid.create().toString();
64+
// const tagAddedNum = 1;
65+
// const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel, undefined, tagAddedNum);
66+
// const eform = myEformsPage.getFirstMyEformsRowObj();
67+
// const tagsTexts = eform.tags.map(el => {
68+
// return el.getText();
69+
// });
70+
// expect(eform.eFormName).equal(newEformLabel);
71+
// expect(eform.tags.length).equal(tagAddedNum);
72+
// expect(tagsTexts).to.include.members(addedAndSelectedTags.selected);
73+
// });
74+
// it('should create eform while adding more than 2 already prepared tags', function () {
75+
// const newEformLabel = Guid.create().toString();
76+
// const tagAddedNum = 2;
77+
// const addedAndSelectedTags = myEformsPage.createNewEform(newEformLabel, undefined, tagAddedNum);
78+
// const eform = myEformsPage.getFirstMyEformsRowObj();
79+
// const tagsTexts = eform.tags.map(el => {
80+
// return el.getText();
81+
// });
82+
// expect(eform.eFormName).equal(newEformLabel);
83+
// expect(eform.tags.length).equal(tagAddedNum);
84+
// expect(tagsTexts).to.include.members(addedAndSelectedTags.selected);
85+
// });
86+
// it('should not create eform if xml is empty', function () {
87+
// myEformsPage.newEformBtn.click();
88+
// browser.pause(5000);
89+
// expect(myEformsPage.createEformBtn.isEnabled()).equal(false);
90+
// });
8291
});

eform-client/wdio-headless-step2.conf.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ exports.config = {
1111
//
1212
specs: [
1313
'e2e/Tests/application-settings/application-settings.login-page.spec.ts',
14-
'e2e/Tests/application-settings/application-settings.site-header.spec.ts'
14+
'e2e/Tests/application-settings/application-settings.site-header.spec.ts',
1515
// 'e2e\\Tests\\device-users\\device-users.add.spec.ts',
1616
// 'e2e\\Tests\\device-users\\device-users.edit.spec.ts',
1717
// 'e2e\\Tests\\device-users\\device-users.delete.spec.ts',
18+
'e2e/Tests/main-page-eforms/my-eforms.create-eform.spec.ts',
1819
// 'e2e\\Tests\\main-page-eforms\\my-eforms.create-eform.spec.ts',
1920
// 'e2e\\Tests\\main-page-eforms\\my-eforms.sort-eform.spec.ts',
2021
// 'e2e/Tests/main-page-eforms/my-eforms.filter-eform.spec.ts',

eform-client/wdio-step2.conf.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ exports.config = {
1010
// directory is where your package.json resides, so `wdio` will be called from there.
1111
//
1212
specs: [
13-
'e2e/Tests/application-settings/application-settings.login-page.spec.ts',
14-
'e2e/Tests/application-settings/application-settings.site-header.spec.ts'
13+
// 'e2e/Tests/application-settings/application-settings.login-page.spec.ts',
14+
// 'e2e/Tests/application-settings/application-settings.site-header.spec.ts',
1515
// 'e2e/Tests/application-settings/**/*spec.ts',
1616
// 'e2e\\Tests\\device-users\\device-users.add.spec.ts',
1717
// 'e2e\\Tests\\device-users\\device-users.edit.spec.ts',
1818
// 'e2e\\Tests\\device-users\\device-users.delete.spec.ts',
19-
// 'e2e\\Tests\\main-page-eforms\\my-eforms.create-eform.spec.ts',
19+
'e2e/Tests/main-page-eforms/my-eforms.create-eform.spec.ts',
2020
// 'e2e\\Tests\\main-page-eforms\\my-eforms.sort-eform.spec.ts',
2121
// 'e2e/Tests/main-page-eforms/my-eforms.filter-eform.spec.ts',
2222
// 'e2e\\Tests\\main-page-eforms\\my-eforms.tags-eform.spec.ts',

0 commit comments

Comments
 (0)