itemengine-cypress-automation 1.0.478-IEI-6720-3097ab1.0 → 1.0.478-IEI-6812-325b82b.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.
@@ -322,6 +322,7 @@ describe('Create item page: Charts - Dot - Preview contents in all views', () =>
322
322
  });
323
323
 
324
324
  it('When user hovers on the enabled redo button, then tooltip \'Redo\' should be displayed', () => {
325
+ utilities.triggerMouseout(chartsDotPlotPage.controlOptionsPreviewTab(controlOptions[0]));
325
326
  chartsDotPlotPage.controlOptionsPreviewTab(controlOptions[1])
326
327
  .verifyTooltip('Redo');
327
328
  });
@@ -12,7 +12,7 @@ const css = Cypress.env('css');
12
12
  const selectors = {
13
13
  previewTab: () => cy.get('[data-ngie-testid="preview-tab"]'),
14
14
  editTab: () => cy.get('[data-ngie-testid="edit-tab"]'),
15
- headerTitle: () => cy.get('h1[class*="HeaderComponentstyles__BlockLabel"]'),
15
+ headerTitle: () => cy.get('div[class*="HeaderComponentstyles__BlockLabel"]'),
16
16
  cancelButton: () => cy.get('[class*="header-wrapper"] .ngie-button').eq(0),
17
17
  saveQuestionButton: () => cy.get('[class*="header-wrapper"] .ngie-button').eq(1),
18
18
  //Note: Adding visible as this is hidden in tools and does not exist in questions
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.478-IEI-6720-3097ab1.0",
3
+ "version": "1.0.478-IEI-6812-325b82b.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,67 +0,0 @@
1
- import { createItemPage, itemPreviewPage, multipleSelectionPage, singleSelectionPage } from "../../../pages";
2
- import utilities from "../../../support/helpers/utilities";
3
- import { responseModeToggle } from "../../../pages/components/responseModeToggle";
4
-
5
- const options = ['Animal', 'Vehicle', 'Birds', 'Insects'];
6
-
7
- let itemReferenceID = '';
8
-
9
- describe('Create item page - Multiple selection : Response mode toggle', () => {
10
- describe('Test response mode toggle contents and Functionality', () => {
11
- before(() => {
12
- cy.loginAs('admin');
13
- multipleSelectionPage.steps.navigateToCreateQuestion('multiple selection');
14
- cy.barsPreLoaderWait();
15
- multipleSelectionPage.steps.addQuestionInstructions();
16
- multipleSelectionPage.steps.addInputToOptionsInputField(options);
17
- multipleSelectionPage.steps.allotPoints(20);
18
- });
19
-
20
- after(() => {
21
- cy.deleteItem(itemReferenceID);
22
- cy.logout();
23
- });
24
-
25
- it('When no answer is selected, then user should be able to change responseMode', () => {
26
- responseModeToggle.tests.shouldChangeResponseMode('Multiple selection', 'Single selection');
27
- });
28
-
29
- it('When answer is selected, then user should not be able to change responseMode', () => {
30
- responseModeToggle.tests.shouldChangeResponseMode('Single selection', 'Multiple selection');
31
- multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);
32
- responseModeToggle.tests.shouldWarnResponseModeChange('Multiple selection', 'Single selection', false);
33
- });
34
-
35
- it('When response mode change is accepted, then change response mode should change after accepting', () => {
36
- responseModeToggle.tests.shouldWarnResponseModeChange('Multiple selection', 'Single selection', true);
37
- responseModeToggle.tests.shouldChangeResponseMode('Single selection', 'Multiple selection');
38
- multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);
39
- });
40
-
41
- it('When an item is saved and it is edited to different have different response Mode, then user should be able to change response mode of a saved item and save with different question type', () => {
42
- multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
43
- cy.wait(5000).then(() => {
44
- itemPreviewPage.referenceID().invoke('text').then(($text) => {
45
- itemReferenceID = $text;
46
- cy.visit(`/item-engine/demo/edit-item/${
47
- utilities.base64Encoding(itemReferenceID)
48
- }`);
49
- })
50
- });
51
- createItemPage.steps.editItem();
52
- responseModeToggle.tests.shouldWarnResponseModeChange('Multiple selection', 'Single selection', true);
53
- singleSelectionPage.steps.checkOptionInSpecifyCorrectAnswerSection(1);
54
- multipleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
55
- cy.wait(5000).then(() => {
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
- });
63
- createItemPage.steps.editItem();
64
- responseModeToggle.tests.shouldloadQuestionWithResponseMode('Single selection');
65
- });
66
- });
67
- });
@@ -1,67 +0,0 @@
1
- import { createItemPage, itemPreviewPage, singleSelectionPage, multipleSelectionPage } from "../../../pages";
2
- import utilities from "../../../support/helpers/utilities";
3
- import { responseModeToggle } from "../../../pages/components/responseModeToggle";
4
-
5
- const options = ['Animal', 'Vehicle', 'Birds', 'Insects'];
6
-
7
- let itemReferenceID = '';
8
-
9
- describe('Create item page - Single selection : Response mode toggle', () => {
10
- describe('Test response mode toggle contents and Functionality', () => {
11
- before(() => {
12
- cy.loginAs('admin');
13
- singleSelectionPage.steps.navigateToCreateQuestion('single selection');
14
- cy.barsPreLoaderWait();
15
- singleSelectionPage.steps.addQuestionInstructions();
16
- singleSelectionPage.steps.addInputToOptionsInputField(options);
17
- singleSelectionPage.steps.allotPoints(20);
18
- });
19
-
20
- after(() => {
21
- cy.deleteItem(itemReferenceID);
22
- cy.logout();
23
- });
24
-
25
- it('When no answer is selected, then user should be able to change responseMode', () => {
26
- responseModeToggle.tests.shouldChangeResponseMode('Single selection', 'Multiple selection');
27
- });
28
-
29
- it('When answer is selected, then user should not be able to change responseMode', () => {
30
- responseModeToggle.tests.shouldChangeResponseMode('Multiple selection', 'Single selection');
31
- singleSelectionPage.steps.checkOptionInSpecifyCorrectAnswerSection(1);
32
- responseModeToggle.tests.shouldWarnResponseModeChange('Single selection', 'Multiple selection', false);
33
- });
34
-
35
- it('When response mode change is accepted, then change response mode should change after accepting', () => {
36
- responseModeToggle.tests.shouldWarnResponseModeChange('Single selection', 'Multiple selection', true);
37
- responseModeToggle.tests.shouldChangeResponseMode('Multiple selection', 'Single selection');
38
- singleSelectionPage.steps.checkOptionInSpecifyCorrectAnswerSection(1);
39
- });
40
-
41
- it('When an item is saved and it is edited to different have different response Mode, then user should be able to change response mode of a saved item and save with different question type', () => {
42
- singleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
43
- cy.wait(5000).then(() => {
44
- itemPreviewPage.referenceID().invoke('text').then(($text) => {
45
- itemReferenceID = $text;
46
- cy.visit(`/item-engine/demo/edit-item/${
47
- utilities.base64Encoding(itemReferenceID)
48
- }`);
49
- })
50
- });
51
- createItemPage.steps.editItem();
52
- responseModeToggle.tests.shouldWarnResponseModeChange('Single selection', 'Multiple selection', true);
53
- multipleSelectionPage.steps.checkOptionsCheckboxInSpecifyCorrectAnswerSection(1);
54
- singleSelectionPage.steps.saveAQuestionAndVerifySnackbar();
55
- cy.wait(5000).then(() => {
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
- });
63
- createItemPage.steps.editItem();
64
- responseModeToggle.tests.shouldloadQuestionWithResponseMode('Multiple selection');
65
- });
66
- });
67
- });
@@ -1,72 +0,0 @@
1
- import utilities from "../../support/helpers/utilities";
2
- import { createQuestionBasePage } from "./createQuestionBasePage";
3
- const css = Cypress.env('css');
4
-
5
- const responseModeText = "Response mode";
6
- const popupTitleText = "Change response mode?";
7
- const popupContent = "Are you sure you want to switch from {from} to {to}? The correct answer you've chosen will be reset.";
8
-
9
- const selectors = {
10
- responseModeLabel: () => cy.get('[class*="response-mode-detail-label"]'),
11
- responseModeToggleButtons: () => cy.get('[class*="response-mode-detail-label"] [class*="MuiToggleButtonGroup-grouped"]'),
12
- responseModeToggleSelectedButton: () => cy.get(
13
- '.edit-question-response-mode-wrapper [aria-pressed="true"]'
14
- ),
15
- getResponseModeToggleButton: (value) => cy.get(
16
- `.edit-question-response-mode-wrapper [value="${value.toLowerCase()}"]`
17
- ),
18
- ResponseModeChangePopup: () => cy.get('.ngie-popover-container.change-response-mode-dialog'),
19
- ResponseModeChangePopupTitle: () => cy.get('.ngie-popover-container.change-response-mode-dialog .dialog-title-wrapper'),
20
- ResponseModeChangePopupContent: () => cy.get('.ngie-popover-container.change-response-mode-dialog .dialog-content'),
21
- ResponseModeChangePopupReject: () => cy.get('.ngie-popover-container.change-response-mode-dialog .reject-button'),
22
- ResponseModeChangePopupAccept: () => cy.get('.ngie-popover-container.change-response-mode-dialog .accept-button'),
23
- opacityLabel: () => cy.get('[class*="OpacityWrapper"] [class*="Label"]').last(),
24
- opacityInputField: () => cy.get('[class*="OpacityWrapper"] input[type="text"]').last(),
25
- opacitySlider: () => cy.get('[class*="OpacityWrapper"] .MuiSlider-colorPrimary'),
26
- };
27
-
28
- const steps = {
29
- selectResponseModetoggleButton: (mode) => {
30
- selectors.getResponseModeToggleButton(mode).click();
31
- },
32
- confirmResponseModeChange: (accept) => {
33
- if(accept) {
34
- selectors.ResponseModeChangePopupAccept().click();
35
- } else {
36
- selectors.ResponseModeChangePopupReject().click();
37
- }
38
- }
39
- }
40
-
41
- const tests = {
42
-
43
- shouldloadQuestionWithResponseMode: (mode) => {
44
- utilities.verifyElementVisibilityState(responseModeToggle.responseModeLabel(), 'visible');
45
- utilities.verifyInnerText(responseModeToggle.responseModeLabel(), responseModeText);
46
- utilities.verifyInnerText(createQuestionBasePage.headerTitle(), mode);
47
- utilities.verifyInnerText(responseModeToggle.responseModeToggleSelectedButton(), mode);
48
- },
49
- shouldChangeResponseMode: (initialMode, changedMode) => {
50
- utilities.verifyInnerText(responseModeToggle.responseModeToggleSelectedButton(), initialMode);
51
- utilities.verifyInnerText(createQuestionBasePage.headerTitle(), initialMode);
52
- responseModeToggle.steps.selectResponseModetoggleButton(changedMode);
53
- utilities.verifyInnerText(responseModeToggle.responseModeToggleSelectedButton(), changedMode);
54
- utilities.verifyInnerText(createQuestionBasePage.headerTitle(), changedMode);
55
- },
56
- shouldWarnResponseModeChange: (initialMode, changedMode, acceptChange) => {
57
- responseModeToggle.steps.selectResponseModetoggleButton(changedMode);
58
- utilities.verifyElementVisibilityState(responseModeToggle.ResponseModeChangePopup(), 'visible');
59
- utilities.verifyInnerText(responseModeToggle.ResponseModeChangePopupTitle(), popupTitleText);
60
- utilities.verifyInnerText(
61
- responseModeToggle.ResponseModeChangePopupContent(),
62
- popupContent.replace('{from}', initialMode).replace('{to}', changedMode)
63
- );
64
- responseModeToggle.steps.confirmResponseModeChange(acceptChange);
65
- }
66
- };
67
-
68
- export const responseModeToggle = {
69
- ...selectors,
70
- tests,
71
- steps
72
- };