itemengine-cypress-automation 1.0.123 → 1.0.125

Sign up to get free protection for your applications and to get access to all the features.
@@ -34,7 +34,7 @@ Cypress.Commands.add('lazyLoadPreviewQuestions', (count, retries = 5) => {
34
34
  cy.learnosityLoaderWait();
35
35
  })
36
36
 
37
- const migrationQuestionTypes = Cypress.env('migrationQuestionTypes');//["essayResponse"]
37
+ const migrationQuestionTypes = Cypress.env('migrationQuestionTypes');//["essayResponse", "essayResponseBasic", "mcq"]
38
38
  const migrationQuestionTypesLrn = migrationQuestionTypes.map((questionType) => lrnQuestionTypesENUM[questionType]);
39
39
  let lrnMcqTypesRegex = /Multiple choice – standard|Multiple choice – multiple response|True or false|Multiple choice – block layout/;
40
40
  let lrnEssayResponseRegex = /Math essay with rich text|Essay with rich text/
@@ -43,7 +43,7 @@ let lrnEssayResponseRegex = /Math essay with rich text|Essay with rich text/
43
43
  let lrnQuestionDataArr = [];
44
44
  let lrnGradingDataArr = [];
45
45
 
46
- let referenceIds = JSON.parse(Cypress.env('referenceIds')).slice(0, 100);//["0715a48c-4c1f-4eed-8058-793ad9402f89", "c476e9ca-2ac6-4ebc-b548-241ef3cd13bb"]
46
+ let referenceIds = JSON.parse(Cypress.env('referenceIds')).slice(0, 100);//["d15153f9-fe28-4407-851e-bc2d36551711", "2f4fd7c7-8d5a-48b8-96fa-5d729238033f", "0715a48c-4c1f-4eed-8058-793ad9402f89", "9835f858-9866-43ad-a79b-d8da59723d3b"]
47
47
 
48
48
  if (referenceIds.length > 0) {
49
49
  describe('Migration item check for MCQ questions', () => {
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -88,6 +88,7 @@ if (referenceIds.length > 0) {
88
88
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMath(lrnQuestionDataArr, index);
89
89
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImage(lrnQuestionDataArr, index);
90
90
  case lrnQuestionTypesENUM.essayResponse: return extractLrnQuestionData.essayResponse(lrnQuestionDataArr, index);
91
+ case lrnQuestionTypesENUM.essayResponseBasic: return extractLrnQuestionData.essayResponseBasic(lrnQuestionDataArr, index);
91
92
  default: throw new Error('Invalid lrn question type');
92
93
  }
93
94
  }
@@ -105,6 +106,7 @@ if (referenceIds.length > 0) {
105
106
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
107
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
108
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
109
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
108
110
  default: throw new Error('Invalid ngie question type');
109
111
  }
110
112
  });
@@ -127,6 +129,9 @@ if (referenceIds.length > 0) {
127
129
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
130
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
131
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
132
+ case lrnQuestionTypesENUM.essayResponse:
133
+ case lrnQuestionTypesENUM.essayResponseBasic:
134
+ return;
130
135
  default: throw new Error('Invalid lrn question type');
131
136
  }
132
137
  }
@@ -14,6 +14,9 @@ export const lrnPage = {
14
14
  backgroundCanvasImage: () => cy.get('.lrn_imagecloze_image'),
15
15
  essayResponseTextArea: () => cy.get('.lrn_texteditor_editable'),
16
16
  essayResponseToolbarButton: () => cy.get('[aria-label="Text controls"] button.lrn_btn'),
17
+ essayResponseFooter: () => cy.get('.lrn-toolbar-footer'),
18
+ essayResponseToolbarWordCountWrapper: () => cy.get('.lrn_toolbar_right'),
19
+ essayResponseWordLimit: () => cy.get('.lrn_word_limit'),
17
20
  steps: {
18
21
  checkShowAnswersToggle: () => {
19
22
  lrnPage.showAnswersToggle()
@@ -264,12 +267,6 @@ export const extractLrnQuestionData = {
264
267
  },
265
268
 
266
269
  essayResponse: (lrnQuestionDataArr, index) => {
267
- //instructions
268
- //text in the input field
269
- //placeholder
270
- //wordlimit and stuff
271
- //toolbar icons
272
- //check with abhishek if we need to cover the grading view/else we can just check if the questino is not giving any error in grading view, i.e it is visible
273
270
  let obj = {};
274
271
  cy.log(`Extracting the question instructions and options from question ${index}`);
275
272
  obj.questionIndex = index;
@@ -293,12 +290,44 @@ export const extractLrnQuestionData = {
293
290
  let ariaLabel = $button[0].attributes["aria-label"].nodeValue;
294
291
  if (!ariaLabel) ariaLabel = $button[0].attributes["title"].nodeValue;
295
292
  if (ariaLabel != 'Edit table') toolbarButtons.push(ariaLabel);
296
- })
293
+ });
297
294
  obj.toolbarButtons = toolbarButtons;
295
+ lrnPage.essayResponseFooter()
296
+ .then(($element) => {
297
+ let innerHTML = $element[0].innerHTML;
298
+ if (innerHTML.includes('lrn_word_count')) obj.hasWordCount = true;
299
+ if (innerHTML.includes('lrn_word_limit')) obj.hasWordLimit = true;
300
+ });
298
301
  });
299
302
  lrnQuestionDataArr.push(obj);
300
303
  },
301
304
 
305
+ essayResponseBasic: (lrnQuestionDataArr, index) => {
306
+ let obj = {};
307
+ cy.log(`Extracting the question instructions and options from question ${index}`);
308
+ obj.questionIndex = index;
309
+ obj.questionType = 'essayResponseBasic';
310
+ lrnPage.questionWrapper()
311
+ .eq(index)
312
+ .within(() => {
313
+ lrnPage.questionInstructions()
314
+ .then(($ins) => {
315
+ let text = $ins[0].innerText;
316
+ obj.previewQuestionInstructions = text;
317
+ });
318
+ lrnPage.essayResponseTextArea()
319
+ .then(($element) => {
320
+ let textAreaPlaceholder = $element[0].attributes["data-placeholder"]?.nodeValue;
321
+ obj.textAreaPlaceholder = textAreaPlaceholder;
322
+ });
323
+ lrnPage.essayResponseWordLimit()
324
+ .then(($element) => {
325
+ let innerText = $element[0].innerText;
326
+ if (innerText) obj.hasWordLimit = true;
327
+ });
328
+ });
329
+ lrnQuestionDataArr.push(obj);
330
+ },
302
331
  /* singleSelection: (lrnQuestionDataArr, index) => {
303
332
  let obj = {};
304
333
  cy.log(`Extracting the question instructions and options from question ${index}`);
@@ -3,6 +3,7 @@ const lrnQuestionTypesENUM = {
3
3
  textEntryMath: 'Cloze math',
4
4
  textEntryMathImage: 'Cloze math with image',
5
5
  essayResponse: 'essayResponse',
6
+ essayResponseBasic: 'Essay with plain text',
6
7
  singleSelection: 'Multiple choice – standard',
7
8
  multipleSelection: 'Multiple choice – multiple response',
8
9
  trueOrFalse: 'True or false',
@@ -13,6 +13,9 @@ export const iePage = {
13
13
  textEntryMathCorrectAnswerMathMl: () => cy.get('.ngie_latex math'),
14
14
  textEntryMathCorrectAnswersResponseText: () => cy.get('.ngie_latex'),
15
15
  backgroundCanvasImage: () => cy.get('.background-image'),
16
+ essayResponseWordLimit: () => cy.get('.input-limit-label'),
17
+ essayResponseWordCount: () => cy.get('[class*="indexstyle__WordCharCountWrapper"]'),
18
+ essayResponseFooter: () => cy.get('.essay-character-view-wrapper'),
16
19
  };
17
20
 
18
21
  export const verifyIeQuestionData = {
@@ -177,6 +180,51 @@ export const verifyIeQuestionData = {
177
180
  }).then(() => {
178
181
  expect(ieButtonsTitle).to.have.deep.members(ieButtonsExpected);
179
182
  });
183
+ if (expectedQuestionData.hasWordLimit || expectedQuestionData.hasWordCount) {
184
+ if (expectedQuestionData.hasWordLimit) {
185
+ iePage.essayResponseWordLimit()
186
+ .should('exist')
187
+ .and('not.be.empty');
188
+ } else {
189
+ iePage.essayResponseWordLimit()
190
+ .should('be.empty');
191
+ }
192
+ if (expectedQuestionData.hasWordCount) {
193
+ iePage.essayResponseWordCount()
194
+ .should('exist')
195
+ .and('not.be.empty');
196
+ } else {
197
+ iePage.essayResponseWordCount()
198
+ .should('be.empty');
199
+ }
200
+ } else {
201
+ iePage.essayResponseFooter()
202
+ .should('not.exist');
203
+ }
204
+ });
205
+ },
206
+
207
+ essayResponseBasic: (expectedQuestionData, index) => {
208
+ cy.get('[class*="ngie-essay-response"]')
209
+ .eq(index)
210
+ .within(() => {
211
+ utilities.verifyInnerText(singleSelectionPage.questionInstructionsText(), expectedQuestionData.previewQuestionInstructions);
212
+ essayResponsePage.responseField()
213
+ .then(($element) => {
214
+ let textAreaPlaceholder = $element[0].attributes["data-cke-editorplaceholder"]?.nodeValue;
215
+ expect(textAreaPlaceholder).to.be.eq(expectedQuestionData.textAreaPlaceholder);
216
+ });
217
+ iePage.essayResponseWordCount()
218
+ .should('exist')
219
+ .and('not.be.empty');
220
+ if (expectedQuestionData.hasWordLimit) {
221
+ iePage.essayResponseWordLimit()
222
+ .should('exist')
223
+ .and('not.be.empty');
224
+ } else {
225
+ iePage.essayResponseWordLimit()
226
+ .should('be.empty');
227
+ }
180
228
  });
181
229
  },
182
230
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.123",
3
+ "version": "1.0.125",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {