itemengine-cypress-automation 1.0.248-23rdSeptUpdates-8103a8f.0 → 1.0.248
Sign up to get free protection for your applications and to get access to all the features.
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsAlternativePointsGreaterThanCorrectPoints.js +1 -1
- package/cypress/e2e/ILC/ChartsBar/Scoring/partialEqualWeightsCorrectPointsGreaterThanAlternativePoints.js +1 -1
- package/cypress/e2e/ILC/DragAndDropIntoCategoriesNew/Scoring/allOrNothingCorrectPointsEqualToAlternativePoints.js +5 -5
- package/cypress/e2e/ILC/DrawingResponse/drawingResponseCustomizeAdditionalOptions.js +8 -0
- package/cypress/e2e/ILC/EssayResponse/equationEditor.smoke.js +2 -0
- package/cypress/e2e/ILC/FillInTheGapsDragAndDropNew/dropzoneAlternateAnswerPopup.js +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageDropdownNew/editTabBasicSection.js +1 -2
- package/cypress/e2e/ILC/ListOrderingNew/styleAndLayoutCustomizationDropDown.js +166 -0
- package/cypress/e2e/ILC/ListOrderingNew/styleAndLayoutCustomizationSameList.js +1 -0
- package/cypress/e2e/ILC/ListOrderingNew/styleAndLayoutCustomizationSeperateList.js +344 -0
- package/cypress/e2e/ILC/Matching/questionInstructionsAndPromptSection.js +2 -2
- package/cypress/e2e/ILC/UploadResponse/thumbNail.smoke.js +121 -0
- package/cypress/e2e/ILC/VideoResponseNew/editTabBasicSection.js +6 -3
- package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js +2 -2
- package/cypress/pages/components/imageCanvasComponent.js +2 -3
- package/cypress/pages/components/listOrderingCommonStyleAndLayoutComponent.js +287 -53
- package/cypress/pages/fillInTheGapsDragAndDropPage.js +2 -1
- package/cypress/pages/listOrderingPage.js +1 -1
- package/cypress/pages/matchingPage.js +1 -1
- package/cypress/pages/uploadResponsePage.js +49 -4
- package/deploy/e2e/deploy.yaml +2 -2
- package/deploy/smoke/deploy.yaml +2 -2
- package/package.json +1 -1
@@ -56,7 +56,7 @@ describe('Create Item page - Matching : Question Instructions and prompt section
|
|
56
56
|
'font-size': css.fontSize.normal,
|
57
57
|
'font-weight': css.fontWeight.semibold
|
58
58
|
})
|
59
|
-
|
59
|
+
utilities.getNthElement( matchingPage.promptInputFieldWrapper(),0)
|
60
60
|
.within(() => {
|
61
61
|
utilities.verifyCSS(matchingPage.dragHandleButton(), {
|
62
62
|
'color': css.color.secondaryBtnActive,
|
@@ -76,7 +76,7 @@ describe('Create Item page - Matching : Question Instructions and prompt section
|
|
76
76
|
'font-size': css.fontSize.normal,
|
77
77
|
'font-weight': css.fontWeight.semibold
|
78
78
|
});
|
79
|
-
utilities.verifyCSS(utilities.getNthElement(matchingPage.promptInputField(),
|
79
|
+
utilities.verifyCSS(utilities.getNthElement( matchingPage.promptInputField(),0), {
|
80
80
|
'color': css.color.text,
|
81
81
|
'font-size': css.fontSize.default,
|
82
82
|
'font-weight': css.fontWeight.regular
|
@@ -0,0 +1,121 @@
|
|
1
|
+
import { uploadResponsePage, itemPreviewPage} from "../../../pages";
|
2
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
3
|
+
import utilities from "../../../support/helpers/utilities";
|
4
|
+
const css = Cypress.env('css');
|
5
|
+
let previewContentViews = ['Question preview', 'Item view', 'Item preview', 'Student view'];
|
6
|
+
const views = utilities.getViews(previewContentViews);
|
7
|
+
var itemReferenceID = "";
|
8
|
+
const filename = ['sample.csv', 'sample.xlsx', 'sample.gif', 'sample.jpg', 'sample.pdf', 'image.png', 'sample.ppt', 'sample.pub', 'sample.rtf', 'sample.txt', 'sample.doc', 'sample.xps', 'sample.zip', 'sample.heif', 'sample.heic'];
|
9
|
+
const fileThumbNail = ['notExist', 'notExist', 'visible', 'visible', 'notExist', 'visible', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist']
|
10
|
+
|
11
|
+
describe('Create item page - Upload response : Preview contents', () => {
|
12
|
+
before(() => {
|
13
|
+
cy.loginAs('admin');
|
14
|
+
});
|
15
|
+
|
16
|
+
views.forEach((view) => {
|
17
|
+
describe(`Preview tab contents - ${view}`, { tags: 'smoke' }, () => {
|
18
|
+
abortEarlySetup();
|
19
|
+
before(() => {
|
20
|
+
switch (view) {
|
21
|
+
case 'Question preview':
|
22
|
+
cy.log('Navigating to Upload response question type');
|
23
|
+
uploadResponsePage.steps.navigateToCreateQuestion('upload response');
|
24
|
+
cy.barsPreLoaderWait();
|
25
|
+
uploadResponsePage.steps.allotPoints(10);
|
26
|
+
uploadResponsePage.steps.addTextInQuestionInstructionsInputField('Question text');
|
27
|
+
uploadResponsePage.steps.setMaximumNumberOfFiles(1);
|
28
|
+
uploadResponsePage.steps.expandSupportedFileTypesAccordion();
|
29
|
+
uploadResponsePage.steps.selectSupportedFileTypeOption(23);
|
30
|
+
uploadResponsePage.steps.selectSupportedFileTypeOption(24);
|
31
|
+
uploadResponsePage.steps.switchToPreviewTab();
|
32
|
+
break;
|
33
|
+
case 'Item view':
|
34
|
+
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID[0])}`);
|
35
|
+
break;
|
36
|
+
case 'Item preview':
|
37
|
+
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID[0])}`);
|
38
|
+
uploadResponsePage.steps.switchToPreviewTab();
|
39
|
+
break;
|
40
|
+
case 'Student view':
|
41
|
+
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID[0])}`);
|
42
|
+
break;
|
43
|
+
};
|
44
|
+
});
|
45
|
+
|
46
|
+
if (view === 'Question preview') {
|
47
|
+
after(() => {
|
48
|
+
uploadResponsePage.steps.clickOnSaveQuestionButton();
|
49
|
+
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
50
|
+
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
51
|
+
});
|
52
|
+
};
|
53
|
+
|
54
|
+
it('Question instructions should be visible', () => {
|
55
|
+
utilities.verifyInnerText(uploadResponsePage.questionInstructionsText(), 'Question text');
|
56
|
+
utilities.verifyElementVisibilityState(uploadResponsePage.questionInstructionsText(), 'visible');
|
57
|
+
});
|
58
|
+
|
59
|
+
it('When user uploads file, then uploaded file name should be displayed, file count should get updated and thumb nail of the image should be visible', () => {
|
60
|
+
uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
|
61
|
+
uploadResponsePage.steps.verifyThumbNailExistOrNotExist('highlightImage.jpg', 'visible');
|
62
|
+
});
|
63
|
+
|
64
|
+
it('CSS of Thumb nail and File name in preview tab', { tags: 'css' }, () => {
|
65
|
+
utilities.verifyCSS(uploadResponsePage.imageThumbNail(), {
|
66
|
+
'box-sizing': 'border-box',
|
67
|
+
'min-height': 'auto',
|
68
|
+
'min-width': 'auto'
|
69
|
+
});
|
70
|
+
utilities.verifyCSS(uploadResponsePage.fileName(), {
|
71
|
+
'color': 'rgb(0, 0, 255)',
|
72
|
+
'font-size': '16px',
|
73
|
+
'font-weight': '400'
|
74
|
+
});
|
75
|
+
});
|
76
|
+
|
77
|
+
//Failed due to https://weldnorthed.atlassian.net/browse/IEI-4343
|
78
|
+
it.skip('Accessibility of Preview tab', { tags: 'a11y' }, () => {
|
79
|
+
cy.checkAccessibility(uploadResponsePage.questionWrapperPreviewTab());
|
80
|
+
});
|
81
|
+
|
82
|
+
it('When user clicks on the thumbnail then popup should open, and on clicking the close button the popup should close and the uploaded files should be displayed', () => {
|
83
|
+
uploadResponsePage.steps.clickOnImageThumbNail();
|
84
|
+
uploadResponsePage.steps.verifyImagePopUpDetail();
|
85
|
+
uploadResponsePage.steps.closeImagePopup();
|
86
|
+
uploadResponsePage.steps.verifyThumbNailExistOrNotExist('highlightImage.jpg', 'visible');
|
87
|
+
utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
|
88
|
+
});
|
89
|
+
|
90
|
+
it('When user clicks on the file name then popup should open, and on clicking the close button the popup should close and the uploaded files should be displayed', () => {
|
91
|
+
uploadResponsePage.steps.clickOnFileName();
|
92
|
+
uploadResponsePage.steps.verifyImagePopUpDetail();
|
93
|
+
uploadResponsePage.steps.closeImagePopup();
|
94
|
+
uploadResponsePage.steps.verifyThumbNailExistOrNotExist('highlightImage.jpg', 'visible');
|
95
|
+
utilities.verifyElementCount(uploadResponsePage.fileName(), 1);
|
96
|
+
});
|
97
|
+
|
98
|
+
it('When user uploads different file types then only image files should be displayed with thumbnail', () => {
|
99
|
+
for (let number = 0; number < 13; number++) {
|
100
|
+
uploadResponsePage.steps.deleteFile();
|
101
|
+
uploadResponsePage.steps.clickAcceptButtonInPopup();
|
102
|
+
uploadResponsePage.steps.uploadFile(`uploads/${filename[number]}`);
|
103
|
+
uploadResponsePage.steps.verifyThumbNailExistOrNotExist(filename[number], fileThumbNail[number]);
|
104
|
+
}
|
105
|
+
});
|
106
|
+
|
107
|
+
it('When user uploads a file in .heif or .heic format then and info icon with tool tip should be present and image thumb nail should not be present', () => {
|
108
|
+
for (let number = 13; number < 15; number++) {
|
109
|
+
uploadResponsePage.steps.deleteFile();
|
110
|
+
uploadResponsePage.steps.clickAcceptButtonInPopup();
|
111
|
+
uploadResponsePage.steps.uploadedFileContentsNotExistPreviewTab();
|
112
|
+
uploadResponsePage.steps.uploadFile(`uploads/${filename[number]}`);
|
113
|
+
uploadResponsePage.steps.verifyThumbNailExistOrNotExist(filename[number], fileThumbNail[number]);
|
114
|
+
utilities.verifyElementVisibilityState(uploadResponsePage.unSupportedFileInfoIcon(), 'visible');
|
115
|
+
uploadResponsePage.unSupportedFileInfoIcon()
|
116
|
+
.verifyTooltip('The image format (HEIC/HEIF) is not supported on your current device or operating system version. Please click the link to download and view the image.');
|
117
|
+
}
|
118
|
+
});
|
119
|
+
});
|
120
|
+
});
|
121
|
+
});
|
@@ -162,7 +162,8 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
162
162
|
|
163
163
|
it('When the user focuses in and out of the empty \'Maximum recording duration\' input field, \'Error: Maximum recording duration is required.\' validation error should be displayed below the \'Maximum recording duration\' input field', () => {
|
164
164
|
videoResponsePage.steps.clearMaximumRecordingDurationInputField();
|
165
|
-
|
165
|
+
//Failing due to https://redmine.zeuslearning.com/issues/573549
|
166
|
+
// utilities.verifyInnerText(videoResponsePage.errorMessage(), 'Error: Maximum recording duration is required.');
|
166
167
|
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'visible');
|
167
168
|
});
|
168
169
|
|
@@ -207,7 +208,8 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
207
208
|
|
208
209
|
it('When the user focuses in and out of the empty \'Maximum recording duration\' input field, \'Error: Maximum recording duration is required.\' validation error should be displayed below the \'Maximum recording duration\' input field', () => {
|
209
210
|
videoResponsePage.steps.clearMaximumRecordingDurationInputField();
|
210
|
-
|
211
|
+
//Failing due to https://redmine.zeuslearning.com/issues/573549
|
212
|
+
// utilities.verifyInnerText(videoResponsePage.errorMessage(), 'Error: Maximum recording duration is required.');
|
211
213
|
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'visible');
|
212
214
|
});
|
213
215
|
|
@@ -221,7 +223,8 @@ describe('Create item page - Video response: Question instructions, Maximum reco
|
|
221
223
|
it('When the user has set \'Maximum recording duration\' to \'0\' (zero), a validation message \'Error: Value must be greater than 0 mins.\' should be displayed', () => {
|
222
224
|
videoResponsePage.steps.setMaximumRecordingDuration(0);
|
223
225
|
videoResponsePage.steps.verifyMaximumRecordingDuration(0);
|
224
|
-
|
226
|
+
// Uncomment once https://redmine.zeuslearning.com/issues/583618 is resolved
|
227
|
+
// utilities.verifyInnerText(videoResponsePage.errorMessage(), 'Error: Value must be greater than 0 mins.');
|
225
228
|
utilities.verifyElementVisibilityState(videoResponsePage.errorMessage(), 'visible');
|
226
229
|
});
|
227
230
|
|
package/cypress/fixtures/drawingToolbarOptionsAdditionalOptionsAndSpecialAndMathCharacters.js
CHANGED
@@ -32,8 +32,8 @@ export const drawingToolbarOptionsAndAdditionalOptions = {
|
|
32
32
|
toolType: 'dialog'
|
33
33
|
},
|
34
34
|
{
|
35
|
-
displayName: '
|
36
|
-
tooltipText: 'The \'
|
35
|
+
displayName: 'Insert image',
|
36
|
+
tooltipText: 'The \'Insert image\' tool uploads an image.',
|
37
37
|
toolType: 'dialog'
|
38
38
|
},
|
39
39
|
{
|
@@ -264,8 +264,7 @@ const steps = {
|
|
264
264
|
imageCanvasComponent.canvasWidthInputField()
|
265
265
|
.invoke('attr', 'value')
|
266
266
|
.then((value) => {
|
267
|
-
imageCanvasComponent.canvasImage()
|
268
|
-
.should('have.css', 'width', `${value}px`);
|
267
|
+
imageCanvasComponent.canvasImage().should('have.css', 'width', `${value}px`);
|
269
268
|
});
|
270
269
|
},
|
271
270
|
|
@@ -792,7 +791,7 @@ const tests = {
|
|
792
791
|
* @param {"text container"|"dropzone"} response value for the error message
|
793
792
|
*/
|
794
793
|
verifyInsertAndDeleteResponseAreaFunctionality: (response) => {
|
795
|
-
it(`When user clicks on close button for response container, then response container should be removed from canvas and error message should be displayed`, () => {
|
794
|
+
it(`When user clicks on close button for response container, then response container should be removed from canvas and error message should not be displayed`, () => {
|
796
795
|
imageCanvasComponent.steps.removeResponseArea(0);
|
797
796
|
utilities.verifyElementVisibilityState(imageCanvasComponent.responseAreaWrapper(), 'notExist');
|
798
797
|
utilities.verifyElementVisibilityState(commonComponents.errorMessage(), 'visible');
|