itemengine-cypress-automation 1.0.212-3JulyUpdates-c1934bd.0 → 1.0.212

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. package/cypress/e2e/ILC/ChartsBar/allOrNothingScoringForAllViews.smoke.js +5 -5
  2. package/cypress/e2e/ILC/ChartsLine/allOrNothingScoringForAllViews.smoke.js +6 -6
  3. package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/allOrNothingBasicForAllViews.smoke.js +3 -1
  4. package/cypress/e2e/ILC/EssayResponse/studentViewSettings.js +146 -0
  5. package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/allOrNothingForAllViews.smoke.js +2 -1
  6. package/cypress/e2e/ILC/FillInTheGapsDropdownNew/allOrNothingForAllView.smoke.js +2 -1
  7. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/allOrNothingForAllViews.smoke.js +2 -1
  8. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomization.js +700 -0
  9. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCustomizationDraggableOptionsPanel.js +127 -0
  10. package/cypress/e2e/ILC/FillInTheGapsOverImageDragAndDrop/styleAndLayoutCutomizationDraggableOptionProperties.js +253 -0
  11. package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/allOrNothingForAllView.smoke.js +2 -1
  12. package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/allOrNothingForAllViews.smoke.js +2 -1
  13. package/cypress/e2e/ILC/FillInTheGapsTextNew/allOrNothingForAllViews.smoke.js +2 -1
  14. package/cypress/e2e/ILC/Graphing/allOrNothingForAllViews.smoke.js +2 -1
  15. package/cypress/e2e/ILC/GridFill/allOrNothingBasicForAllViews.smoke.js +2 -2
  16. package/cypress/e2e/ILC/ImageHighlight/allOrNothingForAllViews.smoke.js +2 -2
  17. package/cypress/e2e/ILC/ListOrderingNew/allOrNothingForAllViews.smoke.js +3 -6
  18. package/cypress/e2e/ILC/Matching/allOrNothingScoringForAllViews.smoke.js +3 -1
  19. package/cypress/e2e/ILC/MatchingDropdown/allOrNothingScoringForAllViews.smoke.js +261 -0
  20. package/cypress/e2e/ILC/MatchingDropdown/previewContentsForAllViews.smoke.js +124 -0
  21. package/cypress/e2e/ILC/MultipleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +3 -1
  22. package/cypress/e2e/ILC/NumberLine/allOrNothingScoringForAllViews.smoke.js +3 -1
  23. package/cypress/e2e/ILC/NumberLineLabel/allOrNothingForAllViews.smoke.js +3 -2
  24. package/cypress/e2e/ILC/ReadingRuler/readingrulerPreviewContents.smoke.js +2 -2
  25. package/cypress/e2e/ILC/ShortTextResponseNew/allOrNothingBasicForAllViews.smoke.js +2 -2
  26. package/cypress/e2e/ILC/SingleSelectionGridNew/allOrNothingBasicForAllViews.smoke.js +2 -1
  27. package/cypress/e2e/ILC/TextEntryMath/allOrNothingBasicForAllViews.smoke.js +1 -1
  28. package/cypress/e2e/ILC/TextEntryMathWithImage/allOrNothingScoringForAllViews.smoke.js +1 -1
  29. package/cypress/e2e/ILC/TextSelection/allOrNothingScoringForAllViews.smoke.js +1 -0
  30. package/cypress/e2e/ILC/chartsDotsPlot/allOrNothingForAllViews.smoke.js +7 -7
  31. package/cypress/pages/chartsDotPlotPage.js +22 -0
  32. package/cypress/pages/chartsLinePage.js +1 -0
  33. package/cypress/pages/essayResponsePage.js +73 -1
  34. package/cypress/pages/fillInTheGapsOverImageDragAndDropPage.js +550 -3
  35. package/cypress/pages/graphingPage.js +4 -0
  36. package/cypress/pages/matchingPage.js +189 -1
  37. package/package.json +2 -2
@@ -41,6 +41,14 @@ const selectors = {
41
41
  dropzoneColumnHeaderSpecifyCorrectAnswerSection: () => cy.get('.MuiAccordion-region [class*="ClozeWithDragAndDropstyles__HeaderContainer"]').eq(1),
42
42
  dropzoneColumnHeaderPreviewTab: () => cy.get('.preview-container [class*="ClozeWithDragAndDropstyles__HeaderContainer"]').eq(1),
43
43
  dropzoneColumnAndPromptHeaderWrapperSpecifyCorrectAnswerSection: () => cy.get('.correct-answer-accordion [class*="ClozeWithDragAndDropstyles__ResponseHeaderWrapper"]'),
44
+ optionsLayoutToggleButton: (ariaLabel = null) => {
45
+ if (ariaLabel) {
46
+ return cy.get(`.MuiToggleButtonGroup-root button[aria-label*="${ariaLabel}"]`)
47
+ } else {
48
+ return cy.get('.MuiToggleButtonGroup-root button')
49
+ }
50
+ },
51
+ optionInputFieldDropdown: () => cy.get('.edit-mcq-options-wrapper [data-rbd-draggable-id*="option-draggable"] [type="text"]'),
44
52
  //Specify correct answer section
45
53
  dropzoneSpecifyCorrectAnswerSection: () => cy.get('.correct-answer-wrapper .authoring-droppable-hotspot-wrapper'),
46
54
  dropzoneWrapperSpecifyCorrectAnswerSection: () => cy.get('.match-list-form-control-wrapper-preview .authoring-droppable-hotspot-wrapper'),
@@ -52,7 +60,17 @@ const selectors = {
52
60
  draggableOptionInDropzoneInSpecifyCorrectAnswer: () => cy.get('.item-content-wrapper'),
53
61
  droppedDraggableOptionInDropzoneSpecifyCorrectAnswerSection: () => cy.get('[class*="MultipleDroppedItemstyles__ItemWrapper"]'),
54
62
  optionsContainerSpecifyCorrectAnswerSection: () => cy.get('.draggable-wrapper'),
55
-
63
+ dropdownSpecifyCorrectAnswerSection: () => cy.get('.correct-answer-wrapper [aria-haspopup="listbox"]'),
64
+ dropdownPreviewTab: () => cy.get('[class*="ResponseDropdownComponentstyles__ResponseDropdownWrapper"] [aria-haspopup="listbox"]'),
65
+ dropdownList: () => cy.get('.dropdown-list-ul'),
66
+ dropdownWrapperPreviewTab: () => cy.get('[class*="ResponseDropdownComponentstyles__ResponseDropdownWrapper"]'),
67
+ dropdownListOptions: (ariaLabel = null) => {
68
+ if (ariaLabel) {
69
+ return cy.get(`.dropdown-list-ul .dropdown-menu-item[aria-label*="${ariaLabel}"]`)
70
+ } else {
71
+ return cy.get('.dropdown-list-ul .dropdown-menu-item')
72
+ }
73
+ },
56
74
  //Penalty points
57
75
  penaltyPointsForEachIncorrectDropzoneInputField: () => cy.get('input[aria-label="Penalty points for each incorrect dropzone"]'),
58
76
  specifyPointsForEachIncorrectDropzoneRadioButton: () => cy.get('input[aria-label*="Specify points for each incorrect"]'),
@@ -70,6 +88,7 @@ const selectors = {
70
88
  dropzoneNumerationPreviewTab: () => cy.get('[class*="MultipleDroppableHotspotstyle__NumerationDiv"]'),
71
89
  dropzoneOptionPreviewTab: () => cy.get('[class*="MultipleDroppedItemstyles__FlexWrapper"]'),
72
90
  dropzoneNumeration: () => cy.get('[class*="NumerationDiv"]'),
91
+ dropdownNumeration: () => cy.get('[class*="ResponseDropdownComponentstyles__NumerationDiv"]'),
73
92
  correctAnswersNumeration: () => cy.get('.answer-numeration-number-box'),
74
93
  correctAnswerResponseWrapper: () => cy.get('[class*="ClozeWithDragAndDropstyles__AnswerCell"]'),
75
94
  correctAnswersOptions: () => cy.get('.match-list-drag-and-drop .question-text-wrapper'),
@@ -1355,6 +1374,175 @@ const steps = {
1355
1374
  matchingPage.optionsContainerPreviewTab()
1356
1375
  .click()
1357
1376
  },
1377
+
1378
+ /**
1379
+ * @param {string} ariaLabel - Aria label of toggle button to select.
1380
+ * @description selects a option layout toggle button
1381
+ */
1382
+ selectOptionLayoutToggleButton: (ariaLabel) => {
1383
+ matchingPage.optionsLayoutToggleButton(ariaLabel)
1384
+ .click()
1385
+ },
1386
+
1387
+ /**
1388
+ * @param {number} dropdownIndex Index of dropdown in specify correct answer
1389
+ * @description Expand dropdown in preview tab
1390
+ */
1391
+ expandDropdownInSpecifyCorrectAnswerSection: (dropdownIndex) => {
1392
+ utilities.getNthElement(matchingPage.dropdownSpecifyCorrectAnswerSection(), dropdownIndex)
1393
+ .click({ force: true });
1394
+ },
1395
+
1396
+ /**
1397
+ * @param {number} dropdownIndex Index of dropdown in preview tab
1398
+ * @description Expand dropdown in preview tab
1399
+ */
1400
+ expandDropdownInPreviewTab: (dropdownIndex) => {
1401
+ utilities.getNthElement(matchingPage.dropdownPreviewTab(), dropdownIndex)
1402
+ .click({ force: true });
1403
+ utilities.getNthElement(matchingPage.dropdownPreviewTab(), dropdownIndex)
1404
+ .should('have.attr', 'aria-expanded', 'true');
1405
+ },
1406
+
1407
+ /**
1408
+ * @param {string} dropdownOption Option to be selected from dropdown
1409
+ * @description Select option from dropdown
1410
+ */
1411
+ selectOptionFromDropdownList: (dropdownOption) => {
1412
+ matchingPage.dropdownListOptions(dropdownOption)
1413
+ .click({ force: true });
1414
+ },
1415
+
1416
+ /**
1417
+ * @param {Object[]} CorrectAnswerArray - An array of objects containing the dropdownIndex and dropdownOption to be selected.
1418
+ * @param {number} CorrectAnswerArray[].dropdownIndex - The index of dropdown in specify correct answer
1419
+ * @param {string} CorrectAnswerArray[].dropdownOption - The dropdown option to be selected from dropdown list
1420
+ * @description Select option from dropdown in preview tab
1421
+ */
1422
+ selectResponseFromDropdownInSpecifyCorrectAnswerSection: (correctAnswerArray) => {
1423
+ correctAnswerArray.forEach(({ dropdownIndex, dropdownOption }) => {
1424
+ matchingPage.steps.expandDropdownInSpecifyCorrectAnswerSection(dropdownIndex);
1425
+ matchingPage.steps.selectOptionFromDropdownList(dropdownOption);
1426
+ matchingPage.steps.verifyTextDisplayedInSpecifyCorrectAnswerSection(dropdownIndex, dropdownOption);
1427
+ });
1428
+ },
1429
+
1430
+ /**
1431
+ * @param {Object[]} CorrectAnswerArray - An array of objects containing the dropdownIndex and dropdownOption to be selected.
1432
+ * @param {number} CorrectAnswerArray[].dropdownIndex - The index of dropdown in preview tab
1433
+ * @param {string} CorrectAnswerArray[].dropdownOption - The dropdown option to be selected from dropdown list
1434
+ * @description Select option from dropdown in preview tab
1435
+ */
1436
+ selectResponseFromDropdownInPreviewTab: (correctAnswerArray) => {
1437
+ correctAnswerArray.forEach(({ dropdownIndex, dropdownOption }) => {
1438
+ matchingPage.steps.expandDropdownInPreviewTab(dropdownIndex);
1439
+ matchingPage.steps.selectOptionFromDropdownList(dropdownOption);
1440
+ matchingPage.steps.verifyTextDisplayedInDropdownPreviewTab(dropdownIndex, dropdownOption);
1441
+ });
1442
+ },
1443
+
1444
+ /**
1445
+ * @description Verifies if the specified text is displayed in the dropdown specify correct answer section.
1446
+ * @param {number} dropdownIndex - The index of the dropdown.
1447
+ * @param {string} dropdownText - The text expected to be displayed in the dropdown specify correct answer section.
1448
+ */
1449
+ verifyTextDisplayedInSpecifyCorrectAnswerSection: (dropdownIndex, dropdownText) => {
1450
+ utilities.verifyInnerText(utilities.getNthElement(matchingPage.dropdownSpecifyCorrectAnswerSection(), dropdownIndex), dropdownText);
1451
+ },
1452
+
1453
+ /**
1454
+ * @description Verifies if the specified text is displayed in the dropdown preview tab.
1455
+ * @param {number} dropdownIndex - The index of the dropdown.
1456
+ * @param {string} dropdownText - The text expected to be displayed in the dropdown preview tab.
1457
+ */
1458
+ verifyTextDisplayedInDropdownPreviewTab: (dropdownIndex, dropdownText) => {
1459
+ utilities.verifyInnerText(utilities.getNthElement(matchingPage.dropdownPreviewTab(), dropdownIndex), dropdownText);
1460
+ },
1461
+
1462
+ /**
1463
+ * @description Verifies the text content of a dropdown in the Preview Tab.
1464
+ * @param {number} dropdownIndex - Index of the dropdown to verify.
1465
+ */
1466
+ verifyDropdownIsEmptyPreviewTab: (dropdownIndex) => {
1467
+ matchingPage.dropdownPreviewTab()
1468
+ .eq(dropdownIndex)
1469
+ .should('have.text', '');
1470
+ },
1471
+
1472
+ /**
1473
+ * @description Verifies the numeration for dropdown in preview tab.
1474
+ * @param {number} index - The index of the dropdown to verify.
1475
+ */
1476
+ verifyDropdownNumeration: (index) => {
1477
+ utilities.verifyTextContent(utilities.getNthElement(matchingPage.dropdownNumeration(), index), `${index + 1}`);
1478
+ },
1479
+
1480
+ /**
1481
+ * @description Verifies the incorrect option icon for a specified dropdown in the Preview Tab.
1482
+ * @param {number} dropdownIndex - The index of the dropdown to verify.
1483
+ */
1484
+ verifyIncorrectOptionIconDropdown: (dropdownIndex) => {
1485
+ matchingPage.dropdownWrapperPreviewTab()
1486
+ .eq(dropdownIndex)
1487
+ .within(() => {
1488
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'exist');
1489
+ });
1490
+ matchingPage.dropdownWrapperPreviewTab()
1491
+ .eq(dropdownIndex)
1492
+ .find('.drop-down-parent')
1493
+ .should('have.css', 'border', `1px solid ${css.color.incorrectAnswer}`);
1494
+ },
1495
+
1496
+ /**
1497
+ * @description Verifies the correct option icon for a specified dropdown in the Preview Tab.
1498
+ * @param {number} dropdownIndex - The index of the dropdown to verify.
1499
+ */
1500
+ verifyCorrectOptionIconDropdown: (dropdownIndex) => {
1501
+ matchingPage.dropdownWrapperPreviewTab()
1502
+ .eq(dropdownIndex)
1503
+ .within(() => {
1504
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'exist');
1505
+ });
1506
+ matchingPage.dropdownWrapperPreviewTab()
1507
+ .eq(dropdownIndex)
1508
+ .find('.drop-down-parent')
1509
+ .should('have.css', 'border', `1px solid ${css.color.correctAnswer}`);
1510
+ },
1511
+
1512
+ /**
1513
+ * @description Verifies the absence of a correct/incorrect option icon for a specified option in the Preview Tab.
1514
+ * @param {number} optionIndex - The index of the option to verify.
1515
+ */
1516
+ verifyCorrectIncorrectIconNotExistDropdown: (optionIndex) => {
1517
+ matchingPage.dropdownWrapperPreviewTab()
1518
+ .eq(optionIndex)
1519
+ .within(() => {
1520
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.incorrectIcon(), 'notExist');
1521
+ utilities.verifyElementVisibilityState(autoScoredScoringPreviewTab.correctIcon(), 'notExist');
1522
+ });
1523
+ },
1524
+
1525
+ /**
1526
+ * Verify that a specific dropdown is disabled in the preview tab.
1527
+ * @param {number} dropdownIndex - The index of the disabled dropdown.
1528
+ */
1529
+ verifyDropdownIsDisabled: (dropdownIndex) => {
1530
+ utilities.verifyElementDisabledClass(utilities.getNthElement(matchingPage.dropdownPreviewTab(), dropdownIndex));
1531
+ },
1532
+
1533
+ /**
1534
+ * Enters text into multiple options input fields.
1535
+ * @param {string[]} promptTextArray - Array of text to enter into the option input fields.
1536
+ */
1537
+ enterTextInOptionInputFieldDropdown: (optionsArray) => {
1538
+ optionsArray.forEach((options, index) => {
1539
+ matchingPage.optionInputFieldDropdown()
1540
+ .eq(index)
1541
+ .clear()
1542
+ .type(options, { delay: 50 })
1543
+ .blur();
1544
+ });
1545
+ },
1358
1546
  }
1359
1547
 
1360
1548
  const tests = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.212-3JulyUpdates-c1934bd.0",
3
+ "version": "1.0.212",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -35,4 +35,4 @@
35
35
  "node-fetch": "^3.3.2",
36
36
  "react-uuid": "^2.0.0"
37
37
  }
38
- }
38
+ }