itemengine-cypress-automation 1.0.478-IEI-6720-3097ab1.0 → 1.0.480-IEI-6720-0f37564.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,38 +7,46 @@ const options = ['Animal', 'Vehicle', 'Birds', 'Insects'];
|
|
7
7
|
let itemReferenceID = '';
|
8
8
|
|
9
9
|
describe('Create item page - Multiple selection : Response mode toggle', () => {
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
});
|
10
|
+
before(() => {
|
11
|
+
cy.loginAs('admin');
|
12
|
+
multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
|
13
|
+
cy.barsPreLoaderWait();
|
14
|
+
multipleSelectionPage.steps.addQuestionInstructions();
|
15
|
+
multipleSelectionPage.steps.addInputToOptionsInputField(options);
|
16
|
+
multipleSelectionPage.steps.allotPoints(20);
|
17
|
+
});
|
19
18
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
19
|
+
after(() => {
|
20
|
+
cy.deleteItem(itemReferenceID);
|
21
|
+
cy.logout();
|
22
|
+
});
|
23
|
+
|
24
|
+
describe('Test response mode toggle functionality while authoring a question', () => {
|
25
25
|
it('When no answer is selected, then user should be able to change responseMode', () => {
|
26
|
-
responseModeToggle.
|
26
|
+
responseModeToggle.steps.changeResponseMode('Multiple selection', 'Single selection');
|
27
27
|
});
|
28
28
|
|
29
|
-
it('When answer is selected, then
|
30
|
-
responseModeToggle.
|
29
|
+
it('When answer is selected, then upon changing the response Mode a warning popup should be displayed', () => {
|
30
|
+
responseModeToggle.steps.changeResponseMode('Single selection', 'Multiple selection');
|
31
31
|
multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);
|
32
|
-
responseModeToggle.
|
32
|
+
responseModeToggle.steps.warnResponseModeChange('Multiple selection', 'Single selection');
|
33
|
+
});
|
34
|
+
|
35
|
+
it('When user rejects the response mode change in the warning popup, then the question type should remain unchanged', () => {
|
36
|
+
responseModeToggle.steps.confirmResponseModeChange(false);
|
37
|
+
responseModeToggle.steps.checkQuestionIsLoadedWithResponseMode('Multiple selection');
|
33
38
|
});
|
34
39
|
|
35
|
-
it('When response mode change
|
36
|
-
responseModeToggle.
|
37
|
-
responseModeToggle.
|
40
|
+
it('When the user accepts the response mode change in the warning popup, then the question type should be changed to the selected response mode type', () => {
|
41
|
+
responseModeToggle.steps.warnResponseModeChange('Multiple selection', 'Single selection');
|
42
|
+
responseModeToggle.steps.confirmResponseModeChange(true);
|
43
|
+
responseModeToggle.steps.changeResponseMode('Single selection', 'Multiple selection');
|
38
44
|
multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);
|
39
45
|
});
|
40
|
-
|
41
|
-
|
46
|
+
});
|
47
|
+
|
48
|
+
describe('Test response mode toggle functionality on saved item', () => {
|
49
|
+
it('When an item is edited to have different response Mode, then user should be able to change response mode of a saved item and save with different question type', () => {
|
42
50
|
multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
|
43
51
|
cy.wait(5000).then(() => {
|
44
52
|
itemPreviewPage.referenceID().invoke('text').then(($text) => {
|
@@ -49,19 +57,13 @@ describe('Create item page - Multiple selection : Response mode toggle', () => {
|
|
49
57
|
})
|
50
58
|
});
|
51
59
|
createItemPage.steps.editItem();
|
52
|
-
responseModeToggle.
|
60
|
+
responseModeToggle.steps.warnResponseModeChange('Multiple selection', 'Single selection');
|
61
|
+
responseModeToggle.steps.confirmResponseModeChange(true);
|
53
62
|
singleSelectionPage.steps.checkOptionInSpecifyCorrectAnswerSection(1);
|
54
63
|
multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
|
55
|
-
cy.wait(5000)
|
56
|
-
itemPreviewPage.referenceID().invoke('text').then(($text) => {
|
57
|
-
itemReferenceID = $text;
|
58
|
-
cy.visit(`/item-engine/demo/edit-item/${
|
59
|
-
utilities.base64Encoding(itemReferenceID)
|
60
|
-
}`);
|
61
|
-
})
|
62
|
-
});
|
64
|
+
cy.wait(5000);
|
63
65
|
createItemPage.steps.editItem();
|
64
|
-
responseModeToggle.
|
66
|
+
responseModeToggle.steps.checkQuestionIsLoadedWithResponseMode('Single selection');
|
65
67
|
});
|
66
68
|
});
|
67
69
|
});
|
@@ -7,38 +7,46 @@ const options = ['Animal', 'Vehicle', 'Birds', 'Insects'];
|
|
7
7
|
let itemReferenceID = '';
|
8
8
|
|
9
9
|
describe('Create item page - Single selection : Response mode toggle', () => {
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
});
|
10
|
+
before(() => {
|
11
|
+
cy.loginAs('admin');
|
12
|
+
singleSelectionPage.steps.navigateToCreateQuestion('single selection');
|
13
|
+
cy.barsPreLoaderWait();
|
14
|
+
singleSelectionPage.steps.addQuestionInstructions();
|
15
|
+
singleSelectionPage.steps.addInputToOptionsInputField(options);
|
16
|
+
singleSelectionPage.steps.allotPoints(20);
|
17
|
+
});
|
19
18
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
19
|
+
after(() => {
|
20
|
+
cy.deleteItem(itemReferenceID);
|
21
|
+
cy.logout();
|
22
|
+
});
|
23
|
+
|
24
|
+
describe('Test response mode toggle functionality while authoring a question', () => {
|
25
25
|
it('When no answer is selected, then user should be able to change responseMode', () => {
|
26
|
-
responseModeToggle.
|
26
|
+
responseModeToggle.steps.changeResponseMode('Single selection', 'Multiple selection');
|
27
27
|
});
|
28
28
|
|
29
|
-
it('When answer is selected, then
|
30
|
-
responseModeToggle.
|
29
|
+
it('When answer is selected, then upon changing the response Mode a warning popup should be displayed', () => {
|
30
|
+
responseModeToggle.steps.changeResponseMode('Multiple selection', 'Single selection');
|
31
31
|
singleSelectionPage.steps.checkOptionInSpecifyCorrectAnswerSection(1);
|
32
|
-
responseModeToggle.
|
32
|
+
responseModeToggle.steps.warnResponseModeChange('Single selection', 'Multiple selection');
|
33
|
+
});
|
34
|
+
|
35
|
+
it('When user rejects the response mode change in the warning popup, then the question type should remain unchanged', () => {
|
36
|
+
responseModeToggle.steps.confirmResponseModeChange(false);
|
37
|
+
responseModeToggle.steps.checkQuestionIsLoadedWithResponseMode('Single selection');
|
33
38
|
});
|
34
39
|
|
35
|
-
it('When response mode change
|
36
|
-
responseModeToggle.
|
37
|
-
responseModeToggle.
|
40
|
+
it('When the user accepts the response mode change in the warning popup, then the question type should be changed to selected response mode type', () => {
|
41
|
+
responseModeToggle.steps.warnResponseModeChange('Single selection', 'Multiple selection');
|
42
|
+
responseModeToggle.steps.confirmResponseModeChange(true);
|
43
|
+
responseModeToggle.steps.changeResponseMode('Multiple selection', 'Single selection');
|
38
44
|
singleSelectionPage.steps.checkOptionInSpecifyCorrectAnswerSection(1);
|
39
45
|
});
|
40
|
-
|
41
|
-
|
46
|
+
});
|
47
|
+
|
48
|
+
describe('Test response mode toggle functionality on saved item', () => {
|
49
|
+
it('When an item is edited to have different response Mode, then user should be able to change response mode of a saved item and save with different question type', () => {
|
42
50
|
singleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
|
43
51
|
cy.wait(5000).then(() => {
|
44
52
|
itemPreviewPage.referenceID().invoke('text').then(($text) => {
|
@@ -49,19 +57,13 @@ describe('Create item page - Single selection : Response mode toggle', () => {
|
|
49
57
|
})
|
50
58
|
});
|
51
59
|
createItemPage.steps.editItem();
|
52
|
-
responseModeToggle.
|
60
|
+
responseModeToggle.steps.warnResponseModeChange('Single selection', 'Multiple selection');
|
61
|
+
responseModeToggle.steps.confirmResponseModeChange(true);
|
53
62
|
multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);
|
54
63
|
singleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
|
55
|
-
cy.wait(5000)
|
56
|
-
itemPreviewPage.referenceID().invoke('text').then(($text) => {
|
57
|
-
itemReferenceID = $text;
|
58
|
-
cy.visit(`/item-engine/demo/edit-item/${
|
59
|
-
utilities.base64Encoding(itemReferenceID)
|
60
|
-
}`);
|
61
|
-
})
|
62
|
-
});
|
64
|
+
cy.wait(5000);
|
63
65
|
createItemPage.steps.editItem();
|
64
|
-
responseModeToggle.
|
66
|
+
responseModeToggle.steps.checkQuestionIsLoadedWithResponseMode('Multiple selection');
|
65
67
|
});
|
66
68
|
});
|
67
69
|
});
|
@@ -16,10 +16,10 @@ const selectors = {
|
|
16
16
|
`.edit-question-response-mode-wrapper [value="${value.toLowerCase()}"]`
|
17
17
|
),
|
18
18
|
ResponseModeChangePopup: () => cy.get('.ngie-popover-container.change-response-mode-dialog'),
|
19
|
-
ResponseModeChangePopupTitle: () => cy.get('.
|
20
|
-
ResponseModeChangePopupContent: () => cy.get('.
|
21
|
-
ResponseModeChangePopupReject: () => cy.get('.
|
22
|
-
ResponseModeChangePopupAccept: () => cy.get('.
|
19
|
+
ResponseModeChangePopupTitle: () => cy.get('.change-response-mode-dialog .dialog-title-wrapper'),
|
20
|
+
ResponseModeChangePopupContent: () => cy.get('.change-response-mode-dialog .dialog-content'),
|
21
|
+
ResponseModeChangePopupReject: () => cy.get('.change-response-mode-dialog .reject-button'),
|
22
|
+
ResponseModeChangePopupAccept: () => cy.get('.change-response-mode-dialog .accept-button'),
|
23
23
|
opacityLabel: () => cy.get('[class*="OpacityWrapper"] [class*="Label"]').last(),
|
24
24
|
opacityInputField: () => cy.get('[class*="OpacityWrapper"] input[type="text"]').last(),
|
25
25
|
opacitySlider: () => cy.get('[class*="OpacityWrapper"] .MuiSlider-colorPrimary'),
|
@@ -27,33 +27,33 @@ const selectors = {
|
|
27
27
|
|
28
28
|
const steps = {
|
29
29
|
selectResponseModetoggleButton: (mode) => {
|
30
|
-
|
30
|
+
responseModeToggle.getResponseModeToggleButton(mode).click();
|
31
31
|
},
|
32
|
+
|
32
33
|
confirmResponseModeChange: (accept) => {
|
33
34
|
if(accept) {
|
34
|
-
|
35
|
+
responseModeToggle.ResponseModeChangePopupAccept().click();
|
35
36
|
} else {
|
36
|
-
|
37
|
+
responseModeToggle.ResponseModeChangePopupReject().click();
|
37
38
|
}
|
38
|
-
}
|
39
|
-
}
|
40
|
-
|
41
|
-
const tests = {
|
39
|
+
},
|
42
40
|
|
43
|
-
|
41
|
+
checkQuestionIsLoadedWithResponseMode: (mode) => {
|
44
42
|
utilities.verifyElementVisibilityState(responseModeToggle.responseModeLabel(), 'visible');
|
45
43
|
utilities.verifyInnerText(responseModeToggle.responseModeLabel(), responseModeText);
|
46
44
|
utilities.verifyInnerText(createQuestionBasePage.headerTitle(), mode);
|
47
45
|
utilities.verifyInnerText(responseModeToggle.responseModeToggleSelectedButton(), mode);
|
48
46
|
},
|
49
|
-
|
47
|
+
|
48
|
+
changeResponseMode: (initialMode, changedMode) => {
|
50
49
|
utilities.verifyInnerText(responseModeToggle.responseModeToggleSelectedButton(), initialMode);
|
51
50
|
utilities.verifyInnerText(createQuestionBasePage.headerTitle(), initialMode);
|
52
51
|
responseModeToggle.steps.selectResponseModetoggleButton(changedMode);
|
53
52
|
utilities.verifyInnerText(responseModeToggle.responseModeToggleSelectedButton(), changedMode);
|
54
53
|
utilities.verifyInnerText(createQuestionBasePage.headerTitle(), changedMode);
|
55
54
|
},
|
56
|
-
|
55
|
+
|
56
|
+
warnResponseModeChange: (initialMode, changedMode) => {
|
57
57
|
responseModeToggle.steps.selectResponseModetoggleButton(changedMode);
|
58
58
|
utilities.verifyElementVisibilityState(responseModeToggle.ResponseModeChangePopup(), 'visible');
|
59
59
|
utilities.verifyInnerText(responseModeToggle.ResponseModeChangePopupTitle(), popupTitleText);
|
@@ -61,12 +61,10 @@ const tests = {
|
|
61
61
|
responseModeToggle.ResponseModeChangePopupContent(),
|
62
62
|
popupContent.replace('{from}', initialMode).replace('{to}', changedMode)
|
63
63
|
);
|
64
|
-
responseModeToggle.steps.confirmResponseModeChange(acceptChange);
|
65
64
|
}
|
66
65
|
};
|
67
66
|
|
68
67
|
export const responseModeToggle = {
|
69
68
|
...selectors,
|
70
|
-
tests,
|
71
69
|
steps
|
72
70
|
};
|