itemengine-cypress-automation 1.0.299-minorUpdated7thFeb-2e116a9.0 → 1.0.301

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/Dockerfile CHANGED
@@ -15,6 +15,7 @@ ENV CI=1
15
15
  RUN chmod +x ./deploy/e2e/run.sh
16
16
  RUN chmod +x ./deploy/smoke/run.sh
17
17
  RUN chmod +x ./deploy/migration/run.sh
18
+ RUN chmod +x ./deploy/essayQuestion/run.sh
18
19
 
19
20
  RUN npm ci
20
21
 
@@ -470,5 +470,42 @@ describe('Create item page - Text entry math: Match value evaluation method', ()
470
470
  textEntryMathPage.steps.verifyCorrectResponseIcon(0);
471
471
  textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
472
472
  });
473
+
474
+ //https://weldnorthed.atlassian.net/browse/IEI-5159
475
+ it('When the user enters a equation using in \'Specify correct answer\' and the user enters the same equation then it should be treated as correct', () => {
476
+ textEntryMathPage.steps.switchToEditTab();
477
+ textEntryMathPage.steps.expandResponseAccordionSpecifyCorrectAnswer(0);
478
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldSpecifyCorrectAnswerSection(0);
479
+ equationEditorFlyout.steps.clearAll();
480
+ textEntryMathPage.steps.enterTextInPreviewInputField('18+10=28');
481
+ equationEditorFlyout.steps.clickOnOkButton();
482
+ textEntryMathPage.steps.switchToPreviewTab();
483
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
484
+ textEntryMathPage.steps.enterTextInPreviewInputField('18+10=28');
485
+ equationEditorFlyout.steps.clickOnOkButton();
486
+ textEntryMathPage.steps.switchToGradingView();
487
+ textEntryMathPage.steps.verifyCorrectResponseIcon(0);
488
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('correct');
489
+ });
490
+
491
+ it('When the user enters a equation using in \'Specify correct answer\' and the user enters incorrect equation it should be treated as correct', () => {
492
+ textEntryMathPage.steps.resetQuestionPreview();
493
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
494
+ textEntryMathPage.steps.enterTextInPreviewInputField('18+10=1');
495
+ equationEditorFlyout.steps.clickOnOkButton();
496
+ textEntryMathPage.steps.switchToGradingView();
497
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
498
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
499
+ });
500
+
501
+ it('When the user enters a equation using in \'Specify correct answer\' and the user enters incorrect equation it should be treated as correct', () => {
502
+ textEntryMathPage.steps.resetQuestionPreview();
503
+ textEntryMathPage.steps.focusInResponseAnswerInputFieldPreviewTab(0);
504
+ textEntryMathPage.steps.enterTextInPreviewInputField('10+7=17');
505
+ equationEditorFlyout.steps.clickOnOkButton();
506
+ textEntryMathPage.steps.switchToGradingView();
507
+ textEntryMathPage.steps.verifyIncorrectResponseIcon(0);
508
+ textEntryMathPage.steps.verifyCorrectIncorrectAnswerLabel('incorrect');
509
+ });
473
510
  });
474
511
  });
@@ -0,0 +1,30 @@
1
+ global:
2
+ team: itemengine
3
+ name: item-engine-ui-essay-response
4
+ type: integration_test
5
+
6
+ variables:
7
+ START_TIME: "$(date +%s)"
8
+
9
+ deployment:
10
+ job:
11
+ backoffLimit: 25
12
+ activeDeadlineSeconds: 7200
13
+ parallelism: 7
14
+ completions: 7
15
+
16
+ image:
17
+ cmd: /ie-e2e/deploy/essayQuestion/run.sh
18
+
19
+ resources:
20
+ limits:
21
+ memory: 8446Mi
22
+ cpu: 5000m
23
+ requests:
24
+ memory: 4096Mi
25
+ cpu: 2000m
26
+
27
+ env:
28
+ instance:
29
+ - name: START_TIME
30
+ value: "${{ variables.START_TIME }}"
@@ -0,0 +1,7 @@
1
+ #!/bin/sh
2
+ env=$STAGE
3
+ echo Environment to test: $env
4
+ echo START_TIME: $START_TIME
5
+ echo "Running Essay Response question test"
6
+
7
+ npm run spinnaker:essayResponse
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itemengine-cypress-automation",
3
- "version": "1.0.299-minorUpdated7thFeb-2e116a9.0",
3
+ "version": "1.0.301",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -17,7 +17,8 @@
17
17
  "cy:ildev": "cypress open --env fileConfig=ildev",
18
18
  "cy:ilprod": "cypress open --env fileConfig=ilprod",
19
19
  "cy:ilqa": "cypress open --env fileConfig=ilqa",
20
- "cy:ilstage": "cypress open --env fileConfig=ilstage"
20
+ "cy:ilstage": "cypress open --env fileConfig=ilstage",
21
+ "spinnaker:essayResponse": "node scripts/questions.mjs --env theme=ilc,questionType=EssayResponse,grepTags=-css+-a11y"
21
22
  },
22
23
  "repository": {
23
24
  "type": "git",
@@ -0,0 +1,3 @@
1
+ import { runSorryCypressQuestions } from "./sorry-cypress.mjs";
2
+
3
+ runSorryCypressQuestions();
@@ -45,6 +45,7 @@ function setCommandLineEnvArgs() {
45
45
  let theme = envArgs.theme ? `theme=${envArgs.theme}` : '';
46
46
  let tags;
47
47
  let fileConfig;
48
+ const questionType = envArgs.questionType ? `questionType=${envArgs.questionType}` : '';
48
49
  //let consoleErrors = envArgs.consoleErrors ? `consoleErrors=${envArgs.consoleErrors}` : '';
49
50
 
50
51
  console.log('ENV is:', env);
@@ -72,7 +73,7 @@ function setCommandLineEnvArgs() {
72
73
  tags = ''
73
74
  }
74
75
 
75
- return `--env ${fileConfig}` + (theme ? `,${theme}` : '') + (tags ? `,${tags}` : '')
76
+ return `--env ${fileConfig}` + (theme ? `,${theme}` : '') + (questionType ? `,${questionType}` : '') + (tags ? `,${tags}` : '')
76
77
  //return `--env ${fileConfig}` + (theme ? `,${theme}` : '') + (tags ? `,${tags}` : '') + (consoleErrors ? `,${consoleErrors}` : '')
77
78
  }
78
79
 
@@ -172,4 +173,24 @@ export async function runSorryCypressLocalMigration() {
172
173
  let command = `npx cypress run --browser chrome --env fileConfig=ilqa,theme=ilc,migrationQuestionTypes=${questionTypes} --spec "cypress/e2e/migration/*.js"`;
173
174
  console.log(`command: ${command}`);
174
175
  execSync(command, { stdio: "inherit" });
175
- }
176
+ }
177
+
178
+ // Functions to execute cypress tests specific to Question Types
179
+ export function runSorryCypressQuestions() {
180
+ process.env.CYPRESS_API_URL = "https://cypress-director.imaginelearning.tech/";
181
+ const user = OS.userInfo().username;
182
+ startTime = Math.round(Date.now() / 1000000);
183
+ ciBuildId = setCiBuildId(user, startTime);
184
+ const envArgs = setCommandLineEnvArgs();
185
+ console.log("🚀 ~ runSorryCypressQuestions ~ envArgs:", envArgs)
186
+
187
+ // Extracting questionType from envArgs
188
+ const match = envArgs.match(/questionType=([^,]+)/);
189
+ console.log("🚀 ~ runSorryCypressQuestions ~ match:", match)
190
+ const questionType = match ? match[1] : "**"; // Default to "**" if not found
191
+ console.log("🚀 ~ runSorryCypressQuestions ~ questionType:", questionType)
192
+
193
+ let command = `cy2 run --parallel --browser chrome --record --key imaginelearning/itemengine-cypress-automation --ci-build-id ${ciBuildId} ${envArgs} --spec "cypress/e2e/ILC/${questionType}/*.js"`;
194
+ console.log(`command: ${command}`);
195
+ execSync(command, { stdio: "inherit" });
196
+ }