itemengine-cypress-automation 1.0.326-IEI-4285-3f1c280.0 → 1.0.326-IEI-4285-60b4bb6.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.
@@ -2,12 +2,14 @@ import { correctAnswerViewPage, uploadResponsePage, itemPreviewPage, studentView
2
2
  import { gradingViewPage } from "../../../pages";
3
3
  import abortEarlySetup from "../../../support/helpers/abortEarly";
4
4
  import utilities from "../../../support/helpers/utilities";
5
- import { largeFileName } from './thumbNail.smoke';
5
+ import constants from '../../../fixtures/constants';
6
6
  const css = Cypress.env('css');
7
7
  let gradingAndCorrectAnsView = ['Grading view', 'Correct answer view']
8
8
  const views = utilities.getViews(gradingAndCorrectAnsView);
9
9
  var itemReferenceID = "";
10
10
 
11
+ const { largeFileName } = constants;
12
+
11
13
  describe('Create item page - Upload response: Grading view, Correct answer view contents', () => {
12
14
  before(() => {
13
15
  cy.loginAs('admin');
@@ -25,26 +27,8 @@ describe('Create item page - Upload response: Grading view, Correct answer view
25
27
  describe('Grading view contents', { tags: 'smoke' }, () => {
26
28
  abortEarlySetup();
27
29
  before(() => {
28
- cy.log('Navigating to Upload response question type');
29
- uploadResponsePage.steps.navigateToCreateQuestion('upload response');
30
- cy.barsPreLoaderWait();
31
- uploadResponsePage.steps.allotPoints(10);
32
- uploadResponsePage.steps.addTextInQuestionInstructionsInputField('Question text');
33
- uploadResponsePage.steps.setMaximumNumberOfFiles(3);
34
- uploadResponsePage.steps.clickOnSaveQuestionButton();
35
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
36
- //Global variable issue, not working inside before
37
- itemPreviewPage.referenceID()
38
- .invoke('text')
39
- .then(($refID) => {
40
- itemReferenceID = $refID;
41
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
42
- uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
43
- uploadResponsePage.steps.verifyUploadedFileName(0, 'highlightImage.jpg');
44
- uploadResponsePage.steps.verifyUploadedFileLimitCount(1, 3);
45
- studentViewPage.steps.submitResponse();
46
- studentViewPage.steps.clickOnGoToGradingViewButton();
47
- });
30
+ uploadResponsePage.steps.authorQuestion();
31
+ uploadResponsePage.steps.attemptQuestionFromStudentView();
48
32
  });
49
33
 
50
34
  it('Question instructions should be visible', () => {
@@ -75,31 +59,8 @@ describe('Create item page - Upload response: Grading view, Correct answer view
75
59
  describe('Upload file with a very large name', { tags: 'smoke' }, () => {
76
60
  abortEarlySetup();
77
61
  before(() => {
78
- cy.log('Navigating to Upload response question type');
79
- uploadResponsePage.steps.navigateToCreateQuestion('upload response');
80
- cy.barsPreLoaderWait();
81
- uploadResponsePage.steps.allotPoints(10);
82
- uploadResponsePage.steps.addTextInQuestionInstructionsInputField('Question text');
83
- uploadResponsePage.steps.setMaximumNumberOfFiles(3);
84
- uploadResponsePage.steps.clickOnSaveQuestionButton();
85
- utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
86
- //Global variable issue, not working inside before
87
- itemPreviewPage.referenceID()
88
- .invoke('text')
89
- .then(($refID) => {
90
- itemReferenceID = $refID;
91
- cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
92
- uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
93
-
94
- uploadResponsePage.steps.clickOnEditDisplayTextIcon(0);
95
- utilities.verifyElementVisibilityState(uploadResponsePage.dialogBox(), 'exist');
96
- uploadResponsePage.steps.enterTextInEditDisplayTextPopupInputField(largeFileName);
97
- uploadResponsePage.steps.verifyTextInEditDisplayTextPopupInputField(largeFileName);
98
- uploadResponsePage.steps.clickAcceptButtonInPopup();
99
- uploadResponsePage.steps.verifyUploadedFileName(0, largeFileName);
100
- studentViewPage.steps.submitResponse();
101
- studentViewPage.steps.clickOnGoToGradingViewButton();
102
- });
62
+ uploadResponsePage.steps.authorQuestion();
63
+ uploadResponsePage.steps.attemptQuestionFromStudentView(true, largeFileName);
103
64
  });
104
65
 
105
66
  it('Thumbnail should not get compressed', () => {
@@ -1,13 +1,14 @@
1
1
  import { uploadResponsePage, itemPreviewPage } from "../../../pages";
2
2
  import abortEarlySetup from "../../../support/helpers/abortEarly";
3
3
  import utilities from "../../../support/helpers/utilities";
4
+ import constants from '../../../fixtures/constants';
4
5
  const css = Cypress.env('css');
5
6
  let previewContentViews = ['Question preview', 'Item view', 'Item preview', 'Student view'];
6
7
  const views = utilities.getViews(previewContentViews);
7
8
  var itemReferenceID = "";
8
9
  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
10
  const fileThumbNail = ['notExist', 'notExist', 'visible', 'visible', 'notExist', 'visible', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist', 'notExist']
10
- export const largeFileName = 'nature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature';
11
+ const { largeFileName } = constants;
11
12
 
12
13
  describe('Create item page - Upload response : Preview contents', () => {
13
14
  before(() => {
@@ -107,12 +108,7 @@ describe('Create item page - Upload response : Preview contents', () => {
107
108
  });
108
109
 
109
110
  it(`${view} - When user uploads file with a very large name then thumbnail should not get compressed`, () => {
110
- uploadResponsePage.steps.clickOnEditDisplayTextIcon(0);
111
- utilities.verifyElementVisibilityState(uploadResponsePage.dialogBox(), 'exist');
112
- uploadResponsePage.steps.enterTextInEditDisplayTextPopupInputField(largeFileName);
113
- uploadResponsePage.steps.verifyTextInEditDisplayTextPopupInputField(largeFileName);
114
- uploadResponsePage.steps.clickAcceptButtonInPopup();
115
- uploadResponsePage.steps.verifyUploadedFileName(0, largeFileName);
111
+ uploadResponsePage.steps.updateFileName(largeFileName);
116
112
  uploadResponsePage.imageThumbNail()
117
113
  .invoke('css', ['width', 'height'])
118
114
  .then(({ width, height }) => {
@@ -14,7 +14,8 @@ const constants = {
14
14
  sampleWAVLink: "https://dl.espressif.com/dl/audio/ff-16b-1c-44100hz.wav",
15
15
  sampleAACLink: "https://dl.espressif.com/dl/audio/ff-16b-1c-44100hz.aac",
16
16
  geoGebraResourceLink1: "https://www.geogebra.org/m/sajppba6",
17
- geoGebraResourceLink2: "https://www.geogebra.org/m/xmvdurzb"
17
+ geoGebraResourceLink2: "https://www.geogebra.org/m/xmvdurzb",
18
+ largeFileName: "nature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature imagenature"
18
19
  };
19
20
 
20
21
  export default constants;
@@ -2,10 +2,14 @@ import { commonComponents, questionInstructionsComponent, scoringSectionBaseEdit
2
2
  import { dialogBoxBase } from ".";
3
3
  import utilities from "../support/helpers/utilities";
4
4
  import { supportedFileType } from "../fixtures/uploadResponseFileType";
5
+ import { itemPreviewPage } from "./itemPreviewPage";
6
+ import { studentViewPage } from "./studentViewPage";
7
+
5
8
  const css = Cypress.env('css');
6
9
 
7
10
  const indexOfDefaultSelectedFileTypes = [0, 1, 2, 3, 4, 5, 6, 7, 20, 21, 22, 28, 29, 30];
8
11
  const uploadControlsOption = ['Capture Photo', 'Drag and drop files'];
12
+ var itemReferenceID = "";
9
13
 
10
14
  const selectors = {
11
15
  ...scoringSectionBaseEditTab,
@@ -243,6 +247,7 @@ const steps = {
243
247
  * Verifies the pop up details and visiblity when user clicks on thumb nail or on image name
244
248
  */
245
249
  verifyImagePopUpDetail: () => {
250
+ cy.wait(2000);
246
251
  utilities.verifyElementVisibilityState(uploadResponsePage.popUpWrapper(), 'visible');
247
252
  utilities.verifyElementVisibilityState(uploadResponsePage.imageDisplayedInsidePopUp(), 'visible');
248
253
  utilities.verifyElementVisibilityState(uploadResponsePage.downloadIconOfPopUp(), 'visible');
@@ -639,6 +644,43 @@ const steps = {
639
644
  verifyAllowStudentToAddFileDescriptionCheckboxUnchecked: () => {
640
645
  uploadResponsePage.allowStudentToAddFileDescriptionCheckbox()
641
646
  .should('not.be.checked');
647
+ },
648
+
649
+ updateFileName: (fileName) => {
650
+ uploadResponsePage.steps.clickOnEditDisplayTextIcon(0);
651
+ utilities.verifyElementVisibilityState(uploadResponsePage.dialogBox(), 'exist');
652
+ uploadResponsePage.steps.enterTextInEditDisplayTextPopupInputField(fileName);
653
+ uploadResponsePage.steps.verifyTextInEditDisplayTextPopupInputField(fileName);
654
+ uploadResponsePage.steps.clickAcceptButtonInPopup();
655
+ uploadResponsePage.steps.verifyUploadedFileName(0, fileName);
656
+ },
657
+
658
+ authorQuestion: () => {
659
+ cy.log('Navigating to Upload response question type');
660
+ uploadResponsePage.steps.navigateToCreateQuestion('upload response');
661
+ cy.barsPreLoaderWait();
662
+ uploadResponsePage.steps.allotPoints(10);
663
+ uploadResponsePage.steps.addTextInQuestionInstructionsInputField('Question text');
664
+ uploadResponsePage.steps.setMaximumNumberOfFiles(3);
665
+ uploadResponsePage.steps.clickOnSaveQuestionButton();
666
+ utilities.verifyElementVisibilityState(itemPreviewPage.referenceID(), 'visible');
667
+ },
668
+
669
+ attemptQuestionFromStudentView: (updateFileName, fileName) => {
670
+ itemPreviewPage.referenceID()
671
+ .invoke('text')
672
+ .then(($refID) => {
673
+ itemReferenceID = $refID;
674
+ cy.visit(`/item-engine/demo/render-item/student-view/${utilities.base64Encoding(itemReferenceID)}`);
675
+ uploadResponsePage.steps.uploadFile('uploads/highlightImage.jpg');
676
+ uploadResponsePage.steps.verifyUploadedFileName(0, 'highlightImage.jpg');
677
+ uploadResponsePage.steps.verifyUploadedFileLimitCount(1, 3);
678
+ if (updateFileName) {
679
+ uploadResponsePage.steps.updateFileName(fileName);
680
+ }
681
+ studentViewPage.steps.submitResponse();
682
+ studentViewPage.steps.clickOnGoToGradingViewButton();
683
+ });
642
684
  }
643
685
  }
644
686
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.326-IEI-4285-3f1c280.0",
3
+ "version": "1.0.326-IEI-4285-60b4bb6.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {