itemengine-cypress-automation 1.0.564-IEI-6998-Add-coverage-for-image-hightlight-question-type-f372002.0 → 1.0.564-IEI-7011-195aab1.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.
@@ -1,6 +1,6 @@
1
1
  import constants from "../fixtures/constants";
2
2
  import utilities from "../support/helpers/utilities"
3
- import { autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, createQuestionBasePage, optionsWrapperComponent, questionInstructionsComponent, scoringSectionBaseEditTab, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, additionalSettingsPanel, ckEditorToolbar, equationEditorFlyout, mcqAdditionalSettingsBase, randomizeOptionsComponent, lockUnlockOptionComponent, additionalSettingsAccessibilitySectionComponent } from "./components"
3
+ import { autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, createQuestionBasePage, optionsWrapperComponent, questionInstructionsComponent, scoringSectionBaseEditTab, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, additionalSettingsPanel, ckEditorToolbar, equationEditorFlyout, mcqAdditionalSettingsBase, randomizeOptionsComponent, lockUnlockOptionComponent, additionalSettingsAccessibilitySectionComponent, showAlternativeAnswersComponent } from "./components"
4
4
  import { ckEditorAudioPlayerComponent } from "../pages/components/ckEditorAudioPlayerComponent"
5
5
  import { ckEditorEquationEditorComponent } from "../pages/components/ckEditorEquationEditorComponent"
6
6
  import { ckEditorInsertTableComponent } from "../pages/components/ckEditorInsertTableComponent"
