Skip to content

Commit

Permalink
Merge pull request #7963 from jrjohnson/exam-split
Browse files Browse the repository at this point in the history
Enable Testing with Ember Exam
  • Loading branch information
stopfstedt committed Jul 15, 2024
2 parents dc944b5 + 9f7ed84 commit 6f61add
Show file tree
Hide file tree
Showing 18 changed files with 200 additions and 17 deletions.
24 changes: 21 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,13 @@ jobs:
- name: Install Dependencies
run: pnpm install
- name: Run Tests
run: pnpm --filter ${{matrix.workspace}} exec ember test
run: pnpm --filter ${{matrix.workspace}} exec ember exam --parallel=3 --load-balance --write-execution-file
- uses: actions/upload-artifact@v4
if: failure()
with:
name: replay-${{matrix.workspace}}-test.json
path: ./packages/${{matrix.workspace}}/test-execution-*.json
retention-days: 7

build:
name: ${{matrix.workspace}} Build (${{ matrix.node-version }})
Expand Down Expand Up @@ -163,7 +169,13 @@ jobs:
firefox-version: ${{ matrix.firefox-version }}
- run: firefox --version
- name: test
run: pnpm --filter ${{matrix.workspace}} exec ember test --launch=Firefox
run: pnpm --filter ${{matrix.workspace}} exec ember exam --parallel=3 --load-balance --write-execution-file --launch=Firefox
- uses: actions/upload-artifact@v4
if: failure()
with:
name: replay-${{matrix.workspace}}-firefox-${{ matrix.firefox-version }}.json
path: ./packages/${{matrix.workspace}}/test-execution-*.json
retention-days: 7

test-with-embroider:
name: ${{matrix.workspace}} Test With Embroider
Expand All @@ -190,7 +202,13 @@ jobs:
- name: Install Dependencies
run: pnpm install
- name: Run Tests
run: pnpm --filter ${{matrix.workspace}} exec ember test
run: pnpm --filter ${{matrix.workspace}} exec ember exam --parallel=3 --load-balance --write-execution-file
- uses: actions/upload-artifact@v4
if: failure()
with:
name: replay-${{matrix.workspace}}-embroider.json
path: ./packages/${{matrix.workspace}}/test-execution-*.json
retention-days: 7

build-with-embroider:
name: ${{matrix.workspace}} Build With Embroider
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ coverage/
npm-debug.log*
yarn-error.log

