itemengine-cypress-automation 1.0.574-IEI-7071-main-360bc22.0 → 1.0.574-scoring-fix-dd14c63.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,8 +1,7 @@
1
1
  import abortEarlySetup from "../../../support/helpers/abortEarly";
2
- import { shortTextResponsePage, itemPreviewPage } from "../../../pages";
2
+ import { shortTextResponsePage } from "../../../pages";
3
3
  import utilities from "../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
5
- let itemReferenceID = '';
6
5
 
7
6
  describe('Create question page - Short text response: Question Instructions, Set limit', () => {
8
7
  before(() => {
@@ -584,57 +583,4 @@ describe('Create question page - Short text response: Question Instructions, Set
584
583
  shortTextResponsePage.steps.focusInAnswerInputFieldPreviewTab();
585
584
  });
586
585
  });
587
-
588
- describe('Print layout settings accordion', () => {
589
- abortEarlySetup();
590
- before(() => {
591
- shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
592
- cy.barsPreLoaderWait();
593
- });
594
-
595
- shortTextResponsePage.tests.verifyPrintLayoutSettingsAccordionProperties();
596
- shortTextResponsePage.tests.verifyPrintLayoutSettingsAccordionContents();
597
- shortTextResponsePage.tests.verifyPrintLayoutSettingsAccordionAdditionalContent();
598
- });
599
-
600
- describe('Print layout settings: Default state', () => {
601
- abortEarlySetup();
602
- before(() => {
603
- shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
604
- cy.barsPreLoaderWait();
605
- shortTextResponsePage.steps.expandPrintLayoutSettings();
606
- shortTextResponsePage.steps.addTextInQuestionInstructionsInputField('short text response instructions.');
607
- });
608
-
609
- it('When the user navigates to the print view, then instructions and number of lines with 32px height should be displayed correctly', () => {
610
- shortTextResponsePage.steps.clickOnSaveQuestionButton();
611
- shortTextResponsePage.steps.clickOnConfirmButton();
612
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
613
- cy.wrap(itemPreviewPage.steps.getItemReferenceID()).then((referenceId) => {
614
- itemReferenceID = referenceId;
615
- cy.visit(`/item-engine/demo/render-item/print-view/${utilities.base64Encoding(itemReferenceID)}`);
616
- utilities.verifyInnerText(shortTextResponsePage.questionInstructionsPrintPreviewText(), 'short text response instructions.');
617
- shortTextResponsePage.steps.verifyNumberOfLinesInPrintView(1, '32px');
618
- });
619
- });
620
-
621
- it('When the modified number of lines and line spacing are applied, then instructions and number of lines with modified line spacing should be displayed correctly', () => {
622
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
623
- shortTextResponsePage.steps.clickOnEditQuestionButton();
624
- shortTextResponsePage.steps.expandPrintLayoutSettings();
625
- shortTextResponsePage.steps.addTextInQuestionInstructionsInputFieldForPrint('short text response modify instructions.');
626
- shortTextResponsePage.steps.addValueInNumberOfLinesInputField('5');
627
- shortTextResponsePage.steps.expandLineSpacingDropdown();
628
- shortTextResponsePage.steps.selectLineSpacingDropdownOption('Double');
629
- shortTextResponsePage.steps.clickOnSaveQuestionButton();
630
- shortTextResponsePage.steps.clickOnConfirmButton();
631
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
632
- cy.wrap(itemPreviewPage.steps.getItemReferenceID()).then((referenceId) => {
633
- itemReferenceID = referenceId;
634
- cy.visit(`/item-engine/demo/render-item/print-view/${utilities.base64Encoding(itemReferenceID)}`);
635
- utilities.verifyInnerText(shortTextResponsePage.questionInstructionsPrintPreviewText(), 'short text response modify instructions.');
636
- shortTextResponsePage.steps.verifyNumberOfLinesInPrintView(5, '48px');
637
- });
638
- });
639
- });
640
586
  });
@@ -1,6 +1,6 @@
1
- import { shortTextResponsePage } from "../../../../pages";
2
- import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
- import utilities from "../../../../support/helpers/utilities";
1
+ import { shortTextResponsePage } from "../../../pages";
2
+ import abortEarlySetup from "../../../support/helpers/abortEarly";
3
+ import utilities from "../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
5
5
 