@@ -35,6 +35,7 @@ const selectors = {
35
35
  ...ckEditorLinkComponent,
36
36
  ...createItemPage,
37
37
  ...audioPlayerPage,
38
+ ...showAlternativeAnswersComponent,
38
39
  //Specify correct answer section
39
40
  optionWrapperSpecifyCorrectAnswerSection: () => cy.get('.mcq-option-wrapper'),
40
41
  optionsText: () => cy.get('.mcq-label'),
@@ -78,6 +79,8 @@ const selectors = {
78
79
  correctAnswersLabel: () => cy.get('[class*="question-preview-wrapper"] [class*="CorrectAnswerLabel"]'),
79
80
  correctAnswerSectionWrapper: () => cy.get('[class*="question-preview-wrapper"] .mcq-checkbox-control.mcq-answer-checked').eq(1),
80
81
  optionWrapperCorrectAnswerSection: () => cy.get('.mcq-option-wrapper'),
82
+ alternativeAnswerSectionWrapper: () => cy.get('[class*="CorrectAnswerLabelWrapper"]').eq(1).next(),
83
+ optionWrapperAlternativeAnswerSection: () => cy.get('.mcq-option-wrapper'),
81
84
  answerStatusBanner: () => cy.get('[class*="StatusContainer"]'),
82
85
  cancelButton: () => cy.get('.save-action-btn-wrapper .MuiButtonBase-root').eq(1),
83
86
  optionsInputFieldInQuestionPreviewTab: () => cy.get('.mcq-option-wrapper [data-testid="question-instruction-element"]'),
@@ -111,6 +114,7 @@ const steps = {
111
114
  ...ckEditorAudioPlayerComponent.steps,
112
115
  ...ckEditorEquationEditorComponent.steps,
113
116
  ...ckEditorInsertTableComponent.steps,
117
+ ...showAlternativeAnswersComponent.steps,
114
118
  ...ckEditorInsertImageComponent.steps,
115
119
  ...ckEditorLinkComponent.steps,
116
120
  ...createItemPage.steps,
@@ -859,6 +863,36 @@ const steps = {
859
863
  .should('exist');
860
864
  },
861
865
 
866
+ /**
867
+ * Verifies correct option icon in alternative answer section
868
+ * @param {number} optionIndex - The index of the option to verify
869
+ */
870
+ verifyCorrectOptionIconAlternativeAnswerSection: (optionIndex) => {
871
+ multipleSelectionPage.alternativeAnswerSectionWrapper()
872
+ .within(() => {
873
+ multipleSelectionPage.optionWrapperAlternativeAnswerSection()
874
+ .eq(optionIndex)
875
+ .within(() => {
876
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
877
+ });
878
+ });
879
+ },
880
+
881
+ /**
882
+ * Verifies that correct/incorrect icon is not visible in alternative answer section
883
+ * @param {number} optionIndex - The index of the option to verify
884
+ */
885
+ verifyCorrectIncorrectIconNotVisibleAlternativeAnswerSection: (optionIndex) => {
886
+ multipleSelectionPage.alternativeAnswerSectionWrapper()
887
+ .within(() => {
888
+ multipleSelectionPage.optionWrapperAlternativeAnswerSection()
889
+ .eq(optionIndex)
890
+ .within(() => {
891
+ autoScoredScoringPreviewTab.steps.verifyCorrectIncorrectIconsNotExist();
892
+ });
893
+ });
894
+ },
895
+
862
896
  verifyAnswerBannerNotExist: () => {
863
897
  multipleSelectionPage.answerStatusBanner()
864
898
  .should('not.exist');
@@ -1,6 +1,6 @@
1
1
  import constants from "../fixtures/constants";
2
2
  import utilities from "../support/helpers/utilities";
3
- import { additionalSettingsPanel, createQuestionBasePage, mcqAdditionalSettingsBase, scoringSectionBaseEditTab, autoScoredSpecifyCorrectAnswerSection, optionsWrapperComponent, commonComponents, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, ckEditorToolbar, equationEditorFlyout, randomizeOptionsComponent, lockUnlockOptionComponent, questionInstructionsComponent, additionalSettingsAccessibilitySectionComponent } from "./components";
3
+ import { additionalSettingsPanel, createQuestionBasePage, mcqAdditionalSettingsBase, scoringSectionBaseEditTab, autoScoredSpecifyCorrectAnswerSection, optionsWrapperComponent, commonComponents, autoScoredScoringPreviewTab, autoScoredStudentViewSettings, ckEditorToolbar, equationEditorFlyout, randomizeOptionsComponent, lockUnlockOptionComponent, questionInstructionsComponent, additionalSettingsAccessibilitySectionComponent, showAlternativeAnswersComponent } from "./components";
4
4
  import { createItemPage } from "./createItemPage";
5
5
  import { selectQuestionResourceToolPage } from "./selectQuestionResourceToolPage";
6
6
  const css = Cypress.env('css');
@@ -21,6 +21,7 @@ const selectors = {
21
21
  ...randomizeOptionsComponent,
22
22
  ...lockUnlockOptionComponent,
23
23
  ...createItemPage,
24
+ ...showAlternativeAnswersComponent,
24
25
  optionsRadioButton: () => cy.get('input[type="radio"]'),
25
26
  optionsRadioButtonForSpecifyCorrectAnswer: () => cy.get('.radio-option-wrapper:visible input[type="radio"]'),
26
27
  editTabOptionsWrapper: () => cy.get('.edit-mcq-option-wrapper'),
@@ -42,6 +43,8 @@ const selectors = {
42
43
  correctIncorrectAnswerLabel: () => cy.get('[class*="style"][class*="__Status"]'),
43
44
  answerStatusBanner: () => cy.get('[class*="StatusContainer"]'),
44
45
  optionsInputFieldInQuestionPreviewTab: () => cy.get('.mcq-radio-control [data-testid="question-instruction-element"]'),
46
+ //alternate answer section
47
+ alternativeAnswerSectionWrapper: () => cy.get('[class*="CorrectAnswerLabelWrapper"]').eq(1).next(),
45
48
  };
46
49
 
47
50
  const steps = {
@@ -61,6 +64,7 @@ const steps = {
61
64
  ...lockUnlockOptionComponent.steps,
62
65
  ...createItemPage.steps,
63
66
  ...selectQuestionResourceToolPage.steps,
67
+ ...showAlternativeAnswersComponent.steps,
64
68
  /**
65
69
  * Verifies the contents of an option wrapper in the 'Specify correct answer' section for single selection questions.
66
70
  * @param {number} optionIndex - The index of the option wrapper to be verified.
@@ -224,6 +228,21 @@ const steps = {
224
228
  });
225
229
  },
226
230
 
231
+ /**
232
+ * Verifies the presence of the correct option icon in the alternate answer section
233
+ * @param {number} optionIndex - The index of the option to verify in the alternate answer section
234
+ */
235
+ verifyAlternateAnswerOptionIconCorrectAnswerSection: (optionIndex) => {
236
+ singleSelectionPage.alternativeAnswerSectionWrapper()
237
+ .within(() => {
238
+ singleSelectionPage.optionWrapperCorrectAnswerSection()
239
+ .eq(optionIndex)
240
+ .within(() => {
241
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
242
+ });
243
+ });
244
+ },
245
+
227
246
  /**
228
247
  * Verifies that the correct and incorrect icons are not visible in the correct answer section
229
248
  * @param {number} optionIndex - The index of the option to verify in the correct answer section
@@ -728,6 +747,8 @@ const steps = {
728
747
  singleSelectionPage.steps.setCorrectAnswer(correctAnswer);
729
748
  singleSelectionPage.saveQuestionButton().click();
730
749
  },
750
+
751
+
731
752
  };
732
753
 
733
754
  const tests = {
@@ -295,22 +295,6 @@ const utilities = {
295
295
  }
296
296
  });
297
297
  },
298
-
299
- /**
300
- * Verifies the selected/not selected state of an element.
301
- * @param {Cypress.Chainable} selector - The element containing the image
302
- * @param {string} state - 'selected' | 'notSelected'
303
- */
304
- verifiedElementSelectedNotSelectedState: (selector, state) => {
305
- switch (state) {
306
- case 'selected':
307
- selector.should('have.attr', 'aria-pressed', 'true');
308
- break;
309
- case 'notSelected':
310
- selector.should('have.attr', 'aria-pressed', 'false');
311
- break;
312
- }
313
- },
314
298
  }
315
299
 
316
300
  export default utilities
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.564-IEI-6998-Add-coverage-for-image-hightlight-question-type-f372002.0",
3
+ "version": "1.0.564-IEI-7011-195aab1.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/service.yaml CHANGED
@@ -102,21 +102,29 @@ namespaces:
102
102
  value: "dev"
103
103
  - name: FILE_CONFIG
104
104
  value: "dev"
105
+ - name: ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT
106
+ value: "false"
105
107
  qa:
106
108
  env:
107
109
  - name: STAGE
108
110
  value: "qa"
109
111
  - name: FILE_CONFIG
110
112
  value: "qa"
113
+ - name: ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT
114
+ value: "true"
111
115
  staging:
112
116
  env:
113
117
  - name: STAGE
114
118
  value: "stage"
115
119
  - name: FILE_CONFIG
116
120
  value: "stage"
121
+ - name: ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT
122
+ value: "false"
117
123
  prod:
118
124
  env:
119
125
  - name: STAGE
120
126
  value: "prod"
121
127
  - name: FILE_CONFIG
122
- value: "prod"
128
+ value: "prod"
129
+ - name: ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT
130
+ value: "false"