packages/**/test-execution-*.json
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
"start:lti-course-manager": "pnpm --filter lti-course-manager exec ember serve",
"start:lti-dashboard": "pnpm --filter lti-dashboard exec ember serve",
"start:test-app": "pnpm --filter test-app exec ember serve",
"test:frontend": "pnpm run --filter frontend test",
"test:lti-course-manager": "pnpm run --filter lti-course-manager test",
"test:lti-dashboard": "pnpm run --filter lti-dashboard test",
"test:test-app": "pnpm run --filter test-app test",
"test:frontend": "pnpm --filter frontend exec ember exam --parallel=8 --load-balance",
"test:lti-course-manager": "pnpm --filter lti-course-manager exec ember exam --parallel=8 --load-balance",
"test:lti-dashboard": "pnpm --filter lti-dashboard exec ember exam --parallel=8 --load-balance",
"test:test-app": "pnpm --filter test-app exec ember exam --parallel=8 --load-balance",
"prepare": "husky"
},
"engines": {
Expand Down
1 change: 1 addition & 0 deletions packages/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-concurrency": "^4.0.2",
"ember-exam": "^9.0.0",
"ember-focus-trap": "^1.1.0",
"ember-load-initializers": "^2.1.2",
"ember-metrics": "1.5.2",
Expand Down
1 change: 1 addition & 0 deletions packages/frontend/testem.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ module.exports = {
launch_in_dev: ['Firefox'],
browser_disconnect_timeout: 300,
browser_start_timeout: 120,
parallel: process.env.EMBER_EXAM_SPLIT_COUNT || -1,
browser_args: {
Chrome: {
ci: [
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/tests/test-helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import config from 'frontend/config/environment';
import * as QUnit from 'qunit';
import { setApplication } from '@ember/test-helpers';
import { setup } from 'qunit-dom';
import { start } from 'ember-qunit';
import start from 'ember-exam/test-support/start';
import DefaultAdapter from 'ember-cli-page-object/adapters/rfc268';
import { setAdapter } from 'ember-cli-page-object/adapters';
import { setRunOptions } from 'ember-a11y-testing/test-support';
Expand Down
1 change: 1 addition & 0 deletions packages/lti-course-manager/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
"ember-cli-sass": "^11.0.1",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-exam": "^9.0.0",
"ember-load-initializers": "^2.1.2",
"ember-modifier": "^4.1.0",
"ember-page-title": "^8.2.3",
Expand Down
1 change: 1 addition & 0 deletions packages/lti-course-manager/testem.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ module.exports = {
launch_in_ci: ['Chrome'],
launch_in_dev: ['Chrome'],
browser_start_timeout: 120,
parallel: process.env.EMBER_EXAM_SPLIT_COUNT || -1,
browser_args: {
Chrome: {
ci: [
Expand Down
2 changes: 1 addition & 1 deletion packages/lti-course-manager/tests/test-helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import config from 'lti-course-manager/config/environment';
import * as QUnit from 'qunit';
import { setApplication } from '@ember/test-helpers';
import { setup } from 'qunit-dom';
import { start } from 'ember-qunit';
import start from 'ember-exam/test-support/start';
import 'qunit-theme-ember/qunit.css';

setApplication(Application.create(config.APP));
Expand Down
1 change: 1 addition & 0 deletions packages/lti-dashboard/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
"ember-cli-sass": "^11.0.1",
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-exam": "^9.0.0",
"ember-load-initializers": "^2.1.2",
"ember-modifier": "^4.1.0",
"ember-page-title": "^8.2.3",
Expand Down
1 change: 1 addition & 0 deletions packages/lti-dashboard/testem.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ module.exports = {
launch_in_ci: ['Chrome'],
launch_in_dev: ['Chrome'],
browser_start_timeout: 120,
parallel: process.env.EMBER_EXAM_SPLIT_COUNT || -1,
browser_args: {
Chrome: {
ci: [
Expand Down
2 changes: 1 addition & 1 deletion packages/lti-dashboard/tests/test-helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import config from 'lti-dashboard/config/environment';
import * as QUnit from 'qunit';
import { setApplication } from '@ember/test-helpers';
import { setup } from 'qunit-dom';
import { start } from 'ember-qunit';
import start from 'ember-exam/test-support/start';
import DefaultAdapter from 'ember-cli-page-object/adapters/rfc268';
import { setAdapter } from 'ember-cli-page-object/adapters';
import 'qunit-theme-ember/qunit.css';
Expand Down
1 change: 1 addition & 0 deletions packages/test-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
"ember-cli-sri": "^2.1.1",
"ember-cli-terser": "^4.0.2",
"ember-concurrency": "^4.0.2",
"ember-exam": "^9.0.0",
"ember-fetch": "^8.1.2",
"ember-load-initializers": "^2.1.2",
"ember-modifier": "^4.1.0",
Expand Down
4 changes: 3 additions & 1 deletion packages/test-app/testem.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ module.exports = {
disable_watching: true,
launch_in_ci: ['Chrome'],
launch_in_dev: ['Chrome'],
browser_start_timeout: 120,
browser_disconnect_timeout: 120,
browser_start_timeout: 30,
parallel: process.env.EMBER_EXAM_SPLIT_COUNT || -1,
browser_args: {
Chrome: {
ci: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ module('Integration | Component | learnergroup-selection-cohort-manager', functi
assert.expect(2);
this.set('filter', '');
this.set('remove', (learnerGroup) => {
assert.ok(this.secondLevelLearnerGroup1, learnerGroup);
assert.deepEqual(this.secondLevelLearnerGroup1, learnerGroup);
});
this.set('learnerGroups', [this.secondLevelLearnerGroup1]);
this.set('cohort', this.cohort);
Expand All @@ -94,7 +94,7 @@ module('Integration | Component | learnergroup-selection-cohort-manager', functi
assert.expect(2);
this.set('filter', '');
this.set('add', (learnerGroup) => {
assert.ok(this.secondLevelLearnerGroup1, learnerGroup);
assert.deepEqual(this.secondLevelLearnerGroup1, learnerGroup);
});
this.set('learnerGroups', []);
this.set('cohorts', this.cohort);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ module('Integration | Component | learnergroup-selection-manager', function (hoo
test('remove group from selected list', async function (assert) {
assert.expect(1);
this.set('remove', (learnerGroup) => {
assert.ok(this.secondLevelLearnerGroup1, learnerGroup);
assert.deepEqual(this.secondLevelLearnerGroup1, learnerGroup);
});
this.set('learnerGroups', [this.secondLevelLearnerGroup1]);
this.set('cohorts', [this.cohort1]);
Expand All @@ -172,7 +172,7 @@ module('Integration | Component | learnergroup-selection-manager', function (hoo
test('remove group in picker', async function (assert) {
assert.expect(2);
this.set('remove', (learnerGroup) => {
assert.ok(this.secondLevelLearnerGroup1, learnerGroup);
assert.deepEqual(this.secondLevelLearnerGroup1, learnerGroup);
});
this.set('learnerGroups', [this.secondLevelLearnerGroup1]);
this.set('cohorts', [this.cohort1]);
Expand All @@ -190,7 +190,7 @@ module('Integration | Component | learnergroup-selection-manager', function (hoo
test('add available group', async function (assert) {
assert.expect(2);
this.set('add', (learnerGroup) => {
assert.ok(this.secondLevelLearnerGroup1, learnerGroup);
assert.deepEqual(this.secondLevelLearnerGroup1, learnerGroup);
});
this.set('learnerGroups', []);
this.set('cohorts', [this.cohort1]);
Expand Down
2 changes: 1 addition & 1 deletion packages/test-app/tests/test-helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import config from 'test-app/config/environment';
import * as QUnit from 'qunit';
import { setApplication } from '@ember/test-helpers';
import { setup } from 'qunit-dom';
import { start } from 'ember-qunit';
import start from 'ember-exam/test-support/start';
import { setRunOptions } from 'ember-a11y-testing/test-support';
import 'qunit-theme-ember/qunit.css';

Expand Down
Loading

0 comments on commit 6f61add

Please sign in to comment.