6
6
  describe('Create Item page - Short text response: Scoring Section - Manually scored and Non scored', () => {
@@ -13,7 +13,7 @@ describe('Create Item page - Short text response: Scoring Section - Manually sco
13
13
  before(() => {
14
14
  cy.log('Adding question instructions and correct answer response, select Manually scored scoring type and add points for the question');
15
15
  shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
16
- shortTextResponsePage.steps.addTextInQuestionInstructionsInputField('short text response instruction');
16
+ shortTextResponsePage.steps.addQuestionInstructions();
17
17
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Buildings');
18
18
  shortTextResponsePage.steps.allotPoints(20);
19
19
  shortTextResponsePage.steps.expandScoringTypeDropdown();
@@ -22,8 +22,9 @@ describe('Create Item page - Short text response: Scoring Section - Manually sco
22
22
  shortTextResponsePage.steps.switchToPreviewTab();
23
23
  });
24
24
 
25
- it('In Preview tab, Question Instructions and response field should be displayed', () => {
26
- shortTextResponsePage.steps.verifyQuestionInstructionsTextPreviewTab('short text response instruction');
25
+ //need to remove skip after https://redmine.zeuslearning.com/issues/571485 is resolved
26
+ it.skip('In Preview tab, Question Instructions and response field should be displayed', () => {
27
+ shortTextResponsePage.steps.verifyQuestionInstructionsText();
27
28
  utilities.verifyElementVisibilityState(shortTextResponsePage.previewTabResponseField(), 'visible');
28
29
  });
29
30
 
@@ -42,6 +43,7 @@ describe('Create Item page - Short text response: Scoring Section - Manually sco
42
43
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Buildings');
43
44
  shortTextResponsePage.steps.expandScoringTypeDropdown();
44
45
  shortTextResponsePage.steps.selectOptionFromScoringTypeDropdown('Non scored');
46
+ //shortTextResponsePage.steps.checkAllowStudentToCheckAnswerCheckbox();
45
47
  shortTextResponsePage.steps.switchToPreviewTab();
46
48
  });
47
49
 
@@ -61,6 +63,11 @@ describe('Create Item page - Short text response: Scoring Section - Manually sco
61
63
  shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
62
64
  shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Buildings');
63
65
  shortTextResponsePage.steps.switchToStudentView();
66
+ /*cy.log('When the user clicks on \'Check answer\' button, red cross mark icon should be displayed besides the response field, Incorrect answer label and border should not be displayed and no correct answer wrapper should be displayed');
67
+ shortTextResponsePage.steps.checkAnswer();
68
+ shortTextResponsePage.steps.verifyIncorrectIcon();
69
+ shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
70
+ shortTextResponsePage.steps.verifyCorrectAnswerWrapperNotExist();*/
64
71
  });
65
72
 
66
73
  it('When user attempts the question correctly, then on switching to \'Grading\' view, then correct icons should be displayed beside correct response and correct answer border should be displayed and correct answer wrapper should not be displayed in the question preview', () => {
@@ -71,6 +78,11 @@ describe('Create Item page - Short text response: Scoring Section - Manually sco
71
78
  shortTextResponsePage.steps.verifyCorrectAttemptBorder();
72
79
  shortTextResponsePage.steps.verifyCorrectAnswerWrapperNotExist();
73
80
  shortTextResponsePage.steps.switchToStudentView();
81
+ /*cy.log('When the user clicks on \'Check answer\' button, then green checkmark icon should be displayed besides response fields, Correct answer label and border should not be displayed and no correct answer container should be displayed and no correct answer container should be displayed')
82
+ shortTextResponsePage.steps.checkAnswer();
83
+ shortTextResponsePage.steps.verifyCorrectIcon();
84
+ shortTextResponsePage.steps.verifyCorrectAttemptBorder();
85
+ shortTextResponsePage.steps.verifyCorrectAnswerWrapperNotExist();*/
74
86
  });
75
87
 
76
88
  it('User should able to save question with non scored scoring type', () => {
@@ -157,7 +157,7 @@ describe('Create item page - Fill in the gaps over image - text - Special charac
157
157
  });
158
158
  //Category tiles in de-selected state
159
159
  utilities.verifyCSS(shortTextResponsePage.specialCharacterTileIcon().eq(0).find('svg'), {
160
- 'fill': css.color.optionColor
160
+ 'fill': css.color.secondaryBtn
161
161
  });
162
162
  utilities.verifyCSS(shortTextResponsePage.specialCharacterTileSectionCategoriesDragIcon().eq(0).find('path'), {
163
163
  'fill': css.color.secondaryBtn
@@ -198,10 +198,10 @@ describe('Create item page - Fill in the gaps over image - text - Special charac
198
198
  cy.checkAccessibility(dialogBoxBase.dialogBox());
199
199
  cy.log('Closing preview popup');
200
200
  dialogBoxBase.steps.closeWarningPopup();
201
- cy.checkAccessibility(shortTextResponsePage.specialCharactersLabel());
201
+ cy.checkAccessibility(shortTextResponsePage.specialCharactersLabel().parents('.edit-question-edit-tab-wrapper'));
202
202
  cy.log('Selecting show only custom special characters radio button');
203
203
  shortTextResponsePage.steps.selectShowOnlyCustomSpecialCharactersRadioButton();
204
- cy.checkAccessibility(shortTextResponsePage.customSpecialCharactersInputFieldWrapper());
204
+ cy.checkAccessibility(shortTextResponsePage.specialCharactersLabel().parent());
205
205
  });
206
206
  });
207
207
 
@@ -1,10 +1,7 @@
1
- import { shortTextResponsePage, itemPreviewPage } from "../../../pages";
1
+ import { shortTextResponsePage } from "../../../pages";
2
2
  import abortEarlySetup from "../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../support/helpers/utilities";
4
4
  const css = Cypress.env('css');
5
- let correctAnswerViews = ['Question preview', 'Item preview', 'Student view'];
6
- const views = utilities.getViews(correctAnswerViews);
7
- let itemReferenceID = "";
8
5
 
9
6
  const labels = [shortTextResponsePage.displayWordCountLabel, shortTextResponsePage.spellCheckLabel, shortTextResponsePage.autoScaleTheResponseFieldHeightLabel];
10
7
  const checkboxes = [shortTextResponsePage.displayWordCountCheckbox, shortTextResponsePage.spellCheckCheckbox, shortTextResponsePage.autoScaleTheResponseFieldHeightCheckbox];
@@ -333,129 +330,4 @@ describe('Create Item page - Short text response : Student view settings', () =>
333
330
  shortTextResponsePage.steps.verifyCheckAnswerButtonEnabled();
334
331
  });
335
332
  });*/
336
-
337
-
338
- views.forEach((view) => {
339
- describe(`${view}: Student view settings default state`, () => {
340
- abortEarlySetup();
341
- before(() => {
342
- switch (view) {
343
- case 'Question preview':
344
- shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
345
- cy.barsPreLoaderWait();
346
- shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Correct answer');
347
- shortTextResponsePage.steps.allotPoints(10);
348
- shortTextResponsePage.steps.switchToPreviewTab();
349
- break;
350
- case 'Item preview':
351
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
352
- itemPreviewPage.steps.switchToPreviewTab();
353
- break;
354
- case 'Student view':
355
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
356
- break;
357
- };
358
- });
359
-
360
- beforeEach(() => {
361
- switch (view) {
362
- case 'Question preview':
363
- break;
364
- case 'Item preview':
365
- shortTextResponsePage.steps.switchToGradingView();
366
- break;
367
- case 'Student view':
368
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
369
- break;
370
- }
371
- });
372
-
373
- if (view === 'Question preview') {
374
- after(() => {
375
- shortTextResponsePage.steps.clickOnSaveQuestionButton();
376
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
377
- itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
378
- });
379
- };
380
-
381
- it(`When the \'Auto scale the response field height (no scrolling)\' checkbox is unchecked, then entering long text into the input field should display the entire text in the response input field on a single scrollable line and height of the response input field should remain unchanged in ${view}`, () => {
382
- shortTextResponsePage.steps.verifyAutoScaleHeightOfResponseFieldFunctionalityPreviewTab('Disabled');
383
- });
384
-
385
- it(`When the \'Spell check\' checkbox is unchecked, the response field should have \'spellcheck\' attribute set as \'false\' in the ${view}`, () => {
386
- shortTextResponsePage.steps.verifySpellCheckOfResponseFieldDisabledInAllViews();
387
- });
388
-
389
- it(`When \'Display character count\' checkbox is unchecked, then the \'Character\' label and count should not be displayed in ${view}`, () => {
390
- utilities.verifyElementVisibilityState(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'notExist');
391
- utilities.verifyElementVisibilityState(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'notExist');
392
- });
393
- });
394
- });
395
-
396
- views.forEach((view) => {
397
- describe(`${view}: Student view settings`, () => {
398
- abortEarlySetup();
399
- before(() => {
400
- switch (view) {
401
- case 'Question preview':
402
- shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
403
- cy.barsPreLoaderWait();
404
- shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Correct answer');
405
- shortTextResponsePage.steps.allotPoints(10);
406
- shortTextResponsePage.steps.checkAutoScaleTheResponseFieldHeightCheckbox();
407
- shortTextResponsePage.steps.checkSpellCheckCheckbox();
408
- shortTextResponsePage.steps.checkDisplayCharacterCountCheckbox();
409
- shortTextResponsePage.steps.switchToPreviewTab();
410
- break;
411
- case 'Item preview':
412
- cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
413
- itemPreviewPage.steps.switchToPreviewTab();
414
- break;
415
- case 'Student view':
416
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
417
- break;
418
- };
419
- });
420
-
421
- beforeEach(() => {
422
- switch (view) {
423
- case 'Question preview':
424
- break;
425
- case 'Item preview':
426
- shortTextResponsePage.steps.switchToGradingView();
427
- break;
428
- case 'Student view':
429
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
430
- break;
431
- }
432
- });
433
-
434
- if (view === 'Question preview') {
435
- after(() => {
436
- shortTextResponsePage.steps.clickOnSaveQuestionButton();
437
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
438
- itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
439
- });
440
- };
441
-
442
- it(`When \'Auto scale the response field height (no scrolling)\' checkbox is checked, then entering a long text in the input field should display the entire text in the response input field, and the height of the response input field should automatically resize according to the entered text in the ${view}`, () => {
443
- shortTextResponsePage.steps.verifyAutoScaleHeightOfResponseFieldFunctionalityPreviewTab('Enabled');
444
- });
445
-
446
- it(`When the \'Spell check\' functionality is enabled, the response field should have \'spellcheck\' attribute set as \'true\' in the ${view}`, () => {
447
- shortTextResponsePage.steps.verifySpellCheckOfResponseFieldEnabledInAllViews();
448
- });
449
-
450
- it(`When \'Display character count\' checkbox is checked, then the \'Character\' label and count should be displayed and count should be zero by default in the ${view}`, () => {
451
- utilities.verifyInnerText(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'Characters: 0');
452
- utilities.verifyElementVisibilityState(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'visible');
453
- });
454
-
455
- it(`When user enters text in response field, then character count should be updated in the ${view}`, () => {
456
- shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTabNew('Flowers are blooming');
457
- utilities.verifyInnerText(shortTextResponsePage.characterWordCountLabelPreviewTab(), 'Characters: 20');
458
- });
459
- });
460
- });
461
333
  });
@@ -54,14 +54,7 @@ const steps = {
54
54
  verifyQuestionInstructionsInputFieldForPrintDisabledState: () => {
55
55
  printPreviewComponent.questionInstructionsInputFieldForPrint()
56
56
  .should('have.attr', 'contenteditable', 'false');
57
- },
58
-
59
- addTextInQuestionInstructionsInputFieldForPrint: (text) => {
60
- printPreviewComponent.questionInstructionsInputFieldForPrint()
61
- .clear()
62
- .type(text)
63
- .should('have.text', text);
64
- },
57
+ }
65
58
 
66
59
  };
67
60
 
@@ -1,4 +1,4 @@
1
- import { createQuestionBasePage, autoScoredStudentViewSettings, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, questionInstructionsComponent, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, additionalSettingsPanel, acceptedStudentInputComponent, studentViewSettingsLabelComponent, customizeSpecialCharacterComponent, studentResponseAndLayoutComponent, printPreviewComponent } from "./components/";
1
+ import { createQuestionBasePage, autoScoredStudentViewSettings, autoScoredScoringPreviewTab, scoringSectionBaseEditTab, questionInstructionsComponent, autoScoredScoringSectionMultiResponseType, autoScoredSpecifyCorrectAnswerSection, commonComponents, additionalSettingsPanel, acceptedStudentInputComponent, studentViewSettingsLabelComponent, customizeSpecialCharacterComponent, studentResponseAndLayoutComponent } from "./components/";
2
2
  import { dialogBoxBase } from "./dialogBoxBase";
