itemengine-cypress-automation 1.0.566 → 1.0.567-ITEM-1376-2863b59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/Scoring/partialEqualWeightsBasic.js +0 -181
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/additionalSettingsBasic.js +2 -37
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/additionalSettingsForAnswerInputFields.js +4 -72
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/backgroundImageAndCanvasProperties.js +1 -19
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/responseAnswersAndAcceptedStudentInput.js +1 -56
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/setLimitSection.js +3 -57
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/specialCharactersSection.js +18 -15
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/studentViewSettings.js +1 -54
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/styleAndLayoutCustomization.js +0 -12
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/supportedFileTypes.js +2 -0
- package/cypress/e2e/ILC/dataApi/saveItems.js +1 -1
- package/cypress/e2e/ILC/dataApi/saveQuestions.js +7 -7
- package/cypress/e2e/ILC/dataApi/saveQuestionsMCQAlternateAnswers.js +6 -6
- package/cypress/pages/components/additionalSettingsPanel.js +0 -9
- package/cypress/pages/components/backgroundImageUploadComponent.js +1 -1
- package/cypress/pages/components/colorPopupComponent.js +1 -1
- package/cypress/pages/components/figCommonStyleAndLayoutComponent.js +10 -4
- package/cypress/pages/components/fillInTheGapsTextCommonComponent.js +1 -14
- package/cypress/pages/components/gradingViewEnumerationComponent.js +0 -5
- package/cypress/pages/components/imageCanvasComponent.js +3 -0
- package/cypress/pages/components/placeholderTextSectionComponent.js +0 -10
- package/cypress/pages/fillInTheGapsOverImageTextPage.js +1 -21
- package/package.json +1 -1
- package/cypress/e2e/ILC/FillInTheGapsOverImageTextNew/styleAndLayoutCustomizationAllViews.js +0 -156
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { fillInTheGapsOverImageTextPage
|
|
1
|
+
import { fillInTheGapsOverImageTextPage } from "../../../pages";
|
|
2
2
|
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
|
3
3
|
import utilities from "../../../support/helpers/utilities";
|
|
4
4
|
const css = Cypress.env('css');
|
|
5
|
-
let correctAnswerViews = ['Question preview', 'Item preview', 'Student view'];
|
|
6
|
-
const views = utilities.getViews(correctAnswerViews);
|
|
7
|
-
let itemReferenceID = "";
|
|
8
5
|
|
|
9
6
|
describe('Create Item page - drag and drop into categories: Student view settings', () => {
|
|
10
7
|
before(() => {
|
|
@@ -37,56 +34,6 @@ describe('Create Item page - drag and drop into categories: Student view setting
|
|
|
37
34
|
fillInTheGapsOverImageTextPage.tests.verifySpellCheckFunctionalityPreviewTab();
|
|
38
35
|
});
|
|
39
36
|
|
|
40
|
-
views.forEach((view) => {
|
|
41
|
-
describe(`${view}: Student view settings`, () => {
|
|
42
|
-
abortEarlySetup();
|
|
43
|
-
before(() => {
|
|
44
|
-
switch (view) {
|
|
45
|
-
case 'Question preview':
|
|
46
|
-
fillInTheGapsOverImageTextPage.steps.navigateToCreateQuestion('fill in the gaps over image with text');
|
|
47
|
-
cy.barsPreLoaderWait();
|
|
48
|
-
fillInTheGapsOverImageTextPage.steps.uploadFile('highlightImage.jpg');
|
|
49
|
-
fillInTheGapsOverImageTextPage.steps.verifyImageIsUploaded();
|
|
50
|
-
fillInTheGapsOverImageTextPage.steps.insertResponseArea(80);
|
|
51
|
-
fillInTheGapsOverImageTextPage.steps.checkSpellCheckCheckbox();
|
|
52
|
-
fillInTheGapsOverImageTextPage.steps.switchToPreviewTab();
|
|
53
|
-
break;
|
|
54
|
-
case 'Item preview':
|
|
55
|
-
cy.visit(`/item-engine/demo/edit-item/${utilities.base64Encoding(itemReferenceID)}`);
|
|
56
|
-
itemPreviewPage.steps.switchToPreviewTab();
|
|
57
|
-
break;
|
|
58
|
-
case 'Student view':
|
|
59
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
60
|
-
break;
|
|
61
|
-
};
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
beforeEach(() => {
|
|
65
|
-
switch (view) {
|
|
66
|
-
case 'Question preview':
|
|
67
|
-
break;
|
|
68
|
-
case 'Item preview':
|
|
69
|
-
break;
|
|
70
|
-
case 'Student view':
|
|
71
|
-
cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
if (view === 'Question preview') {
|
|
76
|
-
after(() => {
|
|
77
|
-
fillInTheGapsOverImageTextPage.steps.clickOnSaveQuestionButton();
|
|
78
|
-
fillInTheGapsOverImageTextPage.steps.clickOnConfirmButton();
|
|
79
|
-
utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
|
|
80
|
-
itemReferenceID = itemPreviewPage.steps.getItemReferenceID();
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
it('When the \'Spell check\' functionality is enabled, the response field should have \'spellcheck\' attribute set as \'true\' in the preview tab', () => {
|
|
85
|
-
fillInTheGapsOverImageTextPage.steps.verifySpellCheckOfResponseFieldPreviewTabEnabled(0);
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
|
|
90
37
|
/*describe('Allow students to check answer: Edit tab', () => {
|
|
91
38
|
abortEarlySetup();
|
|
92
39
|
before(() => {
|
|
@@ -399,18 +399,6 @@ describe('Create Item page - Fill in the gaps over image with text: Style and la
|
|
|
399
399
|
fillInTheGapsOverImageTextPage.steps.verifyResponseAreaDimensions(30, 118);
|
|
400
400
|
});
|
|
401
401
|
|
|
402
|
-
it('User should only be able to enter numeric values in the \'Height (px)\' and \'Width (px)\' input fields', () => {
|
|
403
|
-
fillInTheGapsOverImageTextPage.steps.setTextContainerHeight('1*2');
|
|
404
|
-
fillInTheGapsOverImageTextPage.steps.setTextContainerWidth('2%1');
|
|
405
|
-
fillInTheGapsOverImageTextPage.steps.verifyValueInTextContainerWidthAndHeightInputField('12', '21');
|
|
406
|
-
fillInTheGapsOverImageTextPage.steps.setTextContainerHeight('apple');
|
|
407
|
-
fillInTheGapsOverImageTextPage.steps.setTextContainerWidth('news');
|
|
408
|
-
fillInTheGapsOverImageTextPage.steps.verifyValueInTextContainerWidthAndHeightInputField('', '');
|
|
409
|
-
fillInTheGapsOverImageTextPage.steps.setTextContainerHeight('54!@');
|
|
410
|
-
fillInTheGapsOverImageTextPage.steps.setTextContainerWidth('@12');
|
|
411
|
-
fillInTheGapsOverImageTextPage.steps.verifyValueInTextContainerWidthAndHeightInputField('54', '12');
|
|
412
|
-
});
|
|
413
|
-
|
|
414
402
|
it('When the user specifies the height and width, the dimensions of the text containers should update accordingly', () => {
|
|
415
403
|
fillInTheGapsOverImageTextPage.steps.setTextContainerHeight(100);
|
|
416
404
|
fillInTheGapsOverImageTextPage.steps.setTextContainerWidth(200);
|
|
@@ -43,5 +43,7 @@ describe('Create item page - Fill in the gaps over image with text: Supported fi
|
|
|
43
43
|
utilities.verifyElementVisibilityState(fillInTheGapsOverImageTextPage.errorMessage(), 'notExist');
|
|
44
44
|
utilities.verifyElementVisibilityState(fillInTheGapsOverImageTextPage.canvasUploadedImage(), 'notExist');
|
|
45
45
|
});
|
|
46
|
+
|
|
47
|
+
fillInTheGapsOverImageTextPage.tests.verifyErrorMessageCSSAndA11y();
|
|
46
48
|
});
|
|
47
49
|
});
|
|
@@ -32,7 +32,7 @@ describe('Save Item Data API cases', () => {
|
|
|
32
32
|
.click();
|
|
33
33
|
cy.get('textarea[class="body-param__text"]')
|
|
34
34
|
.clear()
|
|
35
|
-
.fill(`{"questions":[{"reference":'${dataApiQuestionAndResourceIds[0]}',"instruction":"question instructions","points":20,"is_auto_scored":false,"type":"
|
|
35
|
+
.fill(`{"questions":[{"reference":'${dataApiQuestionAndResourceIds[0]}',"instruction":"question instructions","points":20,"is_auto_scored":false,"type":"essay response","question_xml":"<assessmentItem xmlns=\\"http://www.imsglobal.org/xsd/imsqti_v2p2\\" xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\" xsi:schemaLocation=\\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd\\" identifier=\\"extendedText\\" title=\\"This is title for Essay Response\\" timeDependent=\\"false\\"><responseDeclaration identifier=\\"RESPONSE\\" cardinality=\\"single\\" baseType=\\"string\\"/><outcomeDeclaration identifier=\\"SCORE\\" cardinality=\\"single\\" baseType=\\"float\\"/><itemBody><p class=\\"predefinedText\\" role=\\"presentation\\"/><extendedTextInteraction responseIdentifier=\\"RESPONSE\\" placeholderText=\\"Your Answer\\" expectedLength=\\"\\"><prompt>Please write a short essay in the response field displayed below</prompt></extendedTextInteraction></itemBody></assessmentItem>","scoring_type_id":2,"teacher_guideline":"guidelines for this questions if any","penalty_points":"0","min_score_if_attempted":"0","min_score_type":1,"penalty_point_type":1,"is_auto_penalty_setting":false,"is_negative_rounded":true,"specific_penalty_type":1,"penalty_points_for_each":"0"}]}'`);
|
|
36
36
|
cy.get('.execute')
|
|
37
37
|
.click();
|
|
38
38
|
cy.wait(2000);
|
|
@@ -94,7 +94,7 @@ describe('Set Question Data API cases', () => {
|
|
|
94
94
|
.click();
|
|
95
95
|
cy.get('textarea[class="body-param__text"]')
|
|
96
96
|
.clear()
|
|
97
|
-
.fill(`{\n "questions": [\n {\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
97
|
+
.fill(`{\n "questions": [\n {\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "Random XML",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0"\n }\n ],\n "meta": {\n "user": {\n "id": "dfbb6366-d88d-416d-9d9c-7ee6420817b3",\n "first_name": "fname",\n "last_name": "lname",\n "email": "user@demo.com"\n }\n }\n}`);
|
|
98
98
|
cy.get('.execute')
|
|
99
99
|
.click();
|
|
100
100
|
cy.wait(2000);
|
|
@@ -116,7 +116,7 @@ describe('Set Question Data API cases', () => {
|
|
|
116
116
|
it('Entering request with incorrect question_XML', () => {
|
|
117
117
|
cy.get('textarea[class="body-param__text"]')
|
|
118
118
|
.clear()
|
|
119
|
-
.fill(`{\n "questions": [\n {\n "reference": "uniq ques ref 002",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
119
|
+
.fill(`{\n "questions": [\n {\n "reference": "uniq ques ref 002",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "Random XML",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0"\n }\n ],\n "meta": {\n "user": {\n "id": "f8888c-f3fe-4642-440a-a32d47cd20be",\n "first_name": "fname",\n "last_name": "lname",\n "email": "user@demo.com"\n }\n }\n}`);
|
|
120
120
|
cy.get('.execute')
|
|
121
121
|
.click();
|
|
122
122
|
cy.wait(2000);
|
|
@@ -144,7 +144,7 @@ describe('Set Question Data API cases', () => {
|
|
|
144
144
|
it('Entering request with empty question_XML', () => {
|
|
145
145
|
cy.get('textarea[class="body-param__text"]')
|
|
146
146
|
.clear()
|
|
147
|
-
.fill(`{\n "questions": [\n {\n "reference": "${uuid()}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
147
|
+
.fill(`{\n "questions": [\n {\n "reference": "${uuid()}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0"\n }\n ],\n "meta": {\n "user": {\n "id": "dfbb6366-d88d-416d-9d9c-7ee6420817b3",\n "first_name": "fname",\n "last_name": "lname",\n "email": "user@demo.com"\n }\n }\n}`);
|
|
148
148
|
cy.get('.execute')
|
|
149
149
|
.click();
|
|
150
150
|
cy.wait(2000);
|
|
@@ -166,7 +166,7 @@ describe('Set Question Data API cases', () => {
|
|
|
166
166
|
it('Entering request with already existing question reference', () => {
|
|
167
167
|
cy.get('textarea[class="body-param__text"]')
|
|
168
168
|
.clear()
|
|
169
|
-
.fill('{\n "questions": [\n {\n "reference": "uniq ques ref 001",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
169
|
+
.fill('{\n "questions": [\n {\n "reference": "uniq ques ref 001",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "<assessmentItem \\r\\n xmlns=\\"http://www.imsglobal.org/xsd/imsqti_v2p2\\"\\r\\n xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\"\\r\\n xsi:schemaLocation=\\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd\\"\\r\\n identifier=\\"choiceMultiple\\" \\r\\n title=\\"Welcome to Biodome\\" \\r\\n timeDependent=\\"false\\"\\r\\n>\\r\\n <responseDeclaration identifier=\\"RESPONSE\\" cardinality=\\"multiple\\" baseType=\\"identifier\\">\\r\\n <correctResponse>\\r\\n <value>ChoiceA</value>\\r\\n <value>ChoiceE</value>\\r\\n </correctResponse>\\r\\n <mapping>\\r\\n <mapEntry mapKey=\\"ChoiceA\\" mappedValue=\\"1\\"/>\\r\\n <mapEntry mapKey=\\"ChoiceE\\" mappedValue=\\"3\\"/>\\r\\n </mapping>\\r\\n </responseDeclaration>\\r\\n <outcomeDeclaration identifier=\\"SCORE\\" cardinality=\\"single\\" baseType=\\"float\\"/>\\r\\n <itemBody>\\r\\n <choiceInteraction responseIdentifier=\\"RESPONSE\\">\\r\\n <prompt> \\r\\n Zebras having stripes is a trait that might help them to survive. \\r\\n Which of the statements below are possible advantages of stripes. \\r\\n Select all that apply\\r\\n </prompt>\\r\\n <simpleChoice identifier=\\"ChoiceA\\" >Stripes help to confuse predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceB\\" >Stripes help to attract predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceC\\" >Stripes help human hunters to see zebras more easily.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceD\\" >Stripes help zebras attract biting insects.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceE\\" >Stripes help zebras to find mates to reproduce with.</simpleChoice>\\r\\n </choiceInteraction>\\r\\n </itemBody>\\r\\n <responseProcessing template=\\"http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response\\"/>\\r\\n</assessmentItem>\\r\\n",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0"\n }\n ]\n}\n');
|
|
170
170
|
cy.get('.execute')
|
|
171
171
|
.click();
|
|
172
172
|
cy.wait(2000);
|
|
@@ -189,7 +189,7 @@ describe('Set Question Data API cases', () => {
|
|
|
189
189
|
unique_reference_id_2 = uuid();
|
|
190
190
|
cy.get('textarea[class="body-param__text"]')
|
|
191
191
|
.clear()
|
|
192
|
-
.fill(`{\n "questions": [\n {\n "reference": "${unique_reference_id_1}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
192
|
+
.fill(`{\n "questions": [\n {\n "reference": "${unique_reference_id_1}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "<assessmentItem \\r\\n xmlns=\\"http://www.imsglobal.org/xsd/imsqti_v2p2\\"\\r\\n xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\"\\r\\n xsi:schemaLocation=\\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd\\"\\r\\n identifier=\\"choiceMultiple\\" \\r\\n title=\\"Welcome to Biodome\\" \\r\\n timeDependent=\\"false\\"\\r\\n>\\r\\n <responseDeclaration identifier=\\"RESPONSE\\" cardinality=\\"multiple\\" baseType=\\"identifier\\">\\r\\n <correctResponse>\\r\\n <value>ChoiceA</value>\\r\\n <value>ChoiceE</value>\\r\\n </correctResponse>\\r\\n <mapping>\\r\\n <mapEntry mapKey=\\"ChoiceA\\" mappedValue=\\"1\\"/>\\r\\n <mapEntry mapKey=\\"ChoiceE\\" mappedValue=\\"3\\"/>\\r\\n </mapping>\\r\\n </responseDeclaration>\\r\\n <outcomeDeclaration identifier=\\"SCORE\\" cardinality=\\"single\\" baseType=\\"float\\"/>\\r\\n <itemBody>\\r\\n <choiceInteraction responseIdentifier=\\"RESPONSE\\">\\r\\n <prompt> \\r\\n Zebras having stripes is a trait that might help them to survive. \\r\\n Which of the statements below are possible advantages of stripes. \\r\\n Select all that apply\\r\\n </prompt>\\r\\n <simpleChoice identifier=\\"ChoiceA\\" >Stripes help to confuse predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceB\\" >Stripes help to attract predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceC\\" >Stripes help human hunters to see zebras more easily.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceD\\" >Stripes help zebras attract biting insects.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceE\\" >Stripes help zebras to find mates to reproduce with.</simpleChoice>\\r\\n </choiceInteraction>\\r\\n </itemBody>\\r\\n <responseProcessing template=\\"http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response\\"/>\\r\\n</assessmentItem>\\r\\n",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0"\n },\n {\n "reference": "${unique_reference_id_2}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "<assessmentItem \\r\\n xmlns=\\"http://www.imsglobal.org/xsd/imsqti_v2p2\\"\\r\\n xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\"\\r\\n xsi:schemaLocation=\\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd\\"\\r\\n identifier=\\"choiceMultiple\\" \\r\\n title=\\"Welcome to Biodome\\" \\r\\n timeDependent=\\"false\\"\\r\\n>\\r\\n <responseDeclaration identifier=\\"RESPONSE\\" cardinality=\\"multiple\\" baseType=\\"identifier\\">\\r\\n <correctResponse>\\r\\n <value>ChoiceA</value>\\r\\n <value>ChoiceE</value>\\r\\n </correctResponse>\\r\\n <mapping>\\r\\n <mapEntry mapKey=\\"ChoiceA\\" mappedValue=\\"1\\"/>\\r\\n <mapEntry mapKey=\\"ChoiceE\\" mappedValue=\\"3\\"/>\\r\\n </mapping>\\r\\n </responseDeclaration>\\r\\n <outcomeDeclaration identifier=\\"SCORE\\" cardinality=\\"single\\" baseType=\\"float\\"/>\\r\\n <itemBody>\\r\\n <choiceInteraction responseIdentifier=\\"RESPONSE\\">\\r\\n <prompt> \\r\\n Zebras having stripes is a trait that might help them to survive. \\r\\n Which of the statements below are possible advantages of stripes. \\r\\n Select all that apply\\r\\n </prompt>\\r\\n <simpleChoice identifier=\\"ChoiceA\\" >Stripes help to confuse predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceB\\" >Stripes help to attract predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceC\\" >Stripes help human hunters to see zebras more easily.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceD\\" >Stripes help zebras attract biting insects.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceE\\" >Stripes help zebras to find mates to reproduce with.</simpleChoice>\\r\\n </choiceInteraction>\\r\\n </itemBody>\\r\\n <responseProcessing template=\\"http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response\\"/>\\r\\n</assessmentItem>\\r\\n",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0"\n }\n ]\n}\n`);
|
|
193
193
|
cy.get('.execute')
|
|
194
194
|
.click();
|
|
195
195
|
cy.wait(2000);
|
|
@@ -211,13 +211,13 @@ describe('Set Question Data API cases', () => {
|
|
|
211
211
|
.should('have.text', '200');
|
|
212
212
|
cy.get('pre[class="microlight"]')
|
|
213
213
|
.eq(1)
|
|
214
|
-
.should('have.text', `{\n "meta": {\n "status": true,\n "timestamp": ${timestamp}\n },\n "data": [\n {\n "type": "
|
|
214
|
+
.should('have.text', `{\n "meta": {\n "status": true,\n "timestamp": ${timestamp}\n },\n "data": [\n {\n "type": "multiple selection",\n "reference": "${unique_reference_id_1}"\n },\n {\n "type": "multiple selection",\n "reference": "${unique_reference_id_2}"\n }\n ]\n}\n`);
|
|
215
215
|
});
|
|
216
216
|
|
|
217
217
|
it('Entering request without XML and providing the data content, response should come with status code 200', () => {
|
|
218
218
|
cy.get('textarea[class="body-param__text"]')
|
|
219
219
|
.clear()
|
|
220
|
-
.fill('{\n "questions": [\n {\n \"type\": \"
|
|
220
|
+
.fill('{\n "questions": [\n {\n \"type\": \"multiple selection\",\n \"reference\": \"${uuid()}\",\n \"content\": {\n \"instruction\": \"<p>test</p>\",\n \"acknowledgements\": \"Acknowledgements and references\",\n \"sampleAnswer\": \"Sample Answer\"\n },\n \"options\": [\n {\n \"id\": \"ChoiceA\",\n \"label\": \"option 1\",\n \"locked\": false\n },\n {\n \"id\": \"ChoiceB\",\n \"label\": \"option 2\",\n \"locked\": false\n },\n {\n \"id\": \"ChoiceC\",\n \"label\": \"option 3\",\n \"locked\": false\n },\n {\n \"id\": \"ChoiceD\",\n \"label\": \"option 4\",\n \"locked\": true\n }\n ],\n \"correctAnswer\": [\n {\n \"answers\": [\n { \"answer\": \"ChoiceA\", \"points\": 5 },\n { \"answer\": \"ChoiceC\", \"points\": 7 }\n ]\n },\n {\n \"answers\": [\n { \"answer\": \"ChoiceC\", \"points\": 7 }\n ]\n }\n ],\n \"scoring\": {\n \"points\": 10,\n \"scoringType\": \"auto-scored\",\n \"subScoringType\": \"partialMatch\",\n \"penaltyPoints\": 1,\n \"penaltyPointType\": \"penaltyForEntireQuestion\",\n \"penaltyPointsForEach\": null,\n \"minScoreType\": \"awardMinScoreOnlyIfAttempted\",\n \"minScorePoints\": 1,\n \"isRoundingEnabled\": true,\n \"roundingType\": \"roundToNearestInteger\",\n \"isNegativeRounded\": false,\n \"scoringGuidance\": \"Teacher Scoring Guidance\"\n },\n \"settings\": {\n \"studentViewSettings\": {\n \"shuffleOption\": true,\n \"positionLock\": true,\n \"allowSettingMinOrMaxNumOfAnswers\": true,\n \"minNumAnswers\": 1,\n \"maxNumAnswers\": 2,\n \"allowCheckAnswer\": true,\n \"maxAttemptsToCheckAnswer\": 1\n },\n \"additionalSettings\": {\n \"orientation\": \"horizontal\",\n \"multipleColumns\": true,\n \"numOfOptionColumns\": 2,\n \"fontSize\": \"medium\",\n \"alignment\": \"left\",\n \"multipleSelection\": true,\n \"optionStyleType\": \"Default\",\n \"optionNumeration\": \"Default\",\n \"nonAccessible\": true\n },\n \"printLayoutSettings\": {\n \"excludeFromPrint\": false,\n \"printInstruction\": \"Question instructions for print\"\n },\n \"toolSettings\": [\n {\n \"resource\": \"ruler\",\n \"enabled\": true\n },\n {\n \"resource\": \"protractor\",\n \"enabled\": true\n },\n {\n \"resource\": \"readingRuler\",\n \"enabled\": false\n },\n {\n \"resource\": \"simpleCalculator\",\n \"enabled\": false\n },\n {\n \"resource\": \"scientificCalculator\",\n \"enabled\": false\n },\n {\n \"resource\": \"compass\",\n \"enabled\": false\n }\n ]\n }\n} \n]\n}\n');
|
|
221
221
|
cy.get('.execute')
|
|
222
222
|
.click();
|
|
223
223
|
cy.wait(2000);
|
|
@@ -28,7 +28,7 @@ describe('Save MCQ Question with Alternate Answers API cases', () => {
|
|
|
28
28
|
.click();
|
|
29
29
|
cy.get('textarea[class="body-param__text"]')
|
|
30
30
|
.clear()
|
|
31
|
-
.fill(`{\n "questions": [\n {\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
31
|
+
.fill(`{\n "questions": [\n {\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "<assessmentItem \\r\\n xmlns=\\"http://www.imsglobal.org/xsd/imsqti_v2p2\\"\\r\\n xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\"\\r\\n xsi:schemaLocation=\\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd\\"\\r\\n identifier=\\"choiceMultiple\\" \\r\\n title=\\"Welcome to Biodome\\" \\r\\n timeDependent=\\"false\\"\\r\\n>\\r\\n <responseDeclaration identifier=\\"RESPONSE\\" cardinality=\\"multiple\\" baseType=\\"identifier\\">\\r\\n <correctResponse>\\r\\n <value>ChoiceA</value>\\r\\n <value>ChoiceE</value>\\r\\n </correctResponse>\\r\\n <mapping>\\r\\n <mapEntry mapKey=\\"ChoiceA\\" mappedValue=\\"1\\"/>\\r\\n <mapEntry mapKey=\\"ChoiceE\\" mappedValue=\\"3\\"/>\\r\\n </mapping>\\r\\n </responseDeclaration>\\r\\n <outcomeDeclaration identifier=\\"SCORE\\" cardinality=\\"single\\" baseType=\\"float\\"/>\\r\\n <itemBody>\\r\\n <choiceInteraction responseIdentifier=\\"RESPONSE\\">\\r\\n <prompt> \\r\\n Zebras having stripes is a trait that might help them to survive. \\r\\n Which of the statements below are possible advantages of stripes. \\r\\n Select all that apply\\r\\n </prompt>\\r\\n <simpleChoice identifier=\\"ChoiceA\\" >Stripes help to confuse predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceB\\" >Stripes help to attract predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceC\\" >Stripes help human hunters to see zebras more easily.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceD\\" >Stripes help zebras attract biting insects.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceE\\" >Stripes help zebras to find mates to reproduce with.</simpleChoice>\\r\\n </choiceInteraction>\\r\\n </itemBody>\\r\\n <responseProcessing template=\\"http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response\\"/>\\r\\n</assessmentItem>\\r\\n",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0",\n "validation": {\n "alt_responses": [\n [\n {\n "score": 1,\n "value": "ChoiceA"\n },\n {\n "score": 3,\n "value": "ChoiceE"\n }\n ],\n [\n {\n "score": 2,\n "value": "ChoiceB"\n },\n {\n "score": 2,\n "value": "ChoiceD"\n }\n ]\n ]\n }\n }\n ]\n}`);
|
|
32
32
|
cy.get('.execute')
|
|
33
33
|
.click();
|
|
34
34
|
cy.wait(2000);
|
|
@@ -50,7 +50,7 @@ describe('Save MCQ Question with Alternate Answers API cases', () => {
|
|
|
50
50
|
it('Entering request with incorrect question_XML', () => {
|
|
51
51
|
cy.get('textarea[class="body-param__text"]')
|
|
52
52
|
.clear()
|
|
53
|
-
.fill(`{\n "questions": [\n {\n "reference": "1ed861b-7dd3-1a1-0abc-7158cf8d4a7-dataAPiTest",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
53
|
+
.fill(`{\n "questions": [\n {\n "reference": "1ed861b-7dd3-1a1-0abc-7158cf8d4a7-dataAPiTest",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "Random XML",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0",\n "validation": {\n "alt_responses": [\n [\n {\n "score": 1,\n "value": "ChoiceA"\n },\n {\n "score": 3,\n "value": "ChoiceE"\n }\n ],\n [\n {\n "score": 2,\n "value": "ChoiceB"\n },\n {\n "score": 2,\n "value": "ChoiceD"\n }\n ]\n ]\n }\n }\n ]\n}`);
|
|
54
54
|
cy.get('.execute')
|
|
55
55
|
.click();
|
|
56
56
|
cy.wait(2000);
|
|
@@ -78,7 +78,7 @@ describe('Save MCQ Question with Alternate Answers API cases', () => {
|
|
|
78
78
|
it('Entering request with empty question_XML', () => {
|
|
79
79
|
cy.get('textarea[class="body-param__text"]')
|
|
80
80
|
.clear()
|
|
81
|
-
.fill(`{\n "questions": [\n {\n "reference": "${uuid()}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
81
|
+
.fill(`{\n "questions": [\n {\n "reference": "${uuid()}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0",\n "validation": {\n "alt_responses": [\n [\n {\n "score": 1,\n "value": "ChoiceA"\n },\n {\n "score": 3,\n "value": "ChoiceE"\n }\n ],\n [\n {\n "score": 2,\n "value": "ChoiceB"\n },\n {\n "score": 2,\n "value": "ChoiceD"\n }\n ]\n ]\n }\n }\n ]\n}`);
|
|
82
82
|
cy.get('.execute')
|
|
83
83
|
.click();
|
|
84
84
|
cy.wait(2000);
|
|
@@ -100,7 +100,7 @@ describe('Save MCQ Question with Alternate Answers API cases', () => {
|
|
|
100
100
|
it('Entering request with already existing question reference', () => {
|
|
101
101
|
cy.get('textarea[class="body-param__text"]')
|
|
102
102
|
.clear()
|
|
103
|
-
.fill('{\n "questions": [\n {\n "reference": "1ed861b-7dd3-1a1-0abc-7158cf8d4a7-dataAPiTest",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
103
|
+
.fill('{\n "questions": [\n {\n "reference": "1ed861b-7dd3-1a1-0abc-7158cf8d4a7-dataAPiTest",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "<assessmentItem \\r\\n xmlns=\\"http://www.imsglobal.org/xsd/imsqti_v2p2\\"\\r\\n xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\"\\r\\n xsi:schemaLocation=\\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd\\"\\r\\n identifier=\\"choiceMultiple\\" \\r\\n title=\\"Welcome to Biodome\\" \\r\\n timeDependent=\\"false\\"\\r\\n>\\r\\n <responseDeclaration identifier=\\"RESPONSE\\" cardinality=\\"multiple\\" baseType=\\"identifier\\">\\r\\n <correctResponse>\\r\\n <value>ChoiceA</value>\\r\\n <value>ChoiceE</value>\\r\\n </correctResponse>\\r\\n <mapping>\\r\\n <mapEntry mapKey=\\"ChoiceA\\" mappedValue=\\"1\\"/>\\r\\n <mapEntry mapKey=\\"ChoiceE\\" mappedValue=\\"3\\"/>\\r\\n </mapping>\\r\\n </responseDeclaration>\\r\\n <outcomeDeclaration identifier=\\"SCORE\\" cardinality=\\"single\\" baseType=\\"float\\"/>\\r\\n <itemBody>\\r\\n <choiceInteraction responseIdentifier=\\"RESPONSE\\">\\r\\n <prompt> \\r\\n Zebras having stripes is a trait that might help them to survive. \\r\\n Which of the statements below are possible advantages of stripes. \\r\\n Select all that apply\\r\\n </prompt>\\r\\n <simpleChoice identifier=\\"ChoiceA\\" >Stripes help to confuse predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceB\\" >Stripes help to attract predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceC\\" >Stripes help human hunters to see zebras more easily.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceD\\" >Stripes help zebras attract biting insects.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceE\\" >Stripes help zebras to find mates to reproduce with.</simpleChoice>\\r\\n </choiceInteraction>\\r\\n </itemBody>\\r\\n <responseProcessing template=\\"http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response\\"/>\\r\\n</assessmentItem>\\r\\n",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0",\n "validation": {\n "alt_responses": [\n [\n {\n "score": 1,\n "value": "ChoiceA"\n },\n {\n "score": 3,\n "value": "ChoiceE"\n }\n ],\n [\n {\n "score": 2,\n "value": "ChoiceB"\n },\n {\n "score": 2,\n "value": "ChoiceD"\n }\n ]\n ]\n }\n }\n ]\n}');
|
|
104
104
|
cy.get('.execute')
|
|
105
105
|
.click();
|
|
106
106
|
cy.wait(2000);
|
|
@@ -121,7 +121,7 @@ describe('Save MCQ Question with Alternate Answers API cases', () => {
|
|
|
121
121
|
unique_reference_id_2 = uuid();
|
|
122
122
|
cy.get('textarea[class="body-param__text"]')
|
|
123
123
|
.clear()
|
|
124
|
-
.fill(`{\n "questions": [\n {\n "reference": "${unique_reference_id_1}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "
|
|
124
|
+
.fill(`{\n "questions": [\n {\n "reference": "${unique_reference_id_1}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "<assessmentItem \\r\\n xmlns=\\"http://www.imsglobal.org/xsd/imsqti_v2p2\\"\\r\\n xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\"\\r\\n xsi:schemaLocation=\\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd\\"\\r\\n identifier=\\"choiceMultiple\\" \\r\\n title=\\"Welcome to Biodome\\" \\r\\n timeDependent=\\"false\\"\\r\\n>\\r\\n <responseDeclaration identifier=\\"RESPONSE\\" cardinality=\\"multiple\\" baseType=\\"identifier\\">\\r\\n <correctResponse>\\r\\n <value>ChoiceA</value>\\r\\n <value>ChoiceE</value>\\r\\n </correctResponse>\\r\\n <mapping>\\r\\n <mapEntry mapKey=\\"ChoiceA\\" mappedValue=\\"1\\"/>\\r\\n <mapEntry mapKey=\\"ChoiceE\\" mappedValue=\\"3\\"/>\\r\\n </mapping>\\r\\n </responseDeclaration>\\r\\n <outcomeDeclaration identifier=\\"SCORE\\" cardinality=\\"single\\" baseType=\\"float\\"/>\\r\\n <itemBody>\\r\\n <choiceInteraction responseIdentifier=\\"RESPONSE\\">\\r\\n <prompt> \\r\\n Zebras having stripes is a trait that might help them to survive. \\r\\n Which of the statements below are possible advantages of stripes. \\r\\n Select all that apply\\r\\n </prompt>\\r\\n <simpleChoice identifier=\\"ChoiceA\\" >Stripes help to confuse predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceB\\" >Stripes help to attract predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceC\\" >Stripes help human hunters to see zebras more easily.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceD\\" >Stripes help zebras attract biting insects.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceE\\" >Stripes help zebras to find mates to reproduce with.</simpleChoice>\\r\\n </choiceInteraction>\\r\\n </itemBody>\\r\\n <responseProcessing template=\\"http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response\\"/>\\r\\n</assessmentItem>\\r\\n",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0",\n "validation": {\n "alt_responses": [\n [\n {\n "score": 1,\n "value": "ChoiceA"\n },\n {\n "score": 3,\n "value": "ChoiceE"\n }\n ],\n [\n {\n "score": 2,\n "value": "ChoiceB"\n },\n {\n "score": 2,\n "value": "ChoiceD"\n }\n ]\n ]\n }\n },\n {\n "reference": "${unique_reference_id_2}",\n "instruction": "question instructions",\n "points": 10,\n "is_auto_scored": true,\n "type": "multiple selection",\n "question_xml": "<assessmentItem \\r\\n xmlns=\\"http://www.imsglobal.org/xsd/imsqti_v2p2\\"\\r\\n xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\"\\r\\n xsi:schemaLocation=\\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p2.xsd\\"\\r\\n identifier=\\"choiceMultiple\\" \\r\\n title=\\"Welcome to Biodome\\" \\r\\n timeDependent=\\"false\\"\\r\\n>\\r\\n <responseDeclaration identifier=\\"RESPONSE\\" cardinality=\\"multiple\\" baseType=\\"identifier\\">\\r\\n <correctResponse>\\r\\n <value>ChoiceA</value>\\r\\n <value>ChoiceE</value>\\r\\n </correctResponse>\\r\\n </responseDeclaration>\\r\\n <outcomeDeclaration identifier=\\"SCORE\\" cardinality=\\"single\\" baseType=\\"float\\"/>\\r\\n <itemBody>\\r\\n <choiceInteraction responseIdentifier=\\"RESPONSE\\">\\r\\n <prompt> \\r\\n Zebras having stripes is a trait that might help them to survive. \\r\\n Which of the statements below are possible advantages of stripes. \\r\\n Select all that apply\\r\\n </prompt>\\r\\n <simpleChoice identifier=\\"ChoiceA\\" >Stripes help to confuse predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceB\\" >Stripes help to attract predators.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceC\\" >Stripes help human hunters to see zebras more easily.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceD\\" >Stripes help zebras attract biting insects.</simpleChoice>\\r\\n <simpleChoice identifier=\\"ChoiceE\\" >Stripes help zebras to find mates to reproduce with.</simpleChoice>\\r\\n </choiceInteraction>\\r\\n </itemBody>\\r\\n <responseProcessing template=\\"http://www.imsglobal.org/question/qti_v2p2/rptemplates/map_response\\"/>\\r\\n</assessmentItem>\\r\\n",\n "scoring_type_id": 1,\n "teacher_guideline": "guidelines for this questions if any",\n "penalty_points": "0",\n "min_score_if_attempted": "0",\n "validation": {\n "alt_responses": [\n {\n "score": 4,\n "values": [\n "ChoiceA",\n "ChoiceE"\n ]\n },\n {\n "score": 4,\n "values": [\n "ChoiceB",\n "ChoiceD"\n ]\n }\n ]\n }\n }\n ]\n}`);
|
|
125
125
|
cy.get('.execute')
|
|
126
126
|
.click();
|
|
127
127
|
cy.wait(2000);
|
|
@@ -144,6 +144,6 @@ describe('Save MCQ Question with Alternate Answers API cases', () => {
|
|
|
144
144
|
.should('have.text', '200');
|
|
145
145
|
cy.get('pre[class="microlight"]')
|
|
146
146
|
.eq(1)
|
|
147
|
-
.should('have.text', `{\n "meta": {\n "status": true,\n "timestamp": ${timestamp}\n },\n "data": [\n {\n "type": "
|
|
147
|
+
.should('have.text', `{\n "meta": {\n "status": true,\n "timestamp": ${timestamp}\n },\n "data": [\n {\n "type": "multiple selection",\n "reference": "${unique_reference_id_1}"\n },\n {\n "type": "multiple selection",\n "reference": "${unique_reference_id_2}"\n }\n ]\n}\n`);
|
|
148
148
|
});
|
|
149
149
|
});
|
|
@@ -39,15 +39,6 @@ const steps = {
|
|
|
39
39
|
.should('have.attr', 'aria-expanded', 'true');
|
|
40
40
|
},
|
|
41
41
|
|
|
42
|
-
collapsedAdditionalSettings: () => {
|
|
43
|
-
additionalSettingsPanel.additionalSettingsPanel()
|
|
44
|
-
.click();
|
|
45
|
-
cy.log('Need this wait in order for the font size dropdown to render properly');
|
|
46
|
-
cy.wait(2000);
|
|
47
|
-
additionalSettingsPanel.additionalSettingsPanel()
|
|
48
|
-
.should('have.attr', 'aria-expanded', 'false');
|
|
49
|
-
},
|
|
50
|
-
|
|
51
42
|
//V3 - Need to be updated in all files
|
|
52
43
|
selectFontSizeOptionFromFontSizeDropdown: (dropdownOption) => {
|
|
53
44
|
additionalSettingsPanel.steps.expandFontSizeDropdown();
|
|
@@ -147,7 +147,7 @@ const tests = {
|
|
|
147
147
|
.trigger('mouseover');
|
|
148
148
|
utilities.verifyCSS(commonComponents.tooltipText(), {
|
|
149
149
|
'color': css.color.whiteText,
|
|
150
|
-
'font-size': css.fontSize.
|
|
150
|
+
'font-size': css.fontSize.normal,
|
|
151
151
|
'font-weight': css.fontWeight.regular,
|
|
152
152
|
'background-color': css.color.tooltipBg
|
|
153
153
|
});
|
|
@@ -23,7 +23,7 @@ const selectors = {
|
|
|
23
23
|
opacityLabel: () => cy.get('[class*="ColorPickerstyles__SliderWrapper"]'),
|
|
24
24
|
//Need to update when feedback scale is available
|
|
25
25
|
opacitySlider: () => cy.get('[class*="ColorPickerstyles__SliderWrapper"] .color-slider'),
|
|
26
|
-
opacityInputField: () => cy.get('.opacity-wrapper [aria-label="Opacity"]
|
|
26
|
+
opacityInputField: () => cy.get('.opacity-wrapper [aria-label="Opacity"]'),
|
|
27
27
|
recommendedColorsLabel: () => cy.get('.color-picker-footer-wrapper'),
|
|
28
28
|
recommendedColorBlock: () => cy.get('[class*="ColorPickerstyles__ColorBlockWrapper"] .color-picker-block'),
|
|
29
29
|
recommendedColorBlockSelectedIcon: () => cy.get('.selected-button-icon'),
|
|
@@ -260,9 +260,15 @@ const tests = {
|
|
|
260
260
|
'font-weight': css.fontWeight.regular,
|
|
261
261
|
'border': `1px solid ${css.color.figDefaultComponentBorder}`
|
|
262
262
|
});
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
263
|
+
let selectedToggleButton;
|
|
264
|
+
if (selectedStyle == 'Solid') {
|
|
265
|
+
selectedToggleButton = figCommonStyleAndLayoutComponent.solidBorderStyleToggleButton();
|
|
266
|
+
} else {
|
|
267
|
+
selectedToggleButton = figCommonStyleAndLayoutComponent.dashedBorderStyleToggleButton();
|
|
268
|
+
}
|
|
269
|
+
utilities.verifyCSS(selectedToggleButton, {
|
|
270
|
+
'color': css.color.defaultBackground,
|
|
271
|
+
'background-color': css.color.secondaryBtnBg,
|
|
266
272
|
'font-size': css.fontSize.default,
|
|
267
273
|
'font-weight': css.fontWeight.regular,
|
|
268
274
|
'border': `2px solid ${css.color.secondaryBtnActive}`
|
|
@@ -298,7 +304,7 @@ const tests = {
|
|
|
298
304
|
'background-color': css.color.secondaryBtnBg,
|
|
299
305
|
'font-size': css.fontSize.default,
|
|
300
306
|
'font-weight': css.fontWeight.regular,
|
|
301
|
-
'border': `2px solid ${css.color.
|
|
307
|
+
'border': `2px solid ${css.color.secondaryBtnBorder}`
|
|
302
308
|
});
|
|
303
309
|
utilities.hoverAwayFromElement();
|
|
304
310
|
});
|
|
@@ -299,7 +299,7 @@ const steps = {
|
|
|
299
299
|
*/
|
|
300
300
|
verifyMaximumCharacterLimitInPreviewTab: (responseIndex, maxlen) => {
|
|
301
301
|
utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldPreviewTab(), responseIndex)
|
|
302
|
-
.should('have.attr', '
|
|
302
|
+
.should('have.attr', 'maxlength', maxlen);
|
|
303
303
|
},
|
|
304
304
|
|
|
305
305
|
/**
|
|
@@ -897,19 +897,6 @@ const steps = {
|
|
|
897
897
|
});
|
|
898
898
|
},
|
|
899
899
|
|
|
900
|
-
/**
|
|
901
|
-
* Verifies the height and width of the answer input field at the specified index.
|
|
902
|
-
* @param {number} responseAreaIndex - The index of the response area to verify.
|
|
903
|
-
* @param {string} Height - The expected height value in CSS format.
|
|
904
|
-
* @param {string} Width - The expected width value in CSS format.
|
|
905
|
-
*/
|
|
906
|
-
verifyAnswerInputFieldHeightAndWidthInAllViews: (responseAreaIndex, Height, Width) => {
|
|
907
|
-
utilities.verifyCSS(utilities.getNthElement(fillInTheGapsTextCommonComponent.answerInputFieldPreviewTab().parent('.response-input-field'), responseAreaIndex), {
|
|
908
|
-
'height': Height,
|
|
909
|
-
'width': Width,
|
|
910
|
-
});
|
|
911
|
-
},
|
|
912
|
-
|
|
913
900
|
/**
|
|
914
901
|
* Verifies the border color of the answer input field at the specified index.
|
|
915
902
|
* @param {number} responseAreaIndex - The index of the response area to verify.
|
|
@@ -20,11 +20,6 @@ const selectors = {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
const steps = {
|
|
23
|
-
verifyWithoutEnumerationRadioButtonCheckedState: () => {
|
|
24
|
-
gradingViewEnumerationComponent.withoutEnumerationRadioButton()
|
|
25
|
-
.should('be.checked');
|
|
26
|
-
},
|
|
27
|
-
|
|
28
23
|
verifyWithEnumerationRadioButtonCheckedState: () => {
|
|
29
24
|
gradingViewEnumerationComponent.withEnumerationRadioButton()
|
|
30
25
|
.should('be.checked');
|
|
@@ -653,6 +653,8 @@ const steps = {
|
|
|
653
653
|
},
|
|
654
654
|
|
|
655
655
|
verifyResponseAreaConnectorEndPointShapePreviewTab: (endPointShape) => {
|
|
656
|
+
commonComponents.previewTabQuestionWrapper()
|
|
657
|
+
.within(() => {
|
|
656
658
|
imageCanvasComponent.responseAreaPointer()
|
|
657
659
|
.each($element => {
|
|
658
660
|
switch (endPointShape) {
|
|
@@ -678,6 +680,7 @@ const steps = {
|
|
|
678
680
|
throw new Error('Invalid end point shape')
|
|
679
681
|
}
|
|
680
682
|
});
|
|
683
|
+
});
|
|
681
684
|
},
|
|
682
685
|
|
|
683
686
|
/**
|
|
@@ -53,11 +53,6 @@ const steps = {
|
|
|
53
53
|
.should('be.checked');
|
|
54
54
|
},
|
|
55
55
|
|
|
56
|
-
verifyCustomizePlaceholderTextCheckboxChecked: () => {
|
|
57
|
-
placeholderTextSectionComponent.customizePlaceholderTextCheckbox()
|
|
58
|
-
.should('be.checked');
|
|
59
|
-
},
|
|
60
|
-
|
|
61
56
|
|
|
62
57
|
verifyIndividualPlaceholderTextInputFields: (inputFieldIndex) => {
|
|
63
58
|
placeholderTextSectionComponent.individualPlaceholderTextInputField()
|
|
@@ -83,11 +78,6 @@ const tests = {
|
|
|
83
78
|
placeholderTextSectionComponent.steps.verifyCustomizePlaceholderTextCheckboxUnchecked();
|
|
84
79
|
});
|
|
85
80
|
|
|
86
|
-
it('Placeholder text input field should accept text,special characters and numeric values', () => {
|
|
87
|
-
placeholderTextSectionComponent.steps.addInputToPlaceholderTextInputField('Test 123 !@#');
|
|
88
|
-
placeholderTextSectionComponent.steps.verifyPlaceholderTextInputFieldValue('Test 123 !@#');
|
|
89
|
-
});
|
|
90
|
-
|
|
91
81
|
it('CSS of placeholder text section', { tags: 'css' }, () => {
|
|
92
82
|
utilities.verifyCSS(placeholderTextSectionComponent.placeholderTextSectionLabel(), {
|
|
93
83
|
'color': css.color.labels,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import utilities from "../support/helpers/utilities";
|
|
2
|
-
import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, commonComponents, autoScoredScoringPreviewTab, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, backgroundImageUploadComponent, optionsWrapperComponent, imageCanvasComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, acceptedStudentInputComponent, customizeSpecialCharacterComponent, fillInTheGapsTextCommonComponent, additionalSettingsPanel, gradingViewEnumerationComponent, additionalSettingsAccessibilitySectionComponent, ariaLabelSectionComponent, placeholderTextSectionComponent, styleAndLayoutCustomizationAccordionComponent, figCommonStyleAndLayoutComponent, connectorStyleStyleAndLayoutCustomizationComponent
|
|
2
|
+
import { questionInstructionsComponent, scoringSectionBaseEditTab, createQuestionBasePage, commonComponents, autoScoredScoringPreviewTab, autoScoredSpecifyCorrectAnswerSection, autoScoredScoringSectionMultiResponseType, backgroundImageUploadComponent, optionsWrapperComponent, imageCanvasComponent, correctIncorrectAnswerLabelComponent, autoScoredStudentViewSettings, acceptedStudentInputComponent, customizeSpecialCharacterComponent, fillInTheGapsTextCommonComponent, additionalSettingsPanel, gradingViewEnumerationComponent, additionalSettingsAccessibilitySectionComponent, ariaLabelSectionComponent, placeholderTextSectionComponent, styleAndLayoutCustomizationAccordionComponent, figCommonStyleAndLayoutComponent, connectorStyleStyleAndLayoutCustomizationComponent } from "./components";
|
|
3
3
|
import { createItemPage } from "./createItemPage";
|
|
4
4
|
import { dialogBoxBase } from "./dialogBoxBase";
|
|
5
5
|
const css = Cypress.env('css');
|
|
@@ -25,7 +25,6 @@ const selectors = {
|
|
|
25
25
|
...figCommonStyleAndLayoutComponent,
|
|
26
26
|
...connectorStyleStyleAndLayoutCustomizationComponent,
|
|
27
27
|
...dialogBoxBase,
|
|
28
|
-
...printPreviewComponent,
|
|
29
28
|
//TODO: Update below selectors after https://redmine.zeuslearning.com/issues/557945 is resolved
|
|
30
29
|
|
|
31
30
|
responseContainerInPreviewTab: () => cy.get('[class*="AddTextResponseOnImagestyles__DraggableInput"]'),
|
|
@@ -73,7 +72,6 @@ const steps = {
|
|
|
73
72
|
...figCommonStyleAndLayoutComponent.steps,
|
|
74
73
|
...connectorStyleStyleAndLayoutCustomizationComponent.steps,
|
|
75
74
|
...createItemPage.steps,
|
|
76
|
-
...printPreviewComponent.steps,
|
|
77
75
|
/**
|
|
78
76
|
* Verify that the incorrect option icon is displayed for a specific answer input field.
|
|
79
77
|
* @param {number} inputFieldIndex - The index of the answer input field to verify.
|
|
@@ -274,8 +272,6 @@ const steps = {
|
|
|
274
272
|
* @param {string} height - The height to set for the text container.
|
|
275
273
|
*/
|
|
276
274
|
setTextContainerHeight: (height) => {
|
|
277
|
-
fillInTheGapsOverImageTextPage.textContainerHeightInputField()
|
|
278
|
-
.clear()
|
|
279
275
|
fillInTheGapsOverImageTextPage.textContainerHeightInputField()
|
|
280
276
|
.type(height)
|
|
281
277
|
cy.wait(1000)
|
|
@@ -289,8 +285,6 @@ const steps = {
|
|
|
289
285
|
* @param {string} width - The width to set for the text container.
|
|
290
286
|
*/
|
|
291
287
|
setTextContainerWidth: (width) => {
|
|
292
|
-
fillInTheGapsOverImageTextPage.textContainerWidthInputField()
|
|
293
|
-
.clear()
|
|
294
288
|
fillInTheGapsOverImageTextPage.textContainerWidthInputField()
|
|
295
289
|
.type(width)
|
|
296
290
|
cy.wait(1000)
|
|
@@ -299,19 +293,6 @@ const steps = {
|
|
|
299
293
|
.blur();
|
|
300
294
|
},
|
|
301
295
|
|
|
302
|
-
/**
|
|
303
|
-
* Verifies the values in the text container width and height input fields.
|
|
304
|
-
* @param {string} width - The width of the text container.
|
|
305
|
-
* @param {string} height - The height of the text container.
|
|
306
|
-
*/
|
|
307
|
-
verifyValueInTextContainerWidthAndHeightInputField: (height, width) => {
|
|
308
|
-
fillInTheGapsOverImageTextPage.textContainerWidthInputField()
|
|
309
|
-
.should('have.value', width);
|
|
310
|
-
fillInTheGapsOverImageTextPage.textContainerHeightInputField()
|
|
311
|
-
.should('have.value', height);
|
|
312
|
-
},
|
|
313
|
-
|
|
314
|
-
|
|
315
296
|
verifySetHeightAndWidthForAllTextContainersCheckboxUncheckedState: () => {
|
|
316
297
|
fillInTheGapsOverImageTextPage.setHeightAndWidthForAllTextContainersCheckbox()
|
|
317
298
|
.should('not.be.checked');
|
|
@@ -390,7 +371,6 @@ const tests = {
|
|
|
390
371
|
...placeholderTextSectionComponent.tests,
|
|
391
372
|
...styleAndLayoutCustomizationAccordionComponent.tests,
|
|
392
373
|
...figCommonStyleAndLayoutComponent.tests,
|
|
393
|
-
...printPreviewComponent.tests,
|
|
394
374
|
}
|
|
395
375
|
|
|
396
376
|
export const fillInTheGapsOverImageTextPage = {
|