Skip to content

Commit a53f84f

Browse files
committed
fix legacy mocha tests
1 parent df0d275 commit a53f84f

10 files changed

Lines changed: 58 additions & 27 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ jobs:
140140
node-version: ${{ matrix.node-version }}
141141
cache: pnpm
142142
- run: pnpm install --frozen-lockfile
143+
- run: pnpm --filter ember-cli-fastboot pretest:precook
143144
- run: pnpm --filter ember-cli-fastboot test:mocha
144145

145146
try-scenarios:

packages/ember-cli-fastboot/fix-node-modules.mjs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
1212

1313
const packagesDir = path.resolve(__dirname, '../../packages');
1414
const nodeModulesDir = path.resolve(__dirname, 'node_modules');
15+
const precookedDir = path.resolve(__dirname, 'tmp', 'precooked_node_modules');
1516

1617
// eslint-disable-next-line no-undef
1718
const shouldRestore = process.argv[2];
@@ -29,18 +30,27 @@ Options:
2930
function run(shouldRestore) {
3031
['fastboot', 'fastboot-express-middleware'].forEach((packageName) => {
3132
const nodeModulesPackageDir = path.join(nodeModulesDir, packageName);
33+
const precookedPackageDir = path.join(precookedDir, packageName);
3234
const workspacesPackageDir = path.resolve(packagesDir, packageName);
3335
if (fs.existsSync(nodeModulesPackageDir)) {
3436
console.log(chalk.blue(`remove ${nodeModulesPackageDir}`));
3537
fs.removeSync(nodeModulesPackageDir);
3638
}
39+
if (fs.existsSync(precookedPackageDir)) {
40+
console.log(chalk.blue(`remove ${precookedPackageDir}`));
41+
fs.removeSync(precookedPackageDir);
42+
}
3743
if (!shouldRestore) {
3844
console.log(
3945
chalk.green(
4046
`symlink ${nodeModulesPackageDir} -> ${workspacesPackageDir}`
4147
)
4248
);
4349
fs.symlinkSync(workspacesPackageDir, nodeModulesPackageDir, 'dir');
50+
console.log(
51+
chalk.green(`symlink ${precookedPackageDir} -> ${workspacesPackageDir}`)
52+
);
53+
fs.symlinkSync(workspacesPackageDir, precookedPackageDir, 'dir');
4454
}
4555
});
4656
}

packages/ember-cli-fastboot/package.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
"release": "release-it",
2323
"lint:js:fix": "eslint . --fix",
2424
"start": "ember serve",
25-
"test": "npm-run-all lint test:*",
26-
"test:mocha": "node fix-node-modules.mjs && mocha && node fix-node-modules.mjs -r",
25+
"pretest:precook": "node node_modules/ember-cli-addon-tests/scripts/precook-node-modules.js",
26+
"test": "npm-run-all -s lint pretest:* test:*",
27+
"test:mocha": "node fix-node-modules.mjs && mocha",
2728
"test:ember": "ember test",
28-
"test:precook": "node node_modules/ember-cli-addon-tests/scripts/precook-node-modules.js",
2929
"test:ember-compatibility": "ember try:each"
3030
},
3131
"dependencies": {
@@ -45,9 +45,13 @@
4545
"fs-extra": "^10.0.0",
4646
"json-stable-stringify": "^1.0.1",
4747
"md5-hex": "^3.0.1",
48+
"node-fetch": "^2.6.7",
4849
"recast": "^0.19.1",
4950
"silent-error": "^1.1.1"
5051
},
52+
"fastbootDependencies": [
53+
"node-fetch"
54+
],
5155
"devDependencies": {
5256
"@ember/optional-features": "^2.0.0",
5357
"@ember/test-helpers": "^2.6.0",

packages/ember-cli-fastboot/test/fastboot-config-test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ describe('FastBoot config', function () {
1717

1818
return app
1919
.create('fastboot-config', {
20-
emberVersion: 'latest',
21-
emberDataVersion: 'latest',
20+
emberVersion: '~3.28.12',
21+
emberDataVersion: '~3.28.12',
2222
})
2323
.then(function () {
2424
app.editPackageJSON((pkg) => {
2525
delete pkg.devDependencies['ember-fetch'];
2626
delete pkg.devDependencies['ember-welcome-page'];
2727
// needed because @ember-data/store does `FastBoot.require('crypto')`
28-
pkg.fastbootDependencies = ['crypto'];
28+
pkg.fastbootDependencies = ['node-fetch', 'path', 'crypto'];
2929
});
3030
return app.run('npm', 'install');
3131
})

packages/ember-cli-fastboot/test/fastboot-location-config-test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ describe('FastBootLocation Configuration', function () {
1717

1818
return app
1919
.create('fastboot-location-config', {
20-
emberVersion: 'latest',
21-
emberDataVersion: 'latest',
20+
emberVersion: '~3.28.12',
21+
emberDataVersion: '~3.28.12',
2222
})
2323
.then(function () {
2424
app.editPackageJSON((pkg) => {
2525
delete pkg.devDependencies['ember-fetch'];
2626
delete pkg.devDependencies['ember-welcome-page'];
2727
// needed because @ember-data/store does `FastBoot.require('crypto')`
28-
pkg.fastbootDependencies = ['crypto'];
28+
pkg.fastbootDependencies = ['node-fetch', 'path', 'crypto'];
2929
});
3030
return app.run('npm', 'install');
3131
})

packages/ember-cli-fastboot/test/fastboot-location-test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ describe('FastBootLocation', function () {
1616

1717
return app
1818
.create('fastboot-location', {
19-
emberVersion: 'latest',
20-
emberDataVersion: 'latest',
19+
emberVersion: '~3.28.12',
20+
emberDataVersion: '~3.28.12',
2121
})
2222
.then(function () {
2323
app.editPackageJSON((pkg) => {
2424
delete pkg.devDependencies['ember-fetch'];
2525
delete pkg.devDependencies['ember-welcome-page'];
2626
// needed because @ember-data/store does `FastBoot.require('crypto')`
27-
pkg.fastbootDependencies = ['crypto'];
27+
pkg.fastbootDependencies = ['node-fetch', 'path', 'crypto'];
2828
});
2929
return app.run('npm', 'install');
3030
})

packages/ember-cli-fastboot/test/package-json-test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ describe('generating package.json', function () {
1919
before(function () {
2020
return customApp
2121
.create('customized-outputpaths', {
22-
emberVersion: 'latest',
23-
emberDataVersion: 'latest',
22+
emberVersion: '~3.28.12',
23+
emberDataVersion: '~3.28.12',
2424
})
2525
.then(function () {
2626
customApp.editPackageJSON((pkg) => {
2727
delete pkg.devDependencies['ember-fetch'];
2828
delete pkg.devDependencies['ember-welcome-page'];
2929
// needed because @ember-data/store does `FastBoot.require('crypto')`
30-
pkg.fastbootDependencies = ['crypto'];
30+
pkg.fastbootDependencies = ['node-fetch', 'path', 'crypto'];
3131
});
3232
return customApp.run('npm', 'install');
3333
})

packages/ember-cli-fastboot/test/request-details-test.js

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
const chai = require('chai');
55
const expect = chai.expect;
66
const RSVP = require('rsvp');
7+
const path = require('path');
78
const AddonTestApp = require('ember-cli-addon-tests').AddonTestApp;
89
const request = RSVP.denodeify(require('request'));
910

10-
function injectMiddlewareAddon(app) {
11+
async function injectMiddlewareAddon(app) {
1112
app.editPackageJSON(function (pkg) {
1213
pkg.devDependencies['body-parser'] =
1314
process.env.npm_package_devDependencies_body_parser;
@@ -20,9 +21,25 @@ function injectMiddlewareAddon(app) {
2021
delete pkg.devDependencies['ember-fetch'];
2122
delete pkg.devDependencies['ember-welcome-page'];
2223
// needed because @ember-data/store does `FastBoot.require('crypto')`
23-
pkg.fastbootDependencies = ['crypto'];
24+
pkg.fastbootDependencies = ['node-fetch', 'path', 'crypto'];
25+
});
26+
await app.run('npm', 'install', '--no-package-lock');
27+
await app.run(
28+
'ln',
29+
'-s',
30+
path.resolve(__dirname, '../../fastboot'),
31+
path.resolve(app.path, 'node_modules/fastboot')
32+
);
33+
await app.run(
34+
'ln',
35+
'-s',
36+
path.resolve(__dirname, '../../fastboot-express-middleware'),
37+
path.resolve(app.path, 'node_modules/fastboot-express-middleware')
38+
);
39+
app.editPackageJSON(function (pkg) {
40+
pkg.dependencies['fastboot'] = '*';
41+
pkg.dependencies['fastboot-express-middleware'] = '*';
2442
});
25-
return app.run('npm', 'install');
2643
}
2744

2845
describe('request details', function () {
@@ -35,8 +52,8 @@ describe('request details', function () {
3552

3653
return app
3754
.create('request', {
38-
emberVersion: 'latest',
39-
emberDataVersion: 'latest',
55+
emberVersion: '~3.28.12',
56+
emberDataVersion: '~3.28.12',
4057
})
4158
.then(() => injectMiddlewareAddon(app))
4259
.then(function () {

packages/ember-cli-fastboot/test/root-url-test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ describe('rootUrl acceptance', function () {
1717

1818
return app
1919
.create('root-url', {
20-
emberVersion: 'latest',
21-
emberDataVersion: 'latest',
20+
emberVersion: '~3.28.12',
21+
emberDataVersion: '~3.28.12',
2222
})
2323
.then(function () {
2424
app.editPackageJSON((pkg) => {
2525
delete pkg.devDependencies['ember-fetch'];
2626
delete pkg.devDependencies['ember-welcome-page'];
2727
// needed because @ember-data/store does `FastBoot.require('crypto')`
28-
pkg.fastbootDependencies = ['crypto'];
28+
pkg.fastbootDependencies = ['node-fetch', 'path', 'crypto'];
2929
});
3030
return app.run('npm', 'install');
3131
})

pnpm-lock.yaml

Lines changed: 3 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)