itemengine-cypress-automation 1.0.51 → 1.0.63
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/AudioPlayer/audioPlayerEditTab.js +342 -0
- package/cypress/e2e/ILC/AudioPlayer/audioPlayerEditTabAddFeatureRadioButton.js +218 -0
- package/cypress/e2e/ILC/AudioPlayer/audioPlayerEditTabTitleDescriptionAndTranscript.js +187 -0
- package/cypress/e2e/ILC/AudioPlayer/audioPlayerHeaderSection.js +73 -0
- package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTab.js +302 -0
- package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTabPlaybackPlayer.js +245 -0
- package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTabSupportedFileTypes.js +78 -0
- package/cypress/e2e/ILC/AudioPlayer/audioPlayerPreviewTabTitleDescriptionAndTranscript.js +248 -0
- package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsAnswerNumeration.js +206 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsBasic.js +222 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsResponseAccordions.js +366 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAllOrNothingWithAlternateAnswer.js +624 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialDifferentWeightsWithAlternateAnswer.js +865 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialEqualWeightsWithAlternateAnswer.js +763 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownSupportedFileTypes.js +86 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingAlternatePointsMoreThanCorrectPoints.js +213 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingCorrectPointsEqualToAlternatePoints.js +215 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingCorrectPointsMoreThanAlternatePoints.js +215 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/allOrNothingScoring.js +187 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/manualAndNonScored.js +162 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsAlternatePointsMoreThanCorrectPoints.js +316 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsCorrectEqualToAlternatePoints.js +385 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsCorrectPointsMoreThanAlternatePoints.js +316 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/partialDifferentWeightsScoring.js +245 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsAlternatePointsMoreThanCorrectPoints.js +250 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsCorrectPointEqualToAlternatePoints.js +266 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsCorrectPointsMoreThanAlternatePoints.js +250 -0
- package/cypress/e2e/ILC/Highlight/HighlightScoring/partialEqualWeightsScoring.js +226 -0
- package/cypress/e2e/ILC/Highlight/highlightAdditionalSettingsBasic.js +221 -0
- package/cypress/e2e/ILC/Highlight/highlightAdditionalSettingsMaximumNumberOfAnswers.js +137 -0
- package/cypress/e2e/ILC/Highlight/highlightBasicScoringForTextSelectionTypes.js +457 -0
- package/cypress/e2e/ILC/Highlight/highlightColorLibraryFlyout.js +143 -0
- package/cypress/e2e/ILC/Highlight/highlightEditTabScoringSection.js +361 -0
- package/cypress/e2e/ILC/Highlight/highlightHeaderSection.js +91 -0
- package/cypress/e2e/ILC/Highlight/highlightQuestionInstructionsAndQuestion.js +178 -0
- package/cypress/e2e/ILC/Highlight/highlightScoringSectionBasic.js +21 -0
- package/cypress/e2e/ILC/Highlight/highlightSetCorrectAnswerSection.js +204 -0
- package/cypress/e2e/ILC/Highlight/highlightTextSelectionDropdownAndHighlightOptionsSection.js +175 -0
- package/cypress/e2e/ILC/Highlight/highlightTextSelectionTypeInPreviewTab.js +237 -0
- package/cypress/e2e/ILC/Highlight/highlightTextSelectionTypeInSetCorrectAnswerSection.js +341 -0
- package/cypress/e2e/ILC/Highlight/highlightTextSelectionTypesInHighlightOptionsSection.js +375 -0
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAdditionalSettingsBasic.js +11 -5
- package/cypress/e2e/ILC/MultipleSelectionGrid/{multipleSelectionGridQuestionStemAdditionalSettings.js → multipleSelectionGridAdditionalSettingsQuestionStem.js} +0 -11
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +263 -0
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingCorrectPointsEqualToAlternatePoints.js +263 -0
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +261 -0
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +340 -0
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +310 -0
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +341 -0
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +313 -0
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +285 -0
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +316 -0
- package/cypress/e2e/ILC/ReadingRuler/readingRulerEditTabBasicsSection.js +185 -0
- package/cypress/e2e/ILC/ReadingRuler/readingRulerHeaderSection.js +55 -0
- package/cypress/e2e/ILC/ReadingRuler/readingRulerPreviewTab.js +257 -0
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingAlternatePointsGreaterThanCorrectPoints.js +173 -0
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingCorrectPointsEqualToAlternatePoints.js +179 -0
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +174 -0
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsAlternatePointsGreaterThanCorrectPoints.js +247 -0
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsCorrectPointsEqualToAlternatePoints.js +219 -0
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsCorrectPointsGreaterThanAlternatePoints.js +246 -0
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsAlternatePointsGreaterThanCorrectPoints.js +225 -0
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsCorrectPointsEqualToAlternatePoints.js +197 -0
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsCorrectPointsGreaterThanAlternatePoints.js +226 -0
- package/cypress/e2e/ILC/VideoResponse/videoResponseAdditionalSettings.js +135 -0
- package/cypress/e2e/ILC/VideoResponse/videoResponseAdditionalSettingsBasic.js +88 -0
- package/cypress/e2e/ILC/VideoResponse/videoResponseEditTabBasic.js +78 -0
- package/cypress/e2e/ILC/VideoResponse/videoResponseHeaderSection.js +74 -0
- package/cypress/e2e/ILC/VideoResponse/videoResponsePreviewTab.js +627 -0
- package/cypress/e2e/ILC/VideoResponse/videoResponseScoringSection.js +76 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAddResponseContainer.js +230 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettings.js +247 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAllOrNothingScoring.js +352 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownConditionalCheckboxes.js +258 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditAriaLabelCheckbox.js +134 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditTabBasicSection.js +132 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownEditTabScoringSection.js +237 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownHeaderSection.js +113 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownImageProperties.js +156 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownManualAndNonScoredScoring.js +165 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownOptionsForResponse.js +303 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialDifferentWeightsScoring.js +372 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPartialEqualWeightsScoring.js +371 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownPreviewTab.js +77 -0
- package/cypress/e2e/ILC/fillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownSetCorrectAnswerSection.js +117 -0
- package/cypress/pages/dragAndDropIntoCategoriesAllOrNothingScoring.js +1 -1
- package/package.json +1 -1
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridAllOrNothingWithAlternateAnswer.js +0 -731
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialDifferentWeightsWithAlternateAnswer.js +0 -942
- package/cypress/e2e/ILC/MultipleSelectionGrid/multipleSelectionGridPartialEqualWeightsWithAlternateAnswer.js +0 -864
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridAllOrNothingWithAlternateAnswer.js +0 -472
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialDifferentWeightsWithAlternateAnswer.js +0 -662
- package/cypress/e2e/ILC/SingleSelectionGrid/singleSelectionGridPartialEqualWeightsWIthAlternateAnswer.js +0 -595
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothing.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCell.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCellAlternatePointsGreaterThanCorrectPoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCellCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachCellCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponse.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponseAlternatePointsGreaterThanCorrectPoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponseCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsPartialScoreForEachResponseCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCell.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCellsAlternatePointsGreaterThanCorrectPoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCellsCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenCellsCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponses.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponsesAlternatePointsGreaterThanCorrectPoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponsesCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/groupedOptionsTotalScoreDividedBetweenResponsesCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothing.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothingCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardAllOrNothingCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCell.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCellAlternatePointsGreaterThanCorrectPoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCellCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachCellCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponse.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponseAlternatePointsGreaterThanCorrectPoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponseCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardPartialScoreForEachResponseCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCell.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCellAlternatePointsGreaterThanCorrectPoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCellCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenCellCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponse.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponseAlternatePointsGreaterThanCorrectPoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponseCorrectPointsEqualToAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/DragAndDropIntoCategories/{dragAndDropIntoCategoriesScoringFiles → dragAndDropIntoCategoriesScoring}/standardTotalScoreDividedBetweenResponseCorrectPointsGreaterThanAlternatePoints.js +0 -0
- /package/cypress/e2e/ILC/MultipleSelectionGrid/{multipleSelectionGridOptionsAdditionalSettings.js → multipleSelectionAdditionalSettingsGridOptions.js} +0 -0
@@ -0,0 +1,134 @@
|
|
1
|
+
import { fillInTheGapsOverImageDropdownPage } from "../../../pages";
|
2
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
3
|
+
import utilities from "../../../support/helpers/utilities";
|
4
|
+
const css = Cypress.env('css');
|
5
|
+
|
6
|
+
describe('Create item page - Fill in the gaps over image - dropdown: Edit aria-label checkbox', () => {
|
7
|
+
before(() => {
|
8
|
+
cy.loginAs('admin');
|
9
|
+
});
|
10
|
+
|
11
|
+
describe('Edit aria-label in edit tab', () => {
|
12
|
+
abortEarlySetup();
|
13
|
+
before(() => {
|
14
|
+
cy.log('Navigate to fill in the gaps over image - dropdown question type');
|
15
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
16
|
+
cy.barsPreLoaderWait();
|
17
|
+
fillInTheGapsOverImageDropdownPage.steps.addQuestionInstructions();
|
18
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
19
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
|
20
|
+
});
|
21
|
+
|
22
|
+
it('When the user uploads an image in image section, then \'Edit aria-labels for response containers\' checkbox and label should be displayed in the image properties in disabled state', () => {
|
23
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDisabledStateOfEditAriaLabelsForResponseContainersCheckbox();
|
24
|
+
});
|
25
|
+
|
26
|
+
it('When the user adds a response container in the image, then \'Edit aria-labels for response containers\' checkbox should be enabled and by default it should be unchecked', () => {
|
27
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
28
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDefaultEnabledStateOfEditAriaLabelsForResponseContainersCheckbox();
|
29
|
+
});
|
30
|
+
|
31
|
+
it('CSS of \'Edit aria-labels for response containers\' label', { tags: 'css' }, () => {
|
32
|
+
utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.editAriaLabelForResponseContainersLabel(), {
|
33
|
+
'color': css.color.labelText,
|
34
|
+
'font-size': css.fontSize.normal,
|
35
|
+
'font-weight': css.fontWeight.regular
|
36
|
+
});
|
37
|
+
});
|
38
|
+
|
39
|
+
it('Accessibility of \'Edit aria-labels for response containers\' checkbox', { tags: 'a11y' }, () => {
|
40
|
+
cy.checkAccessibility(fillInTheGapsOverImageDropdownPage.editAriaLabelForResponseContainersCheckbox());
|
41
|
+
});
|
42
|
+
|
43
|
+
it('When the user checks the \'Edit aria-labels for response containers\' checkbox, then a label \'ARIA labels\' and an input field with numeration and placeholder text \'Enter label\' should be displayed', () => {
|
44
|
+
fillInTheGapsOverImageDropdownPage.steps.checkEditAriaLabelCheckbox();
|
45
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.ariaLabelsLabel(), 'visible');
|
46
|
+
utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.ariaLabelsLabel(), 'ARIA labels');
|
47
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyEditAriaLabelInputFieldContents(1);
|
48
|
+
});
|
49
|
+
|
50
|
+
it('CSS of \'ARIA labels\' label and input fields', { tags: 'css' }, () => {
|
51
|
+
utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.ariaLabelsLabel(), {
|
52
|
+
'color': css.color.labels,
|
53
|
+
'font-size': css.fontSize.normal,
|
54
|
+
'font-weight': css.fontWeight.semibold
|
55
|
+
});
|
56
|
+
utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.ariaLabelsInputFieldNumeration(), {
|
57
|
+
'color': css.color.labels,
|
58
|
+
'font-size': css.fontSize.default,
|
59
|
+
'font-weight': css.fontWeight.semibold
|
60
|
+
});
|
61
|
+
utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.ariaLabelsInputField(), {
|
62
|
+
'color': css.color.text,
|
63
|
+
'font-size': css.fontSize.default,
|
64
|
+
'font-weight': css.fontWeight.regular
|
65
|
+
});
|
66
|
+
});
|
67
|
+
|
68
|
+
it('Accessibility of \'ARIA labels\' input fields', { tags: 'a11y' }, () => {
|
69
|
+
cy.checkAccessibility(fillInTheGapsOverImageDropdownPage.ariaLabelsInputField());
|
70
|
+
});
|
71
|
+
|
72
|
+
it('When the user adds another response container to the uploaded image, a input field should be added in the \'Edit aria-labels for response container section\' with the numeration \'2\'', () => {
|
73
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
74
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyEditAriaLabelInputFieldContents(2);
|
75
|
+
});
|
76
|
+
|
77
|
+
it('When the user removes a response container from the uploaded image, the edit aria-label response field corresponding to the removed response container should not be displayed and the remaining edit aria-label input field should be displayed with updated numeration', () => {
|
78
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnResponseContainerCloseButton(0);
|
79
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyEditAriaLabelInputFieldContents(1);
|
80
|
+
});
|
81
|
+
|
82
|
+
//Failing due to https://redmine.zeuslearning.com/issues/547409
|
83
|
+
it('When the user has not given any input to the edit aria-label input field, the aria-label attribute for response container in image section should be \'Response #\' and aria-label attribute for response dropdown in set correct answer section should be \'Add answer for Response #\'', () => {
|
84
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerAriaLabelAttribute(0, 'Response 1');
|
85
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDropdownAriaLabelAttributeInSetCorrectAnswerSection(0, 'Add answer for Response 1');
|
86
|
+
});
|
87
|
+
|
88
|
+
it('When the user enters text in the edit aria-label input field, the added text should appear as the aria-label attribute of the response container in the uploaded image and response dropdown in the set correct answer section', () => {
|
89
|
+
fillInTheGapsOverImageDropdownPage.steps.enterTextInEditAriaLabelInputField(0, 'Custom aria-label');
|
90
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerAriaLabelAttribute(0, 'Custom aria-label');
|
91
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDropdownAriaLabelAttributeInSetCorrectAnswerSection(0, 'Custom aria-label');
|
92
|
+
});
|
93
|
+
|
94
|
+
it('When the user clears the text in the edit aria-label input field, the aria-label attribute of the response container in the uploaded image should again appear as \'Response #\' and aria-label attribute of the response dropdown in the set correct answer section should again appear as \'Add answer for Response #\'', () => {
|
95
|
+
fillInTheGapsOverImageDropdownPage.steps.clearEditAriaLabelInputField(0);
|
96
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyResponseContainerAriaLabelAttribute(0, 'Response 1');
|
97
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDropdownAriaLabelAttributeInSetCorrectAnswerSection(0, 'Add answer for Response 1');
|
98
|
+
});
|
99
|
+
});
|
100
|
+
|
101
|
+
describe('Edit aria-label in preview tab', () => {
|
102
|
+
abortEarlySetup();
|
103
|
+
before(() => {
|
104
|
+
cy.log('Navigate to fill in the gaps over image - dropdown question type');
|
105
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
106
|
+
cy.barsPreLoaderWait();
|
107
|
+
fillInTheGapsOverImageDropdownPage.steps.addQuestionInstructions();
|
108
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
109
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
|
110
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
111
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
112
|
+
});
|
113
|
+
|
114
|
+
//Failing due to https://redmine.zeuslearning.com/issues/547409
|
115
|
+
it('When the user has not given any input to the edit aria-label input field, the aria-label attribute for response dropdown in preview tab should be \'Response #\'', () => {
|
116
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDropdownAriaLabelAttributeInPreviewTab(0, 'Response 1');
|
117
|
+
});
|
118
|
+
|
119
|
+
it('When the user enters text in the edit aria-label input field, the added text should appear as the aria-label attribute of the response dropdown in preview tab', () => {
|
120
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
|
121
|
+
fillInTheGapsOverImageDropdownPage.steps.checkEditAriaLabelCheckbox();
|
122
|
+
fillInTheGapsOverImageDropdownPage.steps.enterTextInEditAriaLabelInputField(0, 'Custom aria-label');
|
123
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
124
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDropdownAriaLabelAttributeInPreviewTab(0, 'Custom aria-label');
|
125
|
+
});
|
126
|
+
|
127
|
+
it('When the user clears the text in the edit aria-label input field, the aria-label attribute of the response dropdown in preview tab should again appear as \'Response #\'', () => {
|
128
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToEditTab();
|
129
|
+
fillInTheGapsOverImageDropdownPage.steps.clearEditAriaLabelInputField(0);
|
130
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
131
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDropdownAriaLabelAttributeInPreviewTab(0, 'Response 1');
|
132
|
+
});
|
133
|
+
});
|
134
|
+
});
|
@@ -0,0 +1,132 @@
|
|
1
|
+
import { fillInTheGapsOverImageDropdownPage } from "../../../pages";
|
2
|
+
import { uploadImageSectionComponent } from "../../../pages/components";
|
3
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
4
|
+
import utilities from "../../../support/helpers/utilities";
|
5
|
+
import constants from "../../../fixtures/constants";
|
6
|
+
const css = Cypress.env('css');
|
7
|
+
|
8
|
+
describe('Create Item page - Fill in the gaps over image - dropdown: Question instructions, image section, upload image popup and source URL popup', () => {
|
9
|
+
before(() => {
|
10
|
+
cy.loginAs('admin');
|
11
|
+
});
|
12
|
+
|
13
|
+
describe('Question Instructions input field - Edit tab', () => {
|
14
|
+
abortEarlySetup();
|
15
|
+
before(() => {
|
16
|
+
cy.log('Navigating to fill in the gaps over image - dropdown question type');
|
17
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
18
|
+
cy.barsPreLoaderWait();
|
19
|
+
});
|
20
|
+
|
21
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyQuestionInstructionsInputFieldEditTab();
|
22
|
+
});
|
23
|
+
|
24
|
+
describe('Question Instructions input field - Preview tab', () => {
|
25
|
+
abortEarlySetup();
|
26
|
+
before(() => {
|
27
|
+
cy.log('Navigating to fill in the gaps over image - dropdown question type');
|
28
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
29
|
+
cy.barsPreLoaderWait();
|
30
|
+
});
|
31
|
+
|
32
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyQuestionInstructionsInputFieldPreviewTab();
|
33
|
+
});
|
34
|
+
|
35
|
+
describe('Image section contents', () => {
|
36
|
+
abortEarlySetup();
|
37
|
+
before(() => {
|
38
|
+
cy.log('Navigating to fill in the gaps over image - dropdown question type');
|
39
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
40
|
+
cy.barsPreLoaderWait();
|
41
|
+
});
|
42
|
+
|
43
|
+
it('\'Image\' title should be displayed', () => {
|
44
|
+
utilities.verifyInnerText(fillInTheGapsOverImageDropdownPage.imageSectionImageLabel(), 'Image');
|
45
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.imageSectionImageLabel(), 'visible');
|
46
|
+
});
|
47
|
+
|
48
|
+
uploadImageSectionComponent.tests.uploadImageEditTabContents();
|
49
|
+
});
|
50
|
+
|
51
|
+
describe('Upload image - device popup contents', () => {
|
52
|
+
abortEarlySetup();
|
53
|
+
before(() => {
|
54
|
+
cy.log('Navigating to fill in the gaps over image - dropdown question type');
|
55
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
56
|
+
cy.barsPreLoaderWait();
|
57
|
+
});
|
58
|
+
|
59
|
+
uploadImageSectionComponent.tests.verifyUploadImagePopupImageTitle();
|
60
|
+
|
61
|
+
uploadImageSectionComponent.tests.uploadImagePopupContents(500, 500);
|
62
|
+
|
63
|
+
uploadImageSectionComponent.tests.verifyButtonReplaceInImagePopup();
|
64
|
+
});
|
65
|
+
|
66
|
+
describe('Upload image popup contents functionality', () => {
|
67
|
+
abortEarlySetup();
|
68
|
+
before(() => {
|
69
|
+
cy.log('Navigating to fill in the gaps over image - dropdown question type');
|
70
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
71
|
+
cy.barsPreLoaderWait();
|
72
|
+
uploadImageSectionComponent.steps.uploadFile('highlightImage.jpg');
|
73
|
+
});
|
74
|
+
|
75
|
+
uploadImageSectionComponent.tests.uploadImageHeightWidthAspectRatioAndResetDimensionsFunctionality(500, 500);
|
76
|
+
|
77
|
+
uploadImageSectionComponent.tests.uploadImageReplaceButtonFunctionality();
|
78
|
+
|
79
|
+
it('When user selects the \'Cancel\' button the image should not be uploaded', () => {
|
80
|
+
uploadImageSectionComponent.steps.clickOnImagePopupCancelButton();
|
81
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.imageSectionImage(), 'notExist');
|
82
|
+
});
|
83
|
+
|
84
|
+
it('When user uploads an image and selects \'Ok\' button the image should be displayed in the image section', () => {
|
85
|
+
uploadImageSectionComponent.steps.uploadFile('highlightImage.jpg');
|
86
|
+
uploadImageSectionComponent.steps.verifyUploadedImageInImagePopup();
|
87
|
+
uploadImageSectionComponent.steps.clickOnImagePopupOkButton();
|
88
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.imageSectionImage(), 'visible');
|
89
|
+
});
|
90
|
+
});
|
91
|
+
|
92
|
+
describe('Upload image - source URL popup contents', () => {
|
93
|
+
abortEarlySetup();
|
94
|
+
before(() => {
|
95
|
+
cy.log('Navigating to fill in the gaps over image - dropdown question type');
|
96
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
97
|
+
cy.barsPreLoaderWait();
|
98
|
+
});
|
99
|
+
|
100
|
+
uploadImageSectionComponent.tests.verifyUploadImageSourceURLTitle();
|
101
|
+
|
102
|
+
uploadImageSectionComponent.tests.verifyUploadImageSourceURLDefaultLabelAndInputField();
|
103
|
+
|
104
|
+
uploadImageSectionComponent.tests.uploadImagePopupContents(650, 684);
|
105
|
+
});
|
106
|
+
|
107
|
+
describe('Upload image \'Source URL\' popup contents functionality', () => {
|
108
|
+
abortEarlySetup();
|
109
|
+
before(() => {
|
110
|
+
cy.log('Navigating to fill in the gaps over image - dropdown question type');
|
111
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
112
|
+
cy.barsPreLoaderWait();
|
113
|
+
uploadImageSectionComponent.steps.clickOnSourceURL();
|
114
|
+
uploadImageSectionComponent.steps.uploadImageUsingSourceURL(constants.flowerImage);
|
115
|
+
});
|
116
|
+
|
117
|
+
uploadImageSectionComponent.tests.uploadImageHeightWidthAspectRatioAndResetDimensionsFunctionality(650, 684);
|
118
|
+
|
119
|
+
it('When user selects the \'Cancel\' button the image should not be uploaded', () => {
|
120
|
+
uploadImageSectionComponent.steps.clickOnImagePopupCancelButton();
|
121
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.imageSectionImage(), 'notExist');
|
122
|
+
});
|
123
|
+
|
124
|
+
it('When user uploads an image and selects \'Ok\' button the image should be displayed in the image section', () => {
|
125
|
+
uploadImageSectionComponent.steps.clickOnSourceURL();
|
126
|
+
uploadImageSectionComponent.steps.uploadImageUsingSourceURL(constants.flowerImage);
|
127
|
+
uploadImageSectionComponent.steps.verifyUploadedImageInImagePopup();
|
128
|
+
uploadImageSectionComponent.steps.clickOnImagePopupOkButton();
|
129
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.imageSectionImage(), 'visible');
|
130
|
+
});
|
131
|
+
});
|
132
|
+
});
|
@@ -0,0 +1,237 @@
|
|
1
|
+
import { fillInTheGapsOverImageDropdownPage } from "../../../pages";
|
2
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
3
|
+
import utilities from "../../../support/helpers/utilities";
|
4
|
+
const css = Cypress.env('css');
|
5
|
+
|
6
|
+
let optionsForResponse = ['Flower', 'Leaf', 'Stem', 'Branch'];
|
7
|
+
|
8
|
+
describe('Create item page - Fill in the gaps over image - dropdown: Scoring section', () => {
|
9
|
+
before(() => {
|
10
|
+
cy.loginAs('admin');
|
11
|
+
});
|
12
|
+
|
13
|
+
describe('Scoring section contents', () => {
|
14
|
+
abortEarlySetup();
|
15
|
+
before(() => {
|
16
|
+
cy.log('Navigate to fill in the gaps over image - dropdown question type');
|
17
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
18
|
+
cy.barsPreLoaderWait();
|
19
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
20
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
|
21
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
22
|
+
});
|
23
|
+
|
24
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyScoringTypeLabelAndDropdown('autoScored');
|
25
|
+
|
26
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyAutoScoredScoringTypeSectionWithCSSAnda11y();
|
27
|
+
});
|
28
|
+
|
29
|
+
describe('Auto scored: All or nothing scoring - Edit tab', () => {
|
30
|
+
abortEarlySetup();
|
31
|
+
before(() => {
|
32
|
+
cy.log('Navigate to fill in the gaps over image - dropdown question type');
|
33
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
34
|
+
cy.barsPreLoaderWait();
|
35
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
36
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
|
37
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
38
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
39
|
+
});
|
40
|
+
|
41
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyResponseContentsOfSetCorrectAnswerSection();
|
42
|
+
|
43
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyAutoScoredAllOrNothingPointsAndMinimumScoreAwardedLabelAndInputField();
|
44
|
+
|
45
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyPointsFieldErrorState(10);
|
46
|
+
|
47
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyMinimumScoreIfAttemptedFieldErrorState(10, 20, 10);
|
48
|
+
});
|
49
|
+
|
50
|
+
describe('Auto scored: Partial - equal weights scoring - Edit tab', () => {
|
51
|
+
abortEarlySetup();
|
52
|
+
before(() => {
|
53
|
+
cy.log('Navigate to fill in the gaps over image - dropdown question type');
|
54
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
55
|
+
cy.barsPreLoaderWait();
|
56
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
57
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
|
58
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
59
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
60
|
+
});
|
61
|
+
|
62
|
+
it('User should be able to select \'Partial - equal weights\' scoring type', () => {
|
63
|
+
fillInTheGapsOverImageDropdownPage.steps.selectPartialEqualWeightsCheckbox();
|
64
|
+
});
|
65
|
+
|
66
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyResponseContentsOfSetCorrectAnswerSection();
|
67
|
+
|
68
|
+
it('When the points input field is empty and the user has switched to \'Partial - equal weights\' scoring, then \'Points per response\' label should be displayed and a \'-\' should be displayed besides each response, \'Penalty points\' and \'Minimum score awarded (if attempted)\' labels and input fields should be displayed and \'Round down score\' label and checkbox should be displayed and by default it should be checked', () => {
|
69
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPointsPerResponseLabel();
|
70
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialEqualWeightsPointsPerResponseScore('-');
|
71
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDefaultPenaltyPointsInputFieldAndLabel();
|
72
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDefaultMinimumScoreIfAttemptedLabelAndPointsField();
|
73
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDefaultRoundDownScoreCheckboxCheckedAndLabel();
|
74
|
+
});
|
75
|
+
|
76
|
+
it('When user gives a score input to \'Points\' input field, then the score should be equally divided and displayed besides each response under the \'Points per response\' label', () => {
|
77
|
+
fillInTheGapsOverImageDropdownPage.steps.allotPoints(4);
|
78
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialEqualWeightsPointsPerResponseScore(2);
|
79
|
+
});
|
80
|
+
|
81
|
+
it('When user adds a response to the question, then one more response field should be displayed in the set correct answer section and points per response score should be updated accordingly', () => {
|
82
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
83
|
+
utilities.verifyElementCount(fillInTheGapsOverImageDropdownPage.responseDropdownSetCorrectAnswerSection(), 3);
|
84
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialEqualWeightsPointsPerResponseScore(1.33);
|
85
|
+
});
|
86
|
+
|
87
|
+
it('When user removes a response from the question, then the points per response score should be updated accordingly', () => {
|
88
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnResponseContainerCloseButton(2);
|
89
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialEqualWeightsPointsPerResponseScore(2);
|
90
|
+
});
|
91
|
+
|
92
|
+
it('CSS of \'Points per response\' label and its displayed score', { tags: 'css' }, () => {
|
93
|
+
utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.pointsPerResponseLabel(), {
|
94
|
+
'color': css.color.labels,
|
95
|
+
'font-size': css.fontSize.normal,
|
96
|
+
'font-weight': css.fontWeight.semibold
|
97
|
+
});
|
98
|
+
utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.partialEqualWeightsPointsPerResponseScore(), {
|
99
|
+
'color': css.color.text,
|
100
|
+
'font-size': css.fontSize.default,
|
101
|
+
'font-weight': css.fontWeight.regular
|
102
|
+
});
|
103
|
+
});
|
104
|
+
|
105
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyCSSandA11yOfRoundDownScoreCheckboxInCheckedState();
|
106
|
+
|
107
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyPenaltyPointsInputField();
|
108
|
+
|
109
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyMinimumScoreAwardedLabelAndInputField();
|
110
|
+
|
111
|
+
it('When the user switches to \'All or nothing\' scoring, the \'Points per response\' label and the points displayed for individual responses should not be displayed and the points displayed in \'Points\' input field should remain unchanged', () => {
|
112
|
+
fillInTheGapsOverImageDropdownPage.steps.selectAllOrNothingCheckbox();
|
113
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.pointsPerResponseLabel(), 'notExist');
|
114
|
+
utilities.verifyElementVisibilityState(fillInTheGapsOverImageDropdownPage.partialEqualWeightsPointsPerResponseScore(), 'notExist');
|
115
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPointsFieldValue(4);
|
116
|
+
});
|
117
|
+
|
118
|
+
it('When user has entered points in \'All or nothing\' scoring type and switches to \'Partial equal weights\' scoring type, then the score should be equally divided and displayed besides each response under the \'Points per response\' label', () => {
|
119
|
+
fillInTheGapsOverImageDropdownPage.steps.allotPoints(9);
|
120
|
+
fillInTheGapsOverImageDropdownPage.steps.selectPartialEqualWeightsCheckbox();
|
121
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialEqualWeightsPointsPerResponseScore(4.5);
|
122
|
+
});
|
123
|
+
});
|
124
|
+
|
125
|
+
describe('Auto scored: Partial - different weights scoring - Edit tab', () => {
|
126
|
+
abortEarlySetup();
|
127
|
+
before(() => {
|
128
|
+
cy.log('Navigate to fill in the gaps over image - dropdown question type');
|
129
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
130
|
+
cy.barsPreLoaderWait();
|
131
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
132
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
|
133
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
134
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
135
|
+
});
|
136
|
+
|
137
|
+
it('User should be able to select \'Partial - different weights\' scoring', () => {
|
138
|
+
fillInTheGapsOverImageDropdownPage.steps.selectPartialDifferentWeightsCheckbox();
|
139
|
+
});
|
140
|
+
|
141
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyResponseContentsOfSetCorrectAnswerSection();
|
142
|
+
|
143
|
+
it('When the user has switched to \'Partial - different weights\' scoring, then \'Points per response\' label should be displayed and a points input field should be displayed besides each response option, \'Penalty Points\' and \'Minimum score awarded (if attempted)\' labels and input fields should be displayed and \'Round down score\' checkbox should be displayed and by default it should be checked', () => {
|
144
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPointsPerResponseLabel();
|
145
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEmpty();
|
146
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDefaultPenaltyPointsInputFieldAndLabel();
|
147
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDefaultMinimumScoreIfAttemptedLabelAndPointsField();
|
148
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyDefaultRoundDownScoreCheckboxCheckedAndLabel();
|
149
|
+
});
|
150
|
+
|
151
|
+
it('When the user has not set any answer in the response, then the \'Points per response\' input field should be disabled', () => {
|
152
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsDisabled();
|
153
|
+
});
|
154
|
+
|
155
|
+
it('When user gives an input to the response input field then the \'Points per response\' input field should be enabled', () => {
|
156
|
+
fillInTheGapsOverImageDropdownPage.steps.selectResponseFromSetCorrectAnswerSectionResponseDropdown(0, optionsForResponse[0]);
|
157
|
+
fillInTheGapsOverImageDropdownPage.steps.selectResponseFromSetCorrectAnswerSectionResponseDropdown(1, optionsForResponse[1]);
|
158
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEnabled(0);
|
159
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEnabled(1);
|
160
|
+
});
|
161
|
+
|
162
|
+
it('User should be able to give a score input to \'Points per response\' input fields', () => {
|
163
|
+
fillInTheGapsOverImageDropdownPage.steps.addPartialDifferentWeightsPoints([2.3, 3.4]);
|
164
|
+
});
|
165
|
+
|
166
|
+
it('CSS of \'Points per response\' label and \'Points per response\' input fields', { tags: 'css' }, () => {
|
167
|
+
utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.pointsPerResponseLabel(), {
|
168
|
+
'color': css.color.labels,
|
169
|
+
'font-size': css.fontSize.normal,
|
170
|
+
'font-weight': css.fontWeight.semibold
|
171
|
+
});
|
172
|
+
utilities.verifyCSS(fillInTheGapsOverImageDropdownPage.pointsInputField(), {
|
173
|
+
'color': css.color.text,
|
174
|
+
'font-size': css.fontSize.default,
|
175
|
+
'font-weight': css.fontWeight.regular
|
176
|
+
});
|
177
|
+
});
|
178
|
+
|
179
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyCSSandA11yOfRoundDownScoreCheckboxInCheckedState();
|
180
|
+
|
181
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyPenaltyPointsInputField();
|
182
|
+
|
183
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyMinimumScoreAwardedLabelAndInputField();
|
184
|
+
|
185
|
+
|
186
|
+
it('When the user switches to \'All or nothing\' scoring, the points added for individual responses in Partial - different weights scoring should get summed up in the All or nothing scoring points input field', () => {
|
187
|
+
fillInTheGapsOverImageDropdownPage.steps.selectAllOrNothingCheckbox();
|
188
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPointsFieldValue(5.7);
|
189
|
+
});
|
190
|
+
|
191
|
+
it('When user has entered points in \'All or nothing\' scoring type and switches to \'Partial different weights\' scoring type, then the points input field displayed besides each response should be blank.', () => {
|
192
|
+
fillInTheGapsOverImageDropdownPage.steps.allotPoints(9);
|
193
|
+
fillInTheGapsOverImageDropdownPage.steps.selectPartialDifferentWeightsCheckbox();
|
194
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPartialDifferentWeightsPointsInputFieldIsEmpty();
|
195
|
+
});
|
196
|
+
});
|
197
|
+
|
198
|
+
describe('Manually scored scoring - Edit tab', () => {
|
199
|
+
abortEarlySetup();
|
200
|
+
before(() => {
|
201
|
+
cy.log('Navigate to fill in the gaps over image - dropdown question type');
|
202
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
203
|
+
cy.barsPreLoaderWait();
|
204
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
205
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
|
206
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
207
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
208
|
+
});
|
209
|
+
|
210
|
+
it('User should be able to select \'Manually scored\' scoring type from scoring type dropdown', () => {
|
211
|
+
fillInTheGapsOverImageDropdownPage.steps.selectAScoringTypeFromScoringTypeDropdown('Manually scored')
|
212
|
+
});
|
213
|
+
|
214
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyManualScoringEditTabFunctionality();
|
215
|
+
|
216
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyPointsFieldErrorState(10);
|
217
|
+
|
218
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyMinimumScoreIfAttemptedFieldErrorState(10, 20, 10);
|
219
|
+
});
|
220
|
+
|
221
|
+
describe('Non scored scoring - Edit tab', () => {
|
222
|
+
abortEarlySetup();
|
223
|
+
before(() => {
|
224
|
+
cy.log('Navigate to fill in the gaps over image - dropdown question type');
|
225
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
226
|
+
cy.barsPreLoaderWait();
|
227
|
+
fillInTheGapsOverImageDropdownPage.steps.uploadFile('highlightImage.jpg');
|
228
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnImagePopupOkButton();
|
229
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
230
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
231
|
+
});
|
232
|
+
|
233
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyEditTabNonScoredScoringSectionContents();
|
234
|
+
|
235
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyResponseContentsOfSetCorrectAnswerSection();
|
236
|
+
});
|
237
|
+
});
|
@@ -0,0 +1,113 @@
|
|
1
|
+
import { dialogBoxBase, fillInTheGapsOverImageDropdownPage } from "../../../pages";
|
2
|
+
import { uploadImageSectionComponent } from "../../../pages/components/uploadImageSectionComponent";
|
3
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
4
|
+
import utilities from "../../../support/helpers/utilities";
|
5
|
+
const optionsForResponse = ['Flower', 'Petal', 'Stem', 'Branch'];
|
6
|
+
|
7
|
+
describe('Create question page - Fill in the gaps over image - dropdown: Header section and Saving question', () => {
|
8
|
+
before(() => {
|
9
|
+
cy.loginAs('admin');
|
10
|
+
});
|
11
|
+
|
12
|
+
describe('Header section contents', () => {
|
13
|
+
abortEarlySetup();
|
14
|
+
before(() => {
|
15
|
+
cy.log('Navigating to Fill in the gaps over image - dropdown question type');
|
16
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
17
|
+
});
|
18
|
+
|
19
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyCreateQuestionPageQuestionTypeHeader('Fill in the gaps over image - dropdown');
|
20
|
+
});
|
21
|
+
|
22
|
+
describe('Tabs section', () => {
|
23
|
+
abortEarlySetup();
|
24
|
+
before(() => {
|
25
|
+
cy.log('Navigating to Fill in the gaps over image - dropdown question type');
|
26
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
27
|
+
});
|
28
|
+
|
29
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyTabsSection();
|
30
|
+
});
|
31
|
+
|
32
|
+
//Failing due to https://redmine.zeuslearning.com/issues/547758
|
33
|
+
describe('Cancel button', () => {
|
34
|
+
abortEarlySetup();
|
35
|
+
before(() => {
|
36
|
+
cy.log('Navigating to Fill in the gaps over image - dropdown question type');
|
37
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
38
|
+
});
|
39
|
+
|
40
|
+
fillInTheGapsOverImageDropdownPage.tests.verifyCancelButton('fill in the gaps over image - dropdown');
|
41
|
+
});
|
42
|
+
|
43
|
+
//Failing due to https://redmine.zeuslearning.com/issues/548426
|
44
|
+
//Failing due to https://redmine.zeuslearning.com/issues/548420
|
45
|
+
describe('Save question button - Edit tab', () => {
|
46
|
+
abortEarlySetup();
|
47
|
+
before(() => {
|
48
|
+
cy.log('Navigating to Fill in the gaps over image - dropdown question type');
|
49
|
+
fillInTheGapsOverImageDropdownPage.steps.navigateToCreateQuestion('fill in the gaps over image - dropdown');
|
50
|
+
cy.barsPreLoaderWait();
|
51
|
+
});
|
52
|
+
|
53
|
+
describe('Validation error messages', () => {
|
54
|
+
dialogBoxBase.tests.verifyRequiredFieldsWarningPopupOnClickingSaveButton();
|
55
|
+
|
56
|
+
it('Validation error messages should be displayed below required input fields (Question instructions, Image section, Points input field)', () => {
|
57
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyQuestionInstructionsErrorMessage();
|
58
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPointsFieldErrorMessage();
|
59
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageSectionErrorMessage();
|
60
|
+
fillInTheGapsOverImageDropdownPage.steps.verifySetCorrectAnswerErrorIconIsDisplayed();
|
61
|
+
});
|
62
|
+
|
63
|
+
it('When the user has made no changes and switches to the preview tab and clicks on \'Save question\' button, the user should get a warning popup and on closing the warning popup, the user should be on the edit tab', () => {
|
64
|
+
fillInTheGapsOverImageDropdownPage.steps.switchToPreviewTab();
|
65
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnSaveQuestionButton();
|
66
|
+
utilities.verifyElementVisibilityState(dialogBoxBase.dialogBox(), 'visible');
|
67
|
+
dialogBoxBase.steps.closeWarningPopup();
|
68
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyEditTabSelectedState();
|
69
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyPreviewTabNotSelectedState();
|
70
|
+
});
|
71
|
+
|
72
|
+
it('When the user uploads an image, the \'Error: Image is required.\' error message should disappear and then on clicking the \'Save question\' button, \'Error: Minimum one response container is required.\' error message should appear in the set correct answer section', () => {
|
73
|
+
uploadImageSectionComponent.steps.uploadFile('highlightImage.jpg');
|
74
|
+
uploadImageSectionComponent.steps.verifyUploadedImageInImagePopup();
|
75
|
+
uploadImageSectionComponent.steps.clickOnImagePopupOkButton();
|
76
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyImageSectionErrorMessageNotExists();
|
77
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnSaveQuestionButton();
|
78
|
+
dialogBoxBase.steps.closeWarningPopup();
|
79
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyMinimumOneResponseContainerIsRequiredErrorMessage();
|
80
|
+
});
|
81
|
+
|
82
|
+
it('When the user adds a response container, the \'Error: Minimum one response container is required.\' error message should disappear and then on clicking the \'Save question\' button, \'Error: Option is required\' should be displayed for response option fields and \'Error: Please set a correct answer.\' error message should appear in the set correct answer section', () => {
|
83
|
+
fillInTheGapsOverImageDropdownPage.steps.addResponseContainer();
|
84
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyMinimumOneResponseContainerIsRequiredErrorMessageNotExists();
|
85
|
+
fillInTheGapsOverImageDropdownPage.steps.clickOnSaveQuestionButton();
|
86
|
+
dialogBoxBase.steps.closeWarningPopup();
|
87
|
+
for (let index = 0; index < 4; index++) {
|
88
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyOptionsForResponseInputFieldErrorMessage(index);
|
89
|
+
};
|
90
|
+
fillInTheGapsOverImageDropdownPage.steps.verifySetCorrectAnswerSectionErrorMessage();
|
91
|
+
});
|
92
|
+
|
93
|
+
it('Validation error messages should disappear when all required input fields are filled', () => {
|
94
|
+
fillInTheGapsOverImageDropdownPage.steps.addQuestionInstructions();
|
95
|
+
fillInTheGapsOverImageDropdownPage.steps.addInputToResponseOptionFields(0, optionsForResponse);
|
96
|
+
fillInTheGapsOverImageDropdownPage.steps.selectResponseFromSetCorrectAnswerSectionResponseDropdown(0, optionsForResponse[0]);
|
97
|
+
fillInTheGapsOverImageDropdownPage.steps.allotPoints(10);
|
98
|
+
fillInTheGapsOverImageDropdownPage.steps.verifyErrorMessageIsNotDisplayed();
|
99
|
+
fillInTheGapsOverImageDropdownPage.steps.verifySetCorrectAnswerErrorIconIsNotDisplayed();
|
100
|
+
});
|
101
|
+
|
102
|
+
fillInTheGapsOverImageDropdownPage.tests.verifya11yOfCreateItemWrapperContents();
|
103
|
+
});
|
104
|
+
|
105
|
+
describe('Saving a question', () => {
|
106
|
+
it('When user has filled all the mandatory fields then on clicking on Save Question button the question should get saved and a snackbar with text \'Saved successfully!\' should be displayed', () => {
|
107
|
+
fillInTheGapsOverImageDropdownPage.steps.saveAQuestionAndVerifySnackbar();
|
108
|
+
});
|
109
|
+
|
110
|
+
fillInTheGapsOverImageDropdownPage.tests.verifySavedSuccessfullySnackbarCSSanda11y();
|
111
|
+
});
|
112
|
+
});
|
113
|
+
});
|