itemengine-cypress-automation 1.0.585-IEI-7055-cypress-9249eaa.0 → 1.0.585-IEI-7055-cypress-f1d43b9.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,8 @@
1
1
  import { numberLineLabelPage } from "../../../../pages";
2
2
  import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
+ import { showAlternativeAnswersComponent } from "../../../../pages/components";
3
4
  const range = 22.2;
5
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
4
6
 
5
7
  describe('Create Item page - Number line: Partial equal weights with alternative answer', () => {
6
8
  before(() => {
@@ -46,6 +48,18 @@ describe('Create Item page - Number line: Partial equal weights with alternative
46
48
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
47
49
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
48
50
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
51
+ if (alternativeAnswerCheck) {
52
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response - 6 points)');
53
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
54
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
55
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
56
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
57
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
58
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response - 4 points)');
59
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
60
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
61
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
62
+ }
49
63
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
50
64
 
51
65
  /*cy.log('When the user clicks on \'Check answer\' button without attempting the question, status message \'Your answer is incorrect\' should be displayed and correct answer section should not be displayed')
@@ -114,6 +128,18 @@ describe('Create Item page - Number line: Partial equal weights with alternative
114
128
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
115
129
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
116
130
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
131
+ if (alternativeAnswerCheck) {
132
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response - 6 points)');
133
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
134
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
135
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
136
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
137
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
138
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response - 4 points)');
139
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
140
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
141
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
142
+ }
117
143
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
118
144
 
119
145
  /*cy.log('When the user attempts the question with partially correct responses exclusively from the correct accordion and clicks on \'Check answer\' button, the attempted number line should be displayed correct, correct answer section should not be displayed')
@@ -136,6 +162,18 @@ describe('Create Item page - Number line: Partial equal weights with alternative
136
162
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
137
163
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
138
164
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
165
+ if (alternativeAnswerCheck) {
166
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response - 6 points)');
167
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
168
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
169
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
170
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
171
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
172
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response - 4 points)');
173
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
174
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
175
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
176
+ }
139
177
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
140
178
 
141
179
  /*cy.log('When the user attempts the question with partially correct responses exclusively from the alternative accordion and clicks on \'Check answer\' button, the attempted number line should be displayed correct, correct answer section should not be displayed')
@@ -161,6 +199,18 @@ describe('Create Item page - Number line: Partial equal weights with alternative
161
199
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
162
200
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
163
201
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
202
+ if (alternativeAnswerCheck) {
203
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response - 6 points)');
204
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
205
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
206
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
207
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
208
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
209
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response - 4 points)');
210
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
211
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
212
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
213
+ }
164
214
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
165
215
 
166
216
  /*cy.log('When the user attempts the question with equal number responses from the correct and alternative accordion and clicks on \'Check answer\' button, the attempted number line should be displayed correct, correct answer section should not be displayed')
@@ -181,6 +231,18 @@ describe('Create Item page - Number line: Partial equal weights with alternative
181
231
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
182
232
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
183
233
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
234
+ if (alternativeAnswerCheck) {
235
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response - 6 points)');
236
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
237
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
238
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
239
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
240
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
241
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response - 4 points)');
242
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
243
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
244
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
245
+ }
184
246
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
185
247
 
186
248
  /*cy.log('When the user attempts the question with common response from the alternative accordion and clicks on \'Check answer\' button, the attempted number line should be displayed correct, correct answer section should not be displayed')
@@ -199,6 +261,18 @@ describe('Create Item page - Number line: Partial equal weights with alternative
199
261
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
200
262
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
201
263
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
264
+ if (alternativeAnswerCheck) {
265
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response - 6 points)');
266
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
267
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
268
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
269
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
270
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
271
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response - 4 points)');
272
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
273
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
274
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
275
+ }
202
276
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
203
277
 
204
278
  /*cy.log('When the user has attempted the question with incorrect responses and clicks on \'Check answer\' button, then correct icon should be displayed besides the correct answer responses, correct answer section should not be displayed')
@@ -236,6 +310,18 @@ describe('Create Item page - Number line: Partial equal weights with alternative
236
310
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
237
311
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
238
312
  numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
313
+ if (alternativeAnswerCheck) {
314
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(Points per response - 7.67 points)');
315
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
316
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
317
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
318
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
319
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
320
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(Points per response - 1.67 points)');
321
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 6', range, 1, true);
322
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
323
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
324
+ }
239
325
  numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
240
326
  /*cy.log('When user attempts the question correctly and clicks on the \'Check answer\' button, green check-mark icons should be displayed beside the correct responses from the correct accordion, red cross-mark icons should be displayed beside the incorrectly answered responses, correct/incorrect answer label and its border, correct answer container should not be displayed')
241
327
  numberLineLabelPage.steps.checkAnswer();
@@ -1,11 +1,13 @@
1
1
  import { numberLineLabelPage, gradingViewPage, itemPreviewPage, studentViewPage, dialogBoxBase } from "../../../pages";
2
2
  import abortEarlySetup from "../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../support/helpers/utilities";
4
+ import { showAlternativeAnswersComponent } from "../../../pages/components";
4
5
  const grepTags = Cypress.env('grepTags');
5
6
  let correctAnswerViews = ['Question preview', 'Item preview', 'Grading view'];
6
7
  const views = utilities.getViews(correctAnswerViews);
7
8
  var itemReferenceID = "";
8
9
  const range = 22.2;
10
+ const alternativeAnswerCheck = Cypress.env('ENABLE_ALTERNATIVE_ANSWER_ENHANCEMENT') === 'true';
9
11
 
10
12
  describe('Create Item page - Number line label: All or nothing ', () => {
11
13
  before(() => {
@@ -251,6 +253,262 @@ describe('Create Item page - Number line label: All or nothing ', () => {
251
253
  });
252
254
  });
253
255
 
256
+ if (alternativeAnswerCheck) {
257
+ views.forEach((view) => {
258
+ describe(`Number line - label: All or nothing scoring with alternate answer - ${view}`, { tags: 'smoke' }, () => {
259
+ abortEarlySetup();
260
+ before(() => {
261
+ switch (view) {
262
+ case 'Question preview':
263
+ numberLineLabelPage.steps.navigateToCreateQuestion('Number line');
264
+ cy.barsPreLoaderWait();
265
+ numberLineLabelPage.steps.navigateToLabelNumberLineTab();
266
+ numberLineLabelPage.steps.addTextInQuestionInstructionsInputField('Plot labels on the number line');
267
+ for (let i = 0; i < 2; i++) {
268
+ numberLineLabelPage.steps.addLabel();
269
+ }
270
+ numberLineLabelPage.steps.enterTextInMultipleLabelInputFields(['Label 1', 'Label 2', 'Label 3', 'Label 4', 'Label 5']);
271
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 0);
272
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
273
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 2', 'horizontal', range, 9);
274
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [9]);
275
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 3', 'horizontal', range, -9);
276
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [-9]);
277
+ numberLineLabelPage.steps.allotPoints(20);
278
+ //Alternative answer
279
+ numberLineLabelPage.steps.addAlternativeAnswerAccordion(1);
280
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 1', 'horizontal', range, 0);
281
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [0]);
282
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 4', 'horizontal', range, 6);
283
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [6]);
284
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLineSpecifyCorrectAnswer('Label 5', 'horizontal', range, -6);
285
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLineSpecifyCorrectAnswer(range, [-6]);
286
+ numberLineLabelPage.steps.allotPoints(12);
287
+ numberLineLabelPage.steps.switchToPreviewTab();
288
+ break;
289
+ case 'Item preview':
290
+ cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
291
+ itemPreviewPage.steps.switchToPreviewTab();
292
+ break;
293
+ case 'Grading view':
294
+ cy.wait(5000);
295
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
296
+ break;
297
+ }
298
+ });
299
+
300
+ beforeEach(() => {
301
+ switch (view) {
302
+ case 'Question preview':
303
+ numberLineLabelPage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
304
+ numberLineLabelPage.steps.resetQuestionPreview();
305
+ break;
306
+ case 'Item preview':
307
+ itemPreviewPage.steps.switchToStudentView();
308
+ itemPreviewPage.steps.resetQuestionPreview();
309
+ break;
310
+ case 'Grading view':
311
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
312
+ break;
313
+ }
314
+ });
315
+
316
+ if (view === 'Question preview') {
317
+ after(() => {
318
+ numberLineLabelPage.steps.clickOnSaveQuestionButton();
319
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
320
+ itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
321
+ });
322
+ };
323
+
324
+ it('When the user selects \'Grading\' view without attempting the question, the correct answer should be displayed in the correct answer section graph and correct/incorrect status message should not be displayed', () => {
325
+ if (view === 'Grading view') {
326
+ studentViewPage.steps.submitResponse();
327
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
328
+ studentViewPage.steps.clickOnGoToGradingViewButton();
329
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
330
+ } else {
331
+ numberLineLabelPage.steps.switchToGradingView();
332
+ numberLineLabelPage.steps.verifyPreviewScore(0, 20);
333
+ }
334
+ utilities.verifyElementVisibilityState(numberLineLabelPage.numberLinePointPreviewTab(), 'notExist');
335
+ numberLineLabelPage.steps.verifyCorrectIncorrectIconsNotExist();
336
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabelNotExist();
337
+ cy.wait(2000);
338
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, false, view === 'Grading view' ? true : false);
339
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
340
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
341
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
342
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
343
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
344
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
345
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
346
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
347
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
348
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
349
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
350
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
351
+ cy.wait(2000);
352
+ });
353
+
354
+ it('When the user attempts the question incorrectly then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted graph should be displayed incorrect and the the correct answers should be displayed in the correct answer section graph', () => {
355
+ cy.wait(2000);
356
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 4', 'horizontal', range, 0);
357
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
358
+ cy.wait(2000);
359
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, 4);
360
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [4]);
361
+ cy.wait(2000);
362
+ if (view === 'Grading view') {
363
+ studentViewPage.steps.submitResponse();
364
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
365
+ studentViewPage.steps.clickOnGoToGradingViewButton();
366
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
367
+ } else {
368
+ numberLineLabelPage.steps.verifyPreviewScore(0, 20);
369
+ numberLineLabelPage.steps.switchToGradingView();
370
+ }
371
+ cy.wait(2000);
372
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 4', range, 0);
373
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 3', range, 4);
374
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
375
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
376
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
377
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
378
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
379
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
380
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
381
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
382
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
383
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
384
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
385
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
386
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
387
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
388
+ cy.wait(2000);
389
+ });
390
+
391
+ it('When the user attempts the question partially correct then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted graph should be displayed correct and the the correct answers should be displayed in the correct answer section graph', () => {
392
+ if (view === 'Grading view') {
393
+ studentViewPage.steps.clearResponses();
394
+ }
395
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
396
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
397
+ cy.wait(2000);
398
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
399
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
400
+ cy.wait(2000);
401
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -8);
402
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-8]);
403
+ if (view === 'Grading view') {
404
+ studentViewPage.steps.submitResponse();
405
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
406
+ studentViewPage.steps.clickOnGoToGradingViewButton();
407
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
408
+ } else {
409
+ numberLineLabelPage.steps.verifyPreviewScore(0, 20);
410
+ numberLineLabelPage.steps.switchToGradingView();
411
+ }
412
+ cy.wait(2000);
413
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 3', range, -8);
414
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 9);
415
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 1', range, 0);
416
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
417
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
418
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
419
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
420
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
421
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
422
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
423
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
424
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
425
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
426
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
427
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
428
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
429
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
430
+ cy.wait(2000);
431
+ });
432
+
433
+ it('When the user attempts the question partially correct with an incorrect response then the user should be awarded with 0 points and on switching to grading view \'Your answer is incorrect\' should be displayed and the attempted graph should be displayed correct for the correct response and incorrect for the incorrect response and the the correct answers should be displayed in the correct answer section graph', () => {
434
+ if (view === 'Grading view') {
435
+ studentViewPage.steps.clearResponses();
436
+ }
437
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
438
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
439
+ cy.wait(2000);
440
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
441
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
442
+ cy.wait(2000);
443
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -9);
444
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-9]);
445
+ cy.wait(2000);
446
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 4', 'horizontal', range, 2);
447
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [2]);
448
+ cy.wait(2000);
449
+ if (view === 'Grading view') {
450
+ studentViewPage.steps.submitResponse();
451
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
452
+ studentViewPage.steps.clickOnGoToGradingViewButton();
453
+ gradingViewPage.steps.verifyGradingViewScore(0, 20);
454
+ } else {
455
+ numberLineLabelPage.steps.verifyPreviewScore(0, 20);
456
+ numberLineLabelPage.steps.switchToGradingView();
457
+ }
458
+ cy.wait(2000);
459
+ numberLineLabelPage.steps.verifyIncorrectResponseOnNumberLinePreviewTab('Label 4', range, 2);
460
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 3', range, -9);
461
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 9);
462
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 1', range, 0);
463
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
464
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0);
465
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 2', range, 9);
466
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 3', range, -9);
467
+ showAlternativeAnswersComponent.steps.verifyCorrectAnswersLabelAndPointVisible('(20 points)');
468
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleExists();
469
+ showAlternativeAnswersComponent.steps.disableShowAlternativeAnswersToggle();
470
+ showAlternativeAnswersComponent.steps.verifyShowAlternativeAnswersToggleUnchecked();
471
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersSectionNotExist();
472
+ showAlternativeAnswersComponent.steps.clickShowAlternativeAnswersToggle();
473
+ showAlternativeAnswersComponent.steps.verifyAlternativeAnswersLabelAndPointVisible(1, '(12 points)');
474
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 1', range, 0, true);
475
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 4', range, 6, true);
476
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLineCorrectAnswerSection('Label 5', range, -6, true);
477
+ cy.wait(2000);
478
+ });
479
+
480
+ it('When the user attempts the question correctly then the user should be awarded with full points and on switching to grading view \'Your answer is correct\' should be displayed and the attempted graph should be displayed correct and the correct answer section graph should not be displayed', () => {
481
+ if (view === 'Grading view') {
482
+ studentViewPage.steps.clearResponses();
483
+ }
484
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 1', 'horizontal', range, 0);
485
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [0]);
486
+ cy.wait(2000);
487
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 2', 'horizontal', range, 9);
488
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [9]);
489
+ cy.wait(2000);
490
+ numberLineLabelPage.steps.clickAndDropLabelOnNumberLinePreviewTab('Label 3', 'horizontal', range, -9);
491
+ numberLineLabelPage.steps.verifyPointsPlottedOnNumberLinePreviewTab(range, [-9]);
492
+ cy.wait(2000);
493
+ if (view === 'Grading view') {
494
+ studentViewPage.steps.submitResponse();
495
+ utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
496
+ studentViewPage.steps.clickOnGoToGradingViewButton();
497
+ gradingViewPage.steps.verifyGradingViewScore(20, 20);
498
+ } else {
499
+ numberLineLabelPage.steps.verifyPreviewScore(20, 20);
500
+ numberLineLabelPage.steps.switchToGradingView();
501
+ }
502
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 3', range, -9);
503
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 2', range, 9);
504
+ numberLineLabelPage.steps.verifyCorrectResponseOnNumberLinePreviewTab('Label 1', range, 0);
505
+ numberLineLabelPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
506
+ numberLineLabelPage.steps.verifyCorrectAnswerSectionNotExist();
507
+ });
508
+ });
509
+ });
510
+ }
511
+
254
512
  views.forEach((view) => {
255
513
  describe(`Number line - label: Manually scored - ${view}`, { tags: 'smoke' }, () => {
256
514
  abortEarlySetup();