3
3
  import utilities from "../support/helpers/utilities";
4
4
  import { createItemPage } from "./createItemPage";
@@ -16,8 +16,6 @@ const selectors = {
16
16
  ...commonComponents,
17
17
  ...additionalSettingsPanel,
18
18
  ...createQuestionBasePage,
19
- ...printPreviewComponent,
20
- ...autoScoredScoringSectionMultiResponseType,
21
19
 
22
20
  answerLabelSpecifyCorrectAnswerSection: () => cy.get('.answer-label'),
23
21
  displayCharacterCountLabel: () => cy.get('[data-ngie-testid="display-character-count-checkbox"] .MuiFormControlLabel-label'),
@@ -94,23 +92,6 @@ const selectors = {
94
92
  ariaLabelLabel: () => cy.get('.aria-label-wrapper .title-casing'),
95
93
  ariaLabelInputField: () => cy.get('.aria-label-wrapper [role="textbox"]'),
96
94
  questionInstructionsTextPreviewTab: () => cy.get('.question-instruction:visible'),
97
- displayLinesForTheResponseLabel: () => cy.get('label[aria-label*="Display lines for the response"]'),
98
- displayLinesForTheResponseCheckbox: () => cy.get('input[aria-label*="Display lines for the response"]'),
99
- numberOfLinesInputField: () => cy.get('[aria-labelledby*="number-of-lines"]'),
100
- numberOfLinesLabel: () => cy.get('.number-of-lines-label'),
101
- lineSpacingLabel: () => cy.get('[id="Line-Spacing-dropdown-label"]'),
102
- lineSpacingDropdown: () => cy.get('.print-layout-settings-detail-wrapper [aria-label*="Line Spacing"]'),
103
- lineSpacingDropdownListOptions: (ariaLabel = null) => {
104
- if (ariaLabel) {
105
- return cy.get(`[aria-labelledby*="Line-Spacing-dropdown-label Line-Spacing-placeholder"] [role="option"][aria-label*="${ariaLabel}"]`)
106
- } else {
107
- return cy.get('[aria-labelledby*="Line-Spacing-dropdown-label Line-Spacing-placeholder"] [role="option"]')
108
- }
109
- },
110
- numberOfLinesInPrintView: () => cy.get('.student-view [class*="ShortTextResponsePreviewstyle__OptionsWrapper"] [class*="ShortTextResponsePreviewstyle__Line"],[class*="ShortTextResponsePreviewstyle__Question"] [class*="ShortTextResponsePreviewstyle__Line"]'),
111
- answerResponseInputField: () => cy.get('[aria-label*="Enter your response to the question here "]'),
112
- answerResponseInputFieldWrapper: () => cy.get('.additional-option-placeholder-input input,.additional-option-placeholder-input textarea'),
113
- answerInputField: () => cy.get('.additional-option-placeholder-input'),
114
95
  }
115
96
 
116
97
  const steps = {
@@ -125,8 +106,6 @@ const steps = {
125
106
  ...additionalSettingsPanel.steps,
126
107
  ...autoScoredSpecifyCorrectAnswerSection.steps,
127
108
  ...createItemPage.steps,
128
- ...printPreviewComponent.steps,
129
- ...autoScoredScoringSectionMultiResponseType.steps,
130
109
 
131
110
  verifyCorrectIcon: () => {
132
111
  utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'visible');
@@ -200,16 +179,6 @@ const steps = {
200
179
  .type(text);
201
180
  },
202
181
 
203
- /**
204
- * @param {string} text text to entered in response input field
205
- * @description enters text in answer input field
206
- */
207
- enterTextInAnswerInputField: (text) => {
208
- shortTextResponsePage.answerResponseInputField()
209
- .clear()
210
- .type(text);
211
- },
212
-
213
182
  clearAndFocusOutOfSpecifyCorrectAnswerInputField: () => {
214
183
  shortTextResponsePage.answerInputFieldSpecifyCorrectAnswerSection()
215
184
  .clear()
@@ -844,14 +813,6 @@ const steps = {
844
813
  steps.verifyClipboardFunctionButtonUnselectedState(index);
845
814
  },
846
815
 
847
- deselectAllClipboardFunctionButton: () => {
848
- for (let index = 0; index < 3; index++) {
849
- shortTextResponsePage.clipboardFunctionButton(index)
850
- .click();
851
- steps.verifyClipboardFunctionButtonUnselectedState(index);
852
- }
853
- },
854
-
855
816
  enterTextInPlaceholderTextInputField: (text) => {
856
817
  shortTextResponsePage.placeholderTextInputField()
857
818
  .clear()
@@ -938,99 +899,7 @@ const steps = {
938
899
  verifyFlagThisItemNonAccessibleCheckboxIsUnchecked: () => {
939
900
  shortTextResponsePage.flagNonAccessibleCheckbox()
940
901
  .should('not.be.checked');
941
- },
942
-
943
- verifyDisplayLinesForTheResponseCheckboxUnchecked: () => {
944
- shortTextResponsePage.displayLinesForTheResponseCheckbox()
945
- .should('not.be.checked');
946
- },
947
-
948
- verifyDisplayLinesForTheResponseCheckboxChecked: () => {
949
- shortTextResponsePage.displayLinesForTheResponseCheckbox()
950
- .should('be.checked');
951
- },
952
-
953
- checkDisplayLinesForTheResponseCheckbox: () => {
954
- shortTextResponsePage.displayLinesForTheResponseCheckbox()
955
- .click()
956
- steps.verifyDisplayLinesForTheResponseCheckboxChecked();
957
- },
958
-
959
- uncheckDisplayLinesForTheResponseCheckbox: () => {
960
- shortTextResponsePage.displayLinesForTheResponseCheckbox()
961
- .click();
962
- steps.verifyDisplayLinesForTheResponseCheckboxUnchecked();
963
- },
964
-
965
- expandLineSpacingDropdown: () => {
966
- shortTextResponsePage.lineSpacingDropdown()
967
- .click();
968
- },
969
-
970
- selectLineSpacingDropdownOption: (option) => {
971
- shortTextResponsePage.lineSpacingDropdownListOptions(option)
972
- .click();
973
- utilities.verifyInnerText(shortTextResponsePage.lineSpacingDropdown(), option);
974
- },
975
-
976
- addValueInNumberOfLinesInputField: (value) => {
977
- shortTextResponsePage.numberOfLinesInputField()
978
- .clear()
979
- .type(value)
980
- .should('have.value', value);
981
- },
982
-
983
- verifyNumberOfLinesInPrintView: (expectedLines, expectedLineHeight) => {
984
- shortTextResponsePage.numberOfLinesInPrintView()
985
- .should('have.length', expectedLines)
986
- .each(($line) => {
987
- cy.wrap($line).should('have.css', 'height', expectedLineHeight);
988
- });
989
- },
990
-
991
- copyTextFromAnswerResponseField: () => {
992
- shortTextResponsePage.answerResponseInputField()
993
- .focus()
994
- .type('{selectall}')
995
- .realPress(['Control', 'c']);
996
- },
997
-
998
- cutTextFromAnswerResponseField: () => {
999
- shortTextResponsePage.answerResponseInputField()
1000
- .focus()
1001
- .type('{selectall}')
1002
- .realPress(['Control', 'x']);
1003
- },
1004
-
1005
- pasteTextFromAnswerResponseField: () => {
1006
- shortTextResponsePage.answerResponseInputField()
1007
- .focus()
1008
- .type('{selectall}')
1009
- .realPress(['Control', 'c'])
1010
- .realPress(['Control', 'v']);
1011
- },
1012
-
1013
- verifySpellCheckOfResponseFieldDisabledInAllViews: () => {
1014
- shortTextResponsePage.answerResponseInputFieldWrapper()
1015
- .should('have.prop', 'spellcheck', false);
1016
- },
1017
-
1018
- verifySpellCheckOfResponseFieldEnabledInAllViews: () => {
1019
- shortTextResponsePage.answerInputField()
1020
- .should('have.prop', 'spellcheck', true);
1021
- },
1022
-
1023
- /**
1024
- * @param {string} text text to be entered in response field preview tab
1025
- * @description enters text in preview tab response field
1026
- *
1027
- */
1028
- enterTextInAnswerInputFieldPreviewTabNew: (text) => {
1029
- shortTextResponsePage.answerResponseInputFieldWrapper()
1030
- .eq(0)
1031
- .clear()
1032
- .type(text);
1033
- },
902
+ }
1034
903
  }
1035
904
 
1036
905
  const tests = {
@@ -1046,7 +915,6 @@ const tests = {
1046
915
  ...additionalSettingsPanel.tests,
1047
916
  ...autoScoredSpecifyCorrectAnswerSection.tests,
1048
917
  ...studentResponseAndLayoutComponent.tests,
1049
- ...printPreviewComponent.tests,
1050
918
 
1051
919
  /**
1052
920
  * Verifies the contents and functionality of the 'Specify correct answer' accordion for multiple selection questions.
@@ -1063,11 +931,15 @@ const tests = {
1063
931
  utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'notExist');
1064
932
  });
1065
933
 
934
+ autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredCorrectAnswerErrorMessageCSSAndA11y();
935
+
1066
936
  it('When gives an input to \'Answer\' input field,then error message should disappear', () => {
1067
937
  shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Nature');
1068
938
  commonComponents.steps.verifyErrorMessageIsNotDisplayed();
1069
939
  });
1070
940
 
941
+ autoScoredSpecifyCorrectAnswerSection.tests.verifyAutoScoredPointsErrorMessageWhenPointsFieldIsEmpty(accordionName);
942
+
1071
943
  it(`CSS of ${accordionName} accordion contents`, { tags: 'css' }, () => {
1072
944
  utilities.verifyCSS(utilities.getNthElement(shortTextResponsePage.correctAnswerAccordionLabel(), 0), {
1073
945
  'color': css.color.accordionLabel,
@@ -1087,67 +959,6 @@ const tests = {
1087
959
  utilities.verifyElementCount(shortTextResponsePage.answerInputFieldSpecifyCorrectAnswerSection(), 1);
1088
960
  });
1089
961
  },
1090
-
1091
- verifyPrintLayoutSettingsAccordionAdditionalContent: () => {
1092
- const lineSpacingDropdownOptions = ['Single', 'Double'];
1093
- it('\'Display lines for the response\' label should be displayed', () => {
1094
- utilities.verifyInnerText(shortTextResponsePage.displayLinesForTheResponseLabel(), 'Display lines for the response');
1095
- utilities.verifyElementVisibilityState(shortTextResponsePage.displayLinesForTheResponseLabel(), 'visible');
1096
- });
1097
-
1098
- it('Display lines for the response checkbox should be displayed and by default checked', () => {
1099
- utilities.verifyElementVisibilityState(shortTextResponsePage.displayLinesForTheResponseCheckbox(), 'exist');
1100
- steps.verifyDisplayLinesForTheResponseCheckboxChecked();
1101
- });
1102
-
1103
- it('CSS of \'Display lines for the response\' section', { tags: 'css' }, () => {
1104
- utilities.verifyCSS(shortTextResponsePage.displayLinesForTheResponseLabel(), {
1105
- 'color': css.color.labelText,
1106
- 'font-size': css.fontSize.normal,
1107
- 'font-weight': css.fontWeight.regular
1108
- });
1109
- });
1110
-
1111
- it('Accessibility of \'Display lines for the response\' section', { tags: 'a11y' }, () => {
1112
- cy.checkAccessibility(shortTextResponsePage.displayLinesForTheResponseLabel().parents('.print-layout-settings-container'));
1113
- });
1114
-
1115
- it('User should be able to check and uncheck the \'Display lines for the response\' checkbox', () => {
1116
- steps.uncheckDisplayLinesForTheResponseCheckbox();
1117
- steps.checkDisplayLinesForTheResponseCheckbox();
1118
- });
1119
-
1120
- it('Number of lines label and input field should be displayed when \'Display lines for the response\' checkbox is checked', () => {
1121
- utilities.verifyInnerText(shortTextResponsePage.numberOfLinesLabel(), 'Number of lines');
1122
- utilities.verifyElementVisibilityState(shortTextResponsePage.numberOfLinesLabel(), 'visible');
1123
- utilities.verifyElementVisibilityState(shortTextResponsePage.numberOfLinesInputField(), 'exist');
1124
- });
1125
-
1126
- it('User should be able to enter value in Number of lines input field', () => {
1127
- shortTextResponsePage.steps.addValueInNumberOfLinesInputField('5');
1128
- });
1129
-
1130
- it(`\'Line Spacing\' label should be displayed and \'Line Spacing\' dropdown should be displayed and in \'Line Spacing\' dropdown \'${lineSpacingDropdownOptions[0]}\' option should be selected by default`, () => {
1131
- utilities.verifyInnerText(shortTextResponsePage.lineSpacingLabel(), 'Line spacing');
1132
- utilities.verifyElementVisibilityState(shortTextResponsePage.lineSpacingDropdown(), 'visible');
1133
- utilities.verifyInnerText(shortTextResponsePage.lineSpacingDropdown(), lineSpacingDropdownOptions[0]);
1134
- });
1135
-
1136
- it(`\'Line Spacing\' dropdown should have the following options: ${lineSpacingDropdownOptions.join(', ')}`, () => {
1137
- steps.expandLineSpacingDropdown()
1138
- lineSpacingDropdownOptions.forEach((option, count) => {
1139
- utilities.verifyInnerText(shortTextResponsePage.lineSpacingDropdownListOptions().eq(count), option)
1140
- });
1141
- shortTextResponsePage.steps.selectLineSpacingDropdownOption('Double')
1142
- });
1143
-
1144
- it('User should be able to select options from Line Spacing dropdown', () => {
1145
- lineSpacingDropdownOptions.forEach((option) => {
1146
- shortTextResponsePage.steps.expandLineSpacingDropdown();
1147
- shortTextResponsePage.steps.selectLineSpacingDropdownOption(option)
1148
- });
1149
- });
1150
- },
1151
962
  }
1152
963
 
1153
964
  export const shortTextResponsePage = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.574-IEI-7071-main-360bc22.0",
3
+ "version": "1.0.574-scoring-fix-dd14c63.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,63 +0,0 @@
1
- import { shortTextResponsePage } from "../../../../pages/shortTextResponsePage";
2
- import abortEarlySetup from "../../../../support/helpers/abortEarly";
3
- const css = Cypress.env('css');
4
-
5
- describe('Create item page - Short text response: All or nothing with alternative answer', () => {
6
- before(() => {
7
- cy.loginAs('admin');
8
- });
9
-
10
- describe('Question preview: Auto scored - All or nothing with alternative answer - When \'Alternative answer\' points are more than \'Correct answer\' points', () => {
11
- abortEarlySetup();
12
- before(() => {
13
- shortTextResponsePage.steps.navigateToCreateQuestion('short text response');
14
- cy.barsPreLoaderWait();
15
- shortTextResponsePage.steps.addTextInQuestionInstructionsInputField('Which of the following is the major contributor to increased carbon dioxide levels because of urbanization? Select your answer from the options below.');
16
- shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Buildings');
17
- shortTextResponsePage.steps.allotPoints(10);
18
- shortTextResponsePage.steps.clickOnAddAlternativeAnswerButton();
19
- shortTextResponsePage.steps.allotPoints(20);
20
- shortTextResponsePage.steps.enterTextInAnswerInputFieldSpecifyCorrectAnswerSection('Fossil fuel combustion');
21
- shortTextResponsePage.steps.switchToPreviewTab();
22
- });
23
-
24
- it('When the user selects \'Grading\' view without attempting the question, correct/incorrect icons should not be displayed and answer input field should have incorrect answer border and correct answer section should be displayed below response input field', () => {
25
- shortTextResponsePage.steps.switchToGradingView();
26
- shortTextResponsePage.steps.verifyCorrectIncorrectBorderNotExist();
27
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Fossil fuel combustion');
28
- shortTextResponsePage.steps.switchToStudentView();
29
- });
30
-
31
- it('When the user attempts the question with response from the correct accordion, then the user should be awarded with points specified for correct accordion (less than overall points) and on switching to \'Grading\' view, correct icon should be displayed beside response input field, correct answer border should be displayed and correct answer section should not be displayed', () => {
32
- shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('Buildings');
33
- shortTextResponsePage.steps.verifyPreviewScore(10, 20);
34
- shortTextResponsePage.steps.switchToGradingView();
35
- shortTextResponsePage.steps.verifyCorrectIcon();
36
- shortTextResponsePage.steps.verifyCorrectAttemptBorder();
37
- shortTextResponsePage.steps.verifyCorrectAnswerWrapperNotExist();
38
- shortTextResponsePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
39
- });
40
-
41
- it('When the user attempts the question with response from the alternative accordion, then the user should be awarded with points specified for alternative accordion and on switching to \'Grading\' view, correct icon should be displayed beside response input field, correct answer border should be displayed and correct answer section should not be displayed', () => {
42
- shortTextResponsePage.steps.resetQuestionPreview();
43
- shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('Fossil fuel combustion');
44
- shortTextResponsePage.steps.verifyPreviewScore(20, 20);
45
- shortTextResponsePage.steps.switchToGradingView();
46
- shortTextResponsePage.steps.verifyCorrectIcon();
47
- shortTextResponsePage.steps.verifyCorrectAttemptBorder();
48
- shortTextResponsePage.steps.verifyCorrectAnswerWrapperNotExist();
49
- shortTextResponsePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
50
- });
51
-
52
- it('When the user attempts the question incorrectly, then the user should be awarded 0 points and on switching to \'Grading\' view, incorrect icon should be displayed beside response input field, incorrect answer border and correct answer section should be displayed', () => {
53
- shortTextResponsePage.steps.resetQuestionPreview();
54
- shortTextResponsePage.steps.enterTextInAnswerInputFieldPreviewTab('Fossil');
55
- shortTextResponsePage.steps.verifyPreviewScore(0, 20);
56
- shortTextResponsePage.steps.switchToGradingView();
57
- shortTextResponsePage.steps.verifyIncorrectIcon();
58
- shortTextResponsePage.steps.verifyIncorrectAttemptBorder();
59
- shortTextResponsePage.steps.verifyCorrectAnswerResponseInCorrectAnswerWrapper('Fossil fuel combustion');
60
- shortTextResponsePage.steps.verifyQuestionPreviewStateWhenSwitchingBackToStudentView();
61
- });
62
- });
63
- });