itemengine-cypress-automation 1.0.123 → 1.0.126

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');//["drawingResponse"]
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);//["85f864fd-8ce9-4d9d-a326-afb13963d6bd", "6ff35364-0fb6-4cc4-b09c-426f6199e3d6", "d5644e39-1f23-4c4d-a6ad-f80fee66cb62"]
47
47
 
48
48
  if (referenceIds.length > 0) {
49
49
  describe('Migration item check for MCQ questions', () => {
@@ -52,7 +52,7 @@ if (referenceIds.length > 0) {
52
52
  });
53
53
 
54
54
  referenceIds.forEach((referenceId) => {
55
- describe(`Migration item check for item "${referenceId}"`, () => {
55
+ describe(`Migration item check for item <a href="${Cypress.config().baseUrl}/items-list/item/${utilities.base64Encoding(referenceId)}" target="_blank">"${referenceId}"</a>`, () => {
56
56
  before(() => {
57
57
  cy.interceptGraphql('getItemPreview');
58
58
  cy.setGraphqlWait();
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -88,6 +88,8 @@ 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);
92
+ case lrnQuestionTypesENUM.drawingResponse: return extractLrnQuestionData.drawingResponse(lrnQuestionDataArr, index);
91
93
  default: throw new Error('Invalid lrn question type');
92
94
  }
93
95
  }
@@ -105,6 +107,8 @@ if (referenceIds.length > 0) {
105
107
  case 'textEntryMath': return verifyIeQuestionData.textEntryMath(questionData, index);
106
108
  case 'textEntryMathImage': return verifyIeQuestionData.textEntryMathImage(questionData, index);
107
109
  case 'essayResponse': return verifyIeQuestionData.essayResponse(questionData, index);
110
+ case 'essayResponseBasic': return verifyIeQuestionData.essayResponseBasic(questionData, index);
111
+ case 'drawingResponse': return verifyIeQuestionData.drawingResponse(questionData, index);
108
112
  default: throw new Error('Invalid ngie question type');
109
113
  }
110
114
  });
@@ -127,6 +131,10 @@ if (referenceIds.length > 0) {
127
131
  case lrnQuestionTypesENUM.mcq: return extractLrnQuestionData.mcqGrading(lrnGradingDataArr, index);
128
132
  case lrnQuestionTypesENUM.textEntryMath: return extractLrnQuestionData.textEntryMathGrading(lrnGradingDataArr, index);
129
133
  case lrnQuestionTypesENUM.textEntryMathImage: return extractLrnQuestionData.textEntryMathImageGrading(lrnGradingDataArr, index);
134
+ case lrnQuestionTypesENUM.essayResponse:
135
+ case lrnQuestionTypesENUM.essayResponseBasic:
136
+ case lrnQuestionTypesENUM.drawingResponse:
137
+ return;
130
138
  default: throw new Error('Invalid lrn question type');
131
139
  }
132
140
  }
@@ -0,0 +1,12 @@
1
+ const drawingToolbarOptionsENUM = {
2
+ "Scribble": "Scribble",
3
+ "Line": "line",
4
+ "Compass": "compass",
5
+ "Eraser": "item eraser",
6
+ "Clear": "clear all",
7
+ "Undo": "undo",
8
+ "Redo": "redo",
9
+ "Text": "text",
10
+ }
11
+
12
+ export default drawingToolbarOptionsENUM;
@@ -14,6 +14,12 @@ 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'),
20
+ drawingToolbar: () => cy.get('.lrn_toolbar'),
21
+ drawingToolbarButton: () => cy.get('.lrn_btn'),
22
+ drawingCanvasImage: () => cy.get('.lrn-canvas-container .lrn-image-source'),
17
23
  steps: {
18
24
  checkShowAnswersToggle: () => {
19
25
  lrnPage.showAnswersToggle()
@@ -264,12 +270,6 @@ export const extractLrnQuestionData = {
264
270
  },
265
271
 
266
272
  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
273
  let obj = {};
274
274
  cy.log(`Extracting the question instructions and options from question ${index}`);
275
275
  obj.questionIndex = index;
@@ -293,12 +293,79 @@ export const extractLrnQuestionData = {
293
293
  let ariaLabel = $button[0].attributes["aria-label"].nodeValue;
294
294
  if (!ariaLabel) ariaLabel = $button[0].attributes["title"].nodeValue;
295
295
  if (ariaLabel != 'Edit table') toolbarButtons.push(ariaLabel);
296
- })
296
+ });
297
297
  obj.toolbarButtons = toolbarButtons;
298
+ lrnPage.essayResponseFooter()
299
+ .then(($element) => {
300
+ let innerHTML = $element[0].innerHTML;
301
+ if (innerHTML.includes('lrn_word_count')) obj.hasWordCount = true;
302
+ if (innerHTML.includes('lrn_word_limit')) obj.hasWordLimit = true;
303
+ });
298
304
  });
299
305
  lrnQuestionDataArr.push(obj);
300
306
  },
301
307
 
308
+ essayResponseBasic: (lrnQuestionDataArr, index) => {
309
+ let obj = {};
310
+ cy.log(`Extracting the question instructions and options from question ${index}`);
311
+ obj.questionIndex = index;
312
+ obj.questionType = 'essayResponseBasic';
313
+ lrnPage.questionWrapper()
314
+ .eq(index)
315
+ .within(() => {
316
+ lrnPage.questionInstructions()
317
+ .then(($ins) => {
318
+ let text = $ins[0].innerText;
319
+ obj.previewQuestionInstructions = text;
320
+ });
321
+ lrnPage.essayResponseTextArea()
322
+ .then(($element) => {
323
+ let textAreaPlaceholder = $element[0].attributes["data-placeholder"]?.nodeValue;
324
+ obj.textAreaPlaceholder = textAreaPlaceholder;
325
+ });
326
+ lrnPage.essayResponseWordLimit()
327
+ .then(($element) => {
328
+ let innerText = $element[0].innerText;
329
+ if (innerText) obj.hasWordLimit = true;
330
+ });
331
+ });
332
+ lrnQuestionDataArr.push(obj);
333
+ },
334
+
335
+ drawingResponse: (lrnQuestionDataArr, index) => {
336
+ let obj = {};
337
+ cy.log(`Extracting the question instructions and options from question ${index}`);
338
+ obj.questionIndex = index;
339
+ obj.questionType = 'drawingResponse'
340
+ lrnPage.questionWrapper()
341
+ .eq(index)
342
+ .within(() => {
343
+ lrnPage.questionInstructions()
344
+ .then(($ins) => {
345
+ let text = $ins[0].innerText;
346
+ obj.previewQuestionInstructions = text;
347
+ });
348
+ let toolbarButtons = [];
349
+ lrnPage.drawingToolbar()
350
+ .eq(0)
351
+ .within(() => {
352
+ lrnPage.drawingToolbarButton()
353
+ .each(($button) => {
354
+ let ariaLabel = $button[0].attributes["aria-label"].nodeValue;
355
+ toolbarButtons.push(ariaLabel);
356
+ });
357
+ });
358
+ obj.toolbarButtons = toolbarButtons;
359
+ lrnPage.drawingCanvasImage()
360
+ .then(($img) => {
361
+ let backgroundCanvasImage = $img[0].alt;
362
+ obj.backgroundCanvasImage = backgroundCanvasImage;
363
+ let backgroundImageWidth = $img[0].style.width;
364
+ obj.backgroundImageWidth = backgroundImageWidth;
365
+ });
366
+ });
367
+ lrnQuestionDataArr.push(obj);
368
+ },
302
369
  /* singleSelection: (lrnQuestionDataArr, index) => {
303
370
  let obj = {};
304
371
  cy.log(`Extracting the question instructions and options from question ${index}`);
@@ -3,6 +3,8 @@ const lrnQuestionTypesENUM = {
3
3
  textEntryMath: 'Cloze math',
4
4
  textEntryMathImage: 'Cloze math with image',
5
5
  essayResponse: 'essayResponse',
6
+ essayResponseBasic: 'Essay with plain text',
7
+ drawingResponse: 'Drawing',
6
8
  singleSelection: 'Multiple choice – standard',
7
9
  multipleSelection: 'Multiple choice – multiple response',
8
10
  trueOrFalse: 'True or false',
@@ -1,6 +1,7 @@
1
1
  import { essayResponsePage, multipleSelectionPage } from "../../pages";
2
2
  import { singleSelectionPage } from "../../pages/singleSelectionPage"
3
3
  import utilities from "../helpers/utilities";
4
+ import drawingToolbarOptionsENUM from "./drawingToolbarOptionsENUM";
4
5
  import essayResponseToolbarOptionsENUM from "./essayResponseToolbarOptionsENUM";
5
6
 
6
7
  export const iePage = {
@@ -13,6 +14,11 @@ export const iePage = {
13
14
  textEntryMathCorrectAnswerMathMl: () => cy.get('.ngie_latex math'),
14
15
  textEntryMathCorrectAnswersResponseText: () => cy.get('.ngie_latex'),
15
16
  backgroundCanvasImage: () => cy.get('.background-image'),
17
+ essayResponseWordLimit: () => cy.get('.input-limit-label'),
18
+ essayResponseWordCount: () => cy.get('[class*="indexstyle__WordCharCountWrapper"]'),
19
+ essayResponseFooter: () => cy.get('.essay-character-view-wrapper'),
20
+ drawingResponseToolbarButton: () => cy.get('[class*="DrawingToolButtonstyled__Container"] svg'),
21
+ drawingResponseLowerCanvas: () => cy.get('.lower-canvas'),
16
22
  };
17
23
 
18
24
  export const verifyIeQuestionData = {
@@ -177,6 +183,80 @@ export const verifyIeQuestionData = {
177
183
  }).then(() => {
178
184
  expect(ieButtonsTitle).to.have.deep.members(ieButtonsExpected);
179
185
  });
186
+ if (expectedQuestionData.hasWordLimit || expectedQuestionData.hasWordCount) {
187
+ if (expectedQuestionData.hasWordLimit) {
188
+ iePage.essayResponseWordLimit()
189
+ .should('exist')
190
+ .and('not.be.empty');
191
+ } else {
192
+ iePage.essayResponseWordLimit()
193
+ .should('be.empty');
194
+ }
195
+ if (expectedQuestionData.hasWordCount) {
196
+ iePage.essayResponseWordCount()
197
+ .should('exist')
198
+ .and('not.be.empty');
199
+ } else {
200
+ iePage.essayResponseWordCount()
201
+ .should('be.empty');
202
+ }
203
+ } else {
204
+ iePage.essayResponseFooter()
205
+ .should('not.exist');
206
+ }
207
+ });
208
+ },
209
+
210
+ essayResponseBasic: (expectedQuestionData, index) => {
211
+ cy.get('[class*="ngie-essay-response"]')
212
+ .eq(index)
213
+ .within(() => {
214
+ utilities.verifyInnerText(singleSelectionPage.questionInstructionsText(), expectedQuestionData.previewQuestionInstructions);
215
+ essayResponsePage.responseField()
216
+ .then(($element) => {
217
+ let textAreaPlaceholder = $element[0].attributes["data-cke-editorplaceholder"]?.nodeValue;
218
+ expect(textAreaPlaceholder).to.be.eq(expectedQuestionData.textAreaPlaceholder);
219
+ });
220
+ iePage.essayResponseWordCount()
221
+ .should('exist')
222
+ .and('not.be.empty');
223
+ if (expectedQuestionData.hasWordLimit) {
224
+ iePage.essayResponseWordLimit()
225
+ .should('exist')
226
+ .and('not.be.empty');
227
+ } else {
228
+ iePage.essayResponseWordLimit()
229
+ .should('be.empty');
230
+ }
231
+ });
232
+ },
233
+
234
+ drawingResponse: (expectedQuestionData, index) => {
235
+ cy.get('[class*="DrawingResponsePreviewstyles__Question"]')
236
+ .eq(index)
237
+ .within(() => {
238
+ utilities.verifyInnerText(singleSelectionPage.questionInstructionsText(), expectedQuestionData.previewQuestionInstructions);
239
+ let ieButtonsActual = [];
240
+ let ieButtonsExpected = expectedQuestionData.toolbarButtons.map((button) => {
241
+ return drawingToolbarOptionsENUM[button];
242
+ });
243
+ iePage.drawingResponseToolbarButton()
244
+ .each(($button) => {
245
+ let ariaLabel = $button[0].attributes["aria-label"].nodeValue;
246
+ ieButtonsActual.push(ariaLabel);
247
+ }).then(() => {
248
+ expect(ieButtonsActual).to.have.deep.members(ieButtonsExpected);
249
+ });
250
+ iePage.drawingResponseLowerCanvas()
251
+ .then(($canvas) => {
252
+ let ariaLabel = $canvas[0].attributes["aria-label"].nodeValue;
253
+ if (expectedQuestionData.backgroundCanvasImage) {
254
+ expect(ariaLabel).to.be.eq(expectedQuestionData.backgroundCanvasImage);
255
+ } else {
256
+ expect(ariaLabel).to.be.eq('Image');
257
+ }
258
+ //need to verify backgroundImageWidth currently it is varying in all drawing response migrated items
259
+ });
180
260
  });
181
261
  },
182
262
 
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.126",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {