itemengine-cypress-automation 1.0.51 → 1.0.62
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/fillInTheGapsOverImageDropdownAdditionalSettingsBasic.js +222 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsResponseAccordions.js +366 -0
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdown/fillInTheGapsOverImageDropdownAdditionalSettingsStudentResponseAndLayout.js +206 -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
@@ -0,0 +1,245 @@
|
|
1
|
+
import { audioPlayerPage } from "../../../pages";
|
2
|
+
import utilities from "../../../support/helpers/utilities";
|
3
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
4
|
+
const css = Cypress.env('css');
|
5
|
+
|
6
|
+
describe('Audio player: Preview tab', () => {
|
7
|
+
before(() => {
|
8
|
+
cy.loginAs('admin');
|
9
|
+
});
|
10
|
+
|
11
|
+
describe('Playback player : Default state', () => {
|
12
|
+
abortEarlySetup();
|
13
|
+
before(() => {
|
14
|
+
cy.log('Navigating to audio player tool');
|
15
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
16
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
17
|
+
});
|
18
|
+
|
19
|
+
it('A playback player with \'Play\' button, \'Volume control\' button, \'Progress bar\' and time in (mm:ss / mm:ss) format should be displayed', () => {
|
20
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
|
21
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlButton(), 'visible');
|
22
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.progressBar(), 'visible');
|
23
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackElapsedTime(), 'visible');
|
24
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackTotalTime(), 'visible');
|
25
|
+
utilities.verifyInnerText(audioPlayerPage.playbackElapsedTime(), '00:00')
|
26
|
+
utilities.verifyInnerText(audioPlayerPage.playbackTotalTime(), '/\n00:00')
|
27
|
+
});
|
28
|
+
|
29
|
+
it('Accessibility of playback player - default state', { tags: 'a11y' }, () => {
|
30
|
+
cy.checkAccessibility(audioPlayerPage.playbackPlayButton().parents('.audio-resource-preview-wrapper'));
|
31
|
+
});
|
32
|
+
});
|
33
|
+
|
34
|
+
describe('Playback player : Play, pause and seek', () => {
|
35
|
+
let actualAudioSeekedInPercent = 50
|
36
|
+
abortEarlySetup();
|
37
|
+
before(() => {
|
38
|
+
cy.log('Navigating to audio player tool');
|
39
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
40
|
+
audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
|
41
|
+
audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
|
42
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
43
|
+
});
|
44
|
+
|
45
|
+
it('When the user hovers over the \'Play\' button, a tooltip \'Play\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
|
46
|
+
audioPlayerPage.playbackPlayButton()
|
47
|
+
.verifyTooltip('Play');
|
48
|
+
});
|
49
|
+
|
50
|
+
it('When the user clicks on \'Play\' button, then the audio file should load and the user should be able to play the audio. Timer should display the amount of audio that has been played and the total audio length in (mm:ss)/(mm:ss) format.', () => {
|
51
|
+
audioPlayerPage.steps.startPlayback();
|
52
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
53
|
+
audioPlayerPage.steps.verifyAudioPlaybackTimer('00:03/00:45');
|
54
|
+
});
|
55
|
+
|
56
|
+
it('When the user hovers over the \'Pause\' button, a tooltip \'Pause\' should be displayed and on moving away the focus, the tooltip should disappear', () => {
|
57
|
+
audioPlayerPage.playbackPauseButton()
|
58
|
+
.verifyTooltip('Pause');
|
59
|
+
});
|
60
|
+
|
61
|
+
it('CSS of \'Preview\' section if playback is initiated', { tags: 'css' }, () => {
|
62
|
+
utilities.verifyCSS(audioPlayerPage.playbackPauseButton().find('svg'), {
|
63
|
+
'fill': css.color.secondaryBtnActive,
|
64
|
+
});
|
65
|
+
utilities.verifyCSS(audioPlayerPage.playbackElapsedTime(), {
|
66
|
+
'color': css.color.text,
|
67
|
+
'font-size': css.fontSize.small,
|
68
|
+
'font-weight': css.fontWeight.regular
|
69
|
+
});
|
70
|
+
utilities.verifyCSS(audioPlayerPage.playbackTotalTime(), {
|
71
|
+
'color': css.color.text,
|
72
|
+
'font-size': css.fontSize.small,
|
73
|
+
'font-weight': css.fontWeight.regular
|
74
|
+
});
|
75
|
+
utilities.verifyCSS(audioPlayerPage.progressBar().find('.MuiSlider-rail'), {
|
76
|
+
'background-color': css.color.progressBarRemainingFill
|
77
|
+
});
|
78
|
+
utilities.verifyCSS(audioPlayerPage.progressBar().find('.MuiSlider-track'), {
|
79
|
+
'background-color': css.color.progressBarElapsedFill
|
80
|
+
});
|
81
|
+
});
|
82
|
+
|
83
|
+
it('Accessibility of \'Preview\' section if playback is initiated', { tags: 'a11y' }, () => {
|
84
|
+
cy.checkAccessibility(audioPlayerPage.playbackPauseButton().parents('.audio-resource-preview-wrapper'));
|
85
|
+
});
|
86
|
+
|
87
|
+
it('When the audio player is in playback state and the user clicks on \'Pause\' button, then playback should get paused. Progress bar and timer should not update further and the \'Pause\' button should get replaced with \'Play\' button', () => {
|
88
|
+
audioPlayerPage.steps.resetQuestionPreview();
|
89
|
+
audioPlayerPage.steps.startPlayback();
|
90
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
91
|
+
audioPlayerPage.steps.verifyAudioPlaybackTimer('00:10/00:45');
|
92
|
+
audioPlayerPage.steps.pauseAndVerifyProgressBarSliderPosition();
|
93
|
+
audioPlayerPage.steps.verifyAudioPlaybackTimer('00:10/00:45');
|
94
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
|
95
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'notExist');
|
96
|
+
});
|
97
|
+
|
98
|
+
it('CSS of \'Preview\' section if playback is paused', { tags: 'css' }, () => {
|
99
|
+
utilities.verifyCSS(audioPlayerPage.playbackPlayButton().find('svg'), {
|
100
|
+
'fill': css.color.secondaryBtnActive,
|
101
|
+
});
|
102
|
+
});
|
103
|
+
|
104
|
+
it('Accessibility of \'Preview\' section if if playback is paused', { tags: 'a11y' }, () => {
|
105
|
+
cy.checkAccessibility(audioPlayerPage.playbackPlayButton().parents('.audio-resource-preview-wrapper'));
|
106
|
+
});
|
107
|
+
|
108
|
+
it('When audio player is in paused state and user clicks on \'Play\' button, then playback should get resumed and \'Play\' button should get replaced with \'Pause\' button.', () => {
|
109
|
+
audioPlayerPage.steps.startPlayback();
|
110
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'visible');
|
111
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'notExist');
|
112
|
+
});
|
113
|
+
|
114
|
+
it('When the user seeks the progress bar slider while the audio is playing, then the audio should continue to play from the position where the slider is seeked', () => {
|
115
|
+
audioPlayerPage.steps.seekProgressBarSliderToCenter();
|
116
|
+
audioPlayerPage.steps.addWaitToPlayAudio(1000);
|
117
|
+
audioPlayerPage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
|
118
|
+
});
|
119
|
+
|
120
|
+
it('When the user seeks the progress bar slider while the audio is paused, then the audio playback should be in paused state and on playing the audio, then the audio should play from the position where the slider is seeked', () => {
|
121
|
+
audioPlayerPage.steps.pausePlayback();
|
122
|
+
audioPlayerPage.steps.seekProgressBarSliderToCenter();
|
123
|
+
audioPlayerPage.steps.startPlayback();
|
124
|
+
audioPlayerPage.steps.addWaitToPlayAudio(5000);
|
125
|
+
audioPlayerPage.steps.verifyProgressBarSliderPosition(actualAudioSeekedInPercent);
|
126
|
+
});
|
127
|
+
|
128
|
+
it('When the audio playback is completed, the \'Pause\' button should get replaced with \'Play\' button', () => {
|
129
|
+
audioPlayerPage.steps.verifyAudioPlaybackTimer('00:45/00:45');
|
130
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPlayButton(), 'visible');
|
131
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.playbackPauseButton(), 'notExist');
|
132
|
+
audioPlayerPage.steps.verifyProgressBarSliderPosition(99);
|
133
|
+
});
|
134
|
+
|
135
|
+
it('CSS of progress bar in hover state', { tags: 'css' }, () => {
|
136
|
+
audioPlayerPage.steps.hoverOnProgressBarSlider();
|
137
|
+
utilities.verifyCSS(audioPlayerPage.progressBarSlider().parents('span[class*="MuiSlider-thumb"]'), {
|
138
|
+
'box-shadow': `${css.color.progressBarSliderHoverBackground} 0px 0px 0px 8px`
|
139
|
+
});
|
140
|
+
});
|
141
|
+
});
|
142
|
+
|
143
|
+
describe('Playback player : Volume control', () => {
|
144
|
+
abortEarlySetup();
|
145
|
+
before(() => {
|
146
|
+
cy.log('Navigating to audio player tool');
|
147
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
148
|
+
audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
|
149
|
+
audioPlayerPage.steps.uploadFile('uploads/sample.mp3');
|
150
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
151
|
+
audioPlayerPage.steps.startPlayback();
|
152
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
153
|
+
});
|
154
|
+
|
155
|
+
it('When the user hovers over \'Volume control\' button, volume control settings should open and by default it should be set to full volume and on hovering away from the button, the volume slider should disappear', () => {
|
156
|
+
audioPlayerPage.steps.hoverOnVolumeControlButton();
|
157
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlSlider(), 'visible');
|
158
|
+
audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('100');
|
159
|
+
utilities.hoverAwayFromElement();
|
160
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlSlider(), 'notExist');
|
161
|
+
});
|
162
|
+
|
163
|
+
it('When volume is not set as 0 and user hovers on \'Volume control\' button, then \'Mute\' text should be displayed in a tooltip and on hovering away from the button, the tooltip should disappear', () => {
|
164
|
+
audioPlayerPage.steps.hoverOnVolumeControlButton();
|
165
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.tooltipText(), 'visible');
|
166
|
+
utilities.verifyInnerText(audioPlayerPage.tooltipText(), 'Mute');
|
167
|
+
utilities.hoverAwayFromElement();
|
168
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.tooltipText(), 'notExist');
|
169
|
+
});
|
170
|
+
|
171
|
+
it('When the user hovers over \'Volume control slider\', then \'Volume control\' text should be displayed in a tooltip and on hovering away from the button, the tooltip should disappear', () => {
|
172
|
+
audioPlayerPage.steps.hoverOnVolumeControlButton();
|
173
|
+
audioPlayerPage.steps.hoverOnVolumeControlSlider();
|
174
|
+
audioPlayerPage.steps.hoverAwayFromVolumeControlButton();
|
175
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.tooltipText(), 'visible');
|
176
|
+
utilities.verifyInnerText(audioPlayerPage.tooltipText(), 'Volume control');
|
177
|
+
utilities.hoverAwayFromElement();
|
178
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlSlider(), 'notExist');
|
179
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.tooltipText(), 'notExist');
|
180
|
+
});
|
181
|
+
|
182
|
+
it('When volume is not set as 0 and user clicks on volume control button, then the audio should be muted and the volume control button should change to a muted state', () => {
|
183
|
+
audioPlayerPage.steps.clickOnVolumeButton();
|
184
|
+
audioPlayerPage.steps.hoverOnVolumeControlButton();
|
185
|
+
audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('0');
|
186
|
+
utilities.hoverAwayFromElement();
|
187
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.volumeControlSlider(), 'notExist');
|
188
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.muteVolumeIcon(), 'visible');
|
189
|
+
audioPlayerPage.steps.focusOutFromVolumeControlButton();
|
190
|
+
});
|
191
|
+
|
192
|
+
it('When the user hovers on muted \'Volume control\' button, \'Unmute\' text should be displayed in tooltip', () => {
|
193
|
+
audioPlayerPage.steps.hoverOnVolumeControlButton();
|
194
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.tooltipText(), 'visible');
|
195
|
+
utilities.verifyInnerText(audioPlayerPage.tooltipText(), 'Unmute');
|
196
|
+
utilities.hoverAwayFromElement();
|
197
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.tooltipText(), 'notExist');
|
198
|
+
});
|
199
|
+
|
200
|
+
it('When the user clicks on the muted volume control button then the volume setting slider should return to full volume and the volume control button should change to an unmuted state', () => {
|
201
|
+
audioPlayerPage.steps.clickOnVolumeButton();
|
202
|
+
audioPlayerPage.steps.hoverOnVolumeControlButton();
|
203
|
+
audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('100');
|
204
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.unmutedVolumeIcon(), 'visible');
|
205
|
+
});
|
206
|
+
|
207
|
+
it('CSS of volume control section', { tags: 'css' }, () => {
|
208
|
+
utilities.verifyCSS(audioPlayerPage.volumeControlSlider(), {
|
209
|
+
'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 100%, ${css.color.progressBarRemainingFill} 0%, ${css.color.progressBarRemainingFill} 100%) repeat scroll 0% 0% / auto padding-box border-box`
|
210
|
+
});
|
211
|
+
audioPlayerPage.unmutedVolumeIcon()
|
212
|
+
.verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
|
213
|
+
});
|
214
|
+
|
215
|
+
it('Accessibility of volume control section', { tags: 'a11y' }, () => {
|
216
|
+
cy.checkAccessibility(audioPlayerPage.volumeControlSlider());
|
217
|
+
cy.checkAccessibility(audioPlayerPage.playbackPauseButton().parents('.audio-resource-preview-wrapper'));
|
218
|
+
});
|
219
|
+
|
220
|
+
it('When the user drags the volume control all the way down, audio should be muted and the button should update to a muted state', () => {
|
221
|
+
audioPlayerPage.steps.setVolumeSliderForPlayback(0);
|
222
|
+
audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('0');
|
223
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.muteVolumeIcon(), 'visible');
|
224
|
+
});
|
225
|
+
|
226
|
+
it('CSS of volume control section in muted state', { tags: 'css' }, () => {
|
227
|
+
utilities.verifyCSS(audioPlayerPage.volumeControlSlider(), {
|
228
|
+
'background': `${css.color.transparent} linear-gradient(to right, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarElapsedFill} 0%, ${css.color.progressBarRemainingFill} -100%, ${css.color.progressBarRemainingFill} 100%) repeat scroll 0% 0% / auto padding-box border-box`
|
229
|
+
});
|
230
|
+
audioPlayerPage.muteVolumeIcon()
|
231
|
+
.verifyPseudoClassBeforeProperty('color', css.color.activeButtons);
|
232
|
+
});
|
233
|
+
|
234
|
+
it('Accessibility of volume control section in muted state', { tags: 'a11y' }, () => {
|
235
|
+
cy.checkAccessibility(audioPlayerPage.volumeControlSlider());
|
236
|
+
cy.checkAccessibility(audioPlayerPage.playbackPauseButton().parents('.audio-resource-preview-wrapper'));
|
237
|
+
});
|
238
|
+
|
239
|
+
it('User should be able to unmute the audio by dragging the volume control higher again', () => {
|
240
|
+
audioPlayerPage.steps.setVolumeSliderForPlayback(99);
|
241
|
+
audioPlayerPage.steps.verifyVolumeOfPlaybackPlayer('100');
|
242
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.unmutedVolumeIcon(), 'visible');
|
243
|
+
});
|
244
|
+
});
|
245
|
+
});
|
@@ -0,0 +1,78 @@
|
|
1
|
+
import { audioPlayerPage } from "../../../pages";
|
2
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
3
|
+
import constants from "../../../fixtures/constants";
|
4
|
+
|
5
|
+
describe('Audio player: Preview tab', () => {
|
6
|
+
before(() => {
|
7
|
+
cy.loginAs('admin');
|
8
|
+
});
|
9
|
+
|
10
|
+
describe('Uploading all supported files via \'Source URL\' field', () => {
|
11
|
+
abortEarlySetup();
|
12
|
+
before(() => {
|
13
|
+
cy.log('Navigating to audio player tool');
|
14
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
15
|
+
});
|
16
|
+
|
17
|
+
it('When user adds link of MP3 audio file, audio player should be displayed in preview tab and user should be able to play MP3 audio file.', () => {
|
18
|
+
audioPlayerPage.steps.enterTextInSourceURLInputField(constants.sampleMp3Link);
|
19
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
20
|
+
audioPlayerPage.steps.startPlayback();
|
21
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
22
|
+
});
|
23
|
+
|
24
|
+
it('When user adds link of WAV audio file, audio player should be displayed in preview tab and user should be able to play WAV audio file.', () => {
|
25
|
+
audioPlayerPage.steps.switchToEditTab();
|
26
|
+
audioPlayerPage.steps.clearTextInSourceURLInputField();
|
27
|
+
audioPlayerPage.steps.enterTextInSourceURLInputField(constants.sampleWAVLink);
|
28
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
29
|
+
audioPlayerPage.steps.startPlayback();
|
30
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
31
|
+
});
|
32
|
+
|
33
|
+
it('When user adds link of AAC audio file, audio player should be displayed in preview tab and user should be able to play AAC audio file.', () => {
|
34
|
+
audioPlayerPage.steps.switchToEditTab();
|
35
|
+
audioPlayerPage.steps.clearTextInSourceURLInputField();
|
36
|
+
audioPlayerPage.steps.enterTextInSourceURLInputField(constants.sampleAACLink);
|
37
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
38
|
+
audioPlayerPage.steps.startPlayback();
|
39
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
40
|
+
});
|
41
|
+
});
|
42
|
+
|
43
|
+
//Failing due to https://redmine.zeuslearning.com/issues/551032
|
44
|
+
describe('Uploading all supported files via \'Upload\' field', () => {
|
45
|
+
const MP3File = "uploads/sample.mp3";
|
46
|
+
const WAVFile = "uploads/sample.wav";
|
47
|
+
const AACFile = "uploads/sample.aac";
|
48
|
+
abortEarlySetup();
|
49
|
+
before(() => {
|
50
|
+
cy.log('Navigating to audio player tool');
|
51
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
52
|
+
audioPlayerPage.steps.clickOnAddAudioFileRadioButton();
|
53
|
+
});
|
54
|
+
|
55
|
+
it('When user uploads MP3 audio file, audio player should be displayed in preview tab and user should be able to play MP3 audio file.', () => {
|
56
|
+
audioPlayerPage.steps.uploadFile(MP3File);
|
57
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
58
|
+
audioPlayerPage.steps.startPlayback();
|
59
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
60
|
+
});
|
61
|
+
|
62
|
+
it('When user uploads WAV audio file, audio player should be displayed in preview tab and user should be able to play WAV audio file.', () => {
|
63
|
+
audioPlayerPage.steps.switchToEditTab();
|
64
|
+
audioPlayerPage.steps.uploadFile(WAVFile);
|
65
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
66
|
+
audioPlayerPage.steps.startPlayback();
|
67
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
68
|
+
});
|
69
|
+
|
70
|
+
it('When user uploads AAC audio file, audio player should be displayed in preview tab and user should be able to play AAC audio file.', () => {
|
71
|
+
audioPlayerPage.steps.switchToEditTab();
|
72
|
+
audioPlayerPage.steps.uploadFile(AACFile);
|
73
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
74
|
+
audioPlayerPage.steps.startPlayback();
|
75
|
+
audioPlayerPage.steps.waitForPlaybackToBegin();
|
76
|
+
});
|
77
|
+
});
|
78
|
+
});
|
@@ -0,0 +1,248 @@
|
|
1
|
+
import { audioPlayerPage } from "../../../pages";
|
2
|
+
import utilities from "../../../support/helpers/utilities";
|
3
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
4
|
+
import constants from "../../../fixtures/constants";
|
5
|
+
const css = Cypress.env('css');
|
6
|
+
|
7
|
+
describe('Audio player: Preview tab', () => {
|
8
|
+
before(() => {
|
9
|
+
cy.loginAs('admin');
|
10
|
+
});
|
11
|
+
|
12
|
+
describe('Title : Preview tab', () => {
|
13
|
+
abortEarlySetup();
|
14
|
+
before(() => {
|
15
|
+
cy.log('Navigating to audio player tool');
|
16
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
17
|
+
});
|
18
|
+
|
19
|
+
it('When the user has not set any title in the title input field, then no title should be displayed in the preview tab', () => {
|
20
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
21
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.titlePreviewTab(), 'notExist');
|
22
|
+
});
|
23
|
+
|
24
|
+
it('When the user enters text in the title input field, then title should be displayed in the preview tab', () => {
|
25
|
+
audioPlayerPage.steps.switchToEditTab();
|
26
|
+
audioPlayerPage.steps.enterTextInTitleInputField('Read carefully')
|
27
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
28
|
+
utilities.verifyInnerText(audioPlayerPage.titlePreviewTab(), 'Read carefully');
|
29
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.titlePreviewTab(), 'visible');
|
30
|
+
});
|
31
|
+
|
32
|
+
it('CSS of title text in preview tab', { tags: 'css' }, () => {
|
33
|
+
utilities.verifyCSS(audioPlayerPage.titlePreviewTab(), {
|
34
|
+
'color': css.color.flyoutTitle,
|
35
|
+
'font-size': css.fontSize.huge,
|
36
|
+
'font-weight': css.fontWeight.regular
|
37
|
+
});
|
38
|
+
});
|
39
|
+
|
40
|
+
it('Accessibility of title text in preview tab', { tags: 'a11y' }, () => {
|
41
|
+
cy.checkAccessibility(audioPlayerPage.titlePreviewTab().parents('.audio-resource-preview-wrapper'));
|
42
|
+
});
|
43
|
+
});
|
44
|
+
|
45
|
+
describe('Description : Preview tab', () => {
|
46
|
+
abortEarlySetup();
|
47
|
+
before(() => {
|
48
|
+
cy.log('Navigating to audio player tool');
|
49
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
50
|
+
});
|
51
|
+
|
52
|
+
it('When the user has not any description in the edit tab, then no description should be displayed in the preview tab', () => {
|
53
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
54
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.descriptionPreviewTab(), 'notExist');
|
55
|
+
});
|
56
|
+
|
57
|
+
it('When the user enters text in the description input field, then description should be displayed in the preview tab', () => {
|
58
|
+
audioPlayerPage.steps.switchToEditTab();
|
59
|
+
audioPlayerPage.steps.enterTextInDescriptionInputField('This is a description text');
|
60
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
61
|
+
audioPlayerPage.steps.resetQuestionPreview();
|
62
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.descriptionPreviewTab(), 'visible');
|
63
|
+
utilities.verifyInnerText(audioPlayerPage.descriptionPreviewTab(), 'This is a description text');
|
64
|
+
});
|
65
|
+
|
66
|
+
it('CSS of description text in preview tab', { tags: 'css' }, () => {
|
67
|
+
utilities.verifyCSS(audioPlayerPage.descriptionPreviewTab(), {
|
68
|
+
'color': css.color.text,
|
69
|
+
'font-size': css.fontSize.default,
|
70
|
+
'font-weight': css.fontWeight.regular
|
71
|
+
});
|
72
|
+
});
|
73
|
+
|
74
|
+
it('Accessibility of description text in preview tab', { tags: 'a11y' }, () => {
|
75
|
+
cy.checkAccessibility(audioPlayerPage.descriptionPreviewTab().parents('.audio-resource-preview-wrapper'));
|
76
|
+
});
|
77
|
+
});
|
78
|
+
|
79
|
+
describe('\'Description\' with image, equation, link and bold text : Preview tab', () => {
|
80
|
+
abortEarlySetup();
|
81
|
+
before(() => {
|
82
|
+
cy.log('Navigating to audio player tool');
|
83
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
84
|
+
});
|
85
|
+
|
86
|
+
it('When the user adds an image in the description input field using the image option from ckEditor toolbar, the image should be displayed in the preview tab', () => {
|
87
|
+
audioPlayerPage.steps.focusInDescriptionInputField();
|
88
|
+
audioPlayerPage.steps.selectImageOptionFromCKEditorToolbar()
|
89
|
+
audioPlayerPage.steps.addImageToInputField();
|
90
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
91
|
+
audioPlayerPage.steps.verifyImageAndAltTextInDescriptionPreviewTab();
|
92
|
+
});
|
93
|
+
|
94
|
+
it('When the user adds an equation in the description input field using the image option from ckEditor toolbar, the image should be displayed in the preview tab', () => {
|
95
|
+
audioPlayerPage.steps.switchToEditTab();
|
96
|
+
audioPlayerPage.steps.clearDescriptionInputField();
|
97
|
+
audioPlayerPage.steps.focusInDescriptionInputField();
|
98
|
+
audioPlayerPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
|
99
|
+
audioPlayerPage.steps.addGenericEquationUsingEquationEditorToCKEditorInputField();
|
100
|
+
audioPlayerPage.steps.focusAwayFromElement();
|
101
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
102
|
+
audioPlayerPage.steps.verifyEquationInDescriptionPreviewTab();
|
103
|
+
});
|
104
|
+
|
105
|
+
it('When the user adds a link in the description input field using the image option from ckEditor toolbar, the image should be displayed in the preview tab', () => {
|
106
|
+
audioPlayerPage.steps.switchToEditTab();
|
107
|
+
audioPlayerPage.steps.clearDescriptionInputField();
|
108
|
+
audioPlayerPage.steps.focusInDescriptionInputField();
|
109
|
+
audioPlayerPage.steps.selectLinkOptionFromCKEditorToolbar();
|
110
|
+
audioPlayerPage.steps.addLinkToInputField();
|
111
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
112
|
+
audioPlayerPage.steps.verifyLinkInDescriptionPreviewTab();
|
113
|
+
});
|
114
|
+
|
115
|
+
it('When the user adds a bold text in the description input field using the image option from ckEditor toolbar, the image should be displayed in the preview tab', () => {
|
116
|
+
audioPlayerPage.steps.switchToEditTab();
|
117
|
+
audioPlayerPage.steps.clearDescriptionInputField();
|
118
|
+
audioPlayerPage.steps.focusInDescriptionInputField();
|
119
|
+
audioPlayerPage.steps.selectBoldOptionFromCKEditorToolbar();
|
120
|
+
audioPlayerPage.steps.enterTextInDescriptionInputField('This is a bold text in description');
|
121
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
122
|
+
audioPlayerPage.steps.verifyBoldTextInDescriptionPreviewTab();
|
123
|
+
});
|
124
|
+
});
|
125
|
+
|
126
|
+
describe('Transcript : Preview tab', () => {
|
127
|
+
abortEarlySetup();
|
128
|
+
before(() => {
|
129
|
+
cy.log('Navigating to audio player tool');
|
130
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
131
|
+
});
|
132
|
+
|
133
|
+
it('When the user has not set any transcript in the edit tab, then transcript button should not be displayed in playback player in the preview tab', () => {
|
134
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
135
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.transcriptButton(), 'notExist');
|
136
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.transcriptModal(), 'notExist');
|
137
|
+
});
|
138
|
+
|
139
|
+
it('When the user enters text in the transcript input field, then transcript button should be displayed in playback player in the preview tab', () => {
|
140
|
+
audioPlayerPage.steps.switchToEditTab();
|
141
|
+
audioPlayerPage.steps.enterTextInTranscriptInputField('So let\'s examine the relationship between time and distance, using this turtle interactive. You\'re going to get a chance to do it as well. So here\'s my little turtle. And I\'m going to be watching him move along this ruler that\'s measuring the distance that he\'s traveling. And then that information is going to be graphed. The time here is on the horizontal axis, measured in seconds. And the distance is measured here along the vertical axis, in centimeters. Now this is the distance from a starting point. So I\'m going to click just time. And we\'ll get to distance here in just a minute. I click Walk, and my turtle starts walking. He\'s moving along my ruler. And as he\'s doing so, you\'ll notice that this ruler doesn\'t match up with my time. And that\'s because this is just measuring the time that he\'s spending traveling. So now right as he stops, you\'ll see that that time on the horizontal axis keeps going on.');
|
142
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
143
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.transcriptButton(), 'visible');
|
144
|
+
});
|
145
|
+
|
146
|
+
it('When the user clicks on the transcript button, a transcript modal should appear', () => {
|
147
|
+
audioPlayerPage.steps.clickOnTranscriptButton();
|
148
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.transcriptModal(), 'visible');
|
149
|
+
});
|
150
|
+
|
151
|
+
it('\'Transcript\' title should be displayed in the transcript modal', () => {
|
152
|
+
utilities.verifyInnerText(audioPlayerPage.transcriptTitlePreviewTab(), 'Transcript');
|
153
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.transcriptTitlePreviewTab(), 'visible');
|
154
|
+
});
|
155
|
+
|
156
|
+
it('A \'Print\' button and \'X\' close button should be displayed in the transcript modal', () => {
|
157
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.transcriptPrintButton(), 'visible');
|
158
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.transcriptModalCloseButton(), 'visible');
|
159
|
+
});
|
160
|
+
|
161
|
+
it('The text entered in the transcript input field should be displayed in the transcript modal', () => {
|
162
|
+
utilities.verifyInnerText(audioPlayerPage.transcriptContentPreviewTab(), 'So let\'s examine the relationship between time and distance, using this turtle interactive. You\'re going to get a chance to do it as well. So here\'s my little turtle. And I\'m going to be watching him move along this ruler that\'s measuring the distance that he\'s traveling. And then that information is going to be graphed. The time here is on the horizontal axis, measured in seconds. And the distance is measured here along the vertical axis, in centimeters. Now this is the distance from a starting point. So I\'m going to click just time. And we\'ll get to distance here in just a minute. I click Walk, and my turtle starts walking. He\'s moving along my ruler. And as he\'s doing so, you\'ll notice that this ruler doesn\'t match up with my time. And that\'s because this is just measuring the time that he\'s spending traveling. So now right as he stops, you\'ll see that that time on the horizontal axis keeps going on.');
|
163
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.transcriptContentPreviewTab(), 'visible');
|
164
|
+
});
|
165
|
+
|
166
|
+
//Failing due to https://redmine.zeuslearning.com/issues/549855
|
167
|
+
it('CSS of transcript modal', { tags: 'css' }, () => {
|
168
|
+
utilities.verifyCSS(audioPlayerPage.transcriptModal(), {
|
169
|
+
'background-color': css.color.titleContainerBg
|
170
|
+
});
|
171
|
+
utilities.verifyCSS(audioPlayerPage.transcriptTitlePreviewTab(), {
|
172
|
+
'color': css.color.sectionHeading,
|
173
|
+
'font-size': css.fontSize.default,
|
174
|
+
'font-weight': css.fontWeight.semibold
|
175
|
+
});
|
176
|
+
utilities.verifyCSS(audioPlayerPage.transcriptPrintButton().find('svg path'), {
|
177
|
+
'stroke': css.color.activeButtons
|
178
|
+
});
|
179
|
+
utilities.verifyCSS(audioPlayerPage.transcriptModalCloseButton().find('svg path'), {
|
180
|
+
'fill': css.color.activeButtons
|
181
|
+
});
|
182
|
+
});
|
183
|
+
|
184
|
+
it('Accessibility of transcript modal', { tags: 'a11y' }, () => {
|
185
|
+
cy.checkAccessibility(audioPlayerPage.transcriptModal());
|
186
|
+
});
|
187
|
+
|
188
|
+
it('The user should be able to close the transcript modal', () => {
|
189
|
+
audioPlayerPage.steps.closeTranscriptModal();
|
190
|
+
utilities.verifyElementVisibilityState(audioPlayerPage.transcriptModal(), 'notExist')
|
191
|
+
});
|
192
|
+
});
|
193
|
+
|
194
|
+
describe('\'Transcript\' with image, equation, link and bold text : Preview tab', () => {
|
195
|
+
abortEarlySetup();
|
196
|
+
before(() => {
|
197
|
+
cy.log('Navigating to audio player tool');
|
198
|
+
audioPlayerPage.steps.navigateToCreateResource('audio player');
|
199
|
+
});
|
200
|
+
|
201
|
+
it('When the user adds an image in the transcript input field using the image option from ckEditor toolbar, the image should be displayed in the preview tab', () => {
|
202
|
+
audioPlayerPage.steps.focusInTranscriptInputField();
|
203
|
+
audioPlayerPage.steps.selectImageOptionFromCKEditorToolbar()
|
204
|
+
audioPlayerPage.steps.addImageToInputField();
|
205
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
206
|
+
audioPlayerPage.steps.clickOnTranscriptButton();
|
207
|
+
audioPlayerPage.steps.verifyImageAndAltTextInTranscriptPreviewTab();
|
208
|
+
audioPlayerPage.steps.closeTranscriptModal();
|
209
|
+
});
|
210
|
+
|
211
|
+
it('When the user adds an equation in the transcript input field using the image option from ckEditor toolbar, the image should be displayed in the preview tab', () => {
|
212
|
+
audioPlayerPage.steps.switchToEditTab();
|
213
|
+
audioPlayerPage.steps.clearTranscriptInputField();
|
214
|
+
audioPlayerPage.steps.focusInTranscriptInputField();
|
215
|
+
audioPlayerPage.steps.selectEquationEditorOptionFromCKEditorToolbar();
|
216
|
+
audioPlayerPage.steps.addGenericEquationUsingEquationEditorToCKEditorInputField();
|
217
|
+
audioPlayerPage.steps.focusAwayFromElement();
|
218
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
219
|
+
audioPlayerPage.steps.clickOnTranscriptButton();
|
220
|
+
audioPlayerPage.steps.verifyEquationInTranscriptPreviewTab();
|
221
|
+
audioPlayerPage.steps.closeTranscriptModal();
|
222
|
+
});
|
223
|
+
|
224
|
+
it('When the user adds a link in the transcript input field using the image option from ckEditor toolbar, the image should be displayed in the preview tab', () => {
|
225
|
+
audioPlayerPage.steps.switchToEditTab();
|
226
|
+
audioPlayerPage.steps.clearTranscriptInputField();
|
227
|
+
audioPlayerPage.steps.focusInTranscriptInputField();
|
228
|
+
audioPlayerPage.steps.selectLinkOptionFromCKEditorToolbar();
|
229
|
+
audioPlayerPage.steps.addLinkToInputField();
|
230
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
231
|
+
audioPlayerPage.steps.clickOnTranscriptButton();
|
232
|
+
audioPlayerPage.steps.verifyLinkInTranscriptPreviewTab();
|
233
|
+
audioPlayerPage.steps.closeTranscriptModal();
|
234
|
+
});
|
235
|
+
|
236
|
+
it('When the user adds a bold text in the transcript input field using the image option from ckEditor toolbar, the image should be displayed in the preview tab', () => {
|
237
|
+
audioPlayerPage.steps.switchToEditTab();
|
238
|
+
audioPlayerPage.steps.clearTranscriptInputField();
|
239
|
+
audioPlayerPage.steps.focusInTranscriptInputField();
|
240
|
+
audioPlayerPage.steps.selectBoldOptionFromCKEditorToolbar();
|
241
|
+
audioPlayerPage.steps.enterTextInTranscriptInputField('This is a bold text in transcript');
|
242
|
+
audioPlayerPage.steps.switchToPreviewTab();
|
243
|
+
audioPlayerPage.steps.clickOnTranscriptButton();
|
244
|
+
audioPlayerPage.steps.verifyBoldTextInTranscriptPreviewTab();
|
245
|
+
audioPlayerPage.steps.closeTranscriptModal();
|
246
|
+
});
|
247
|
+
});
|
248
|
+
});
|
@@ -28,6 +28,6 @@ describe('Create Item page - drag and drop into categories: Preview tab scoring
|
|
28
28
|
dragAndDropIntoCategoriesPage.steps.switchToPreviewTab();
|
29
29
|
});
|
30
30
|
|
31
|
-
dragAndDropIntoCategoriesAllOrNothingScoring.tests.
|
31
|
+
dragAndDropIntoCategoriesAllOrNothingScoring.tests.verifyAutoScoredAllOrNothingWithAlternateAnswerWhenAlternatePointsAreGreaterThanCorrectPoints();
|
32
32
|
});
|
33
33
|
});
|
@@ -28,6 +28,6 @@ describe('Create Item page - drag and drop into categories: Preview tab Scoring
|
|
28
28
|
dragAndDropIntoCategoriesPage.steps.switchToPreviewTab();
|
29
29
|
});
|
30
30
|
|
31
|
-
dragAndDropIntoCategoriesAllOrNothingScoring.tests.
|
31
|
+
dragAndDropIntoCategoriesAllOrNothingScoring.tests.verifyAutoScoredAllOrNothingWithAlternateAnswerWhenAlternatePointsAreGreaterThanCorrectPoints();
|
32
32
|
});
|
33
33
|
});
|