Files
meteor/tools/tests/dynamic-import.js
Ben Newman ae59532f12 Delete MeteorDynamicImportCache database before running tests.
Also run the tests a third time without deleting the database, to exercise
the caching logic.
2017-03-04 19:56:10 -05:00

47 lines
1.3 KiB
JavaScript

var selftest = require('../tool-testing/selftest.js');
var Sandbox = selftest.Sandbox;
selftest.define("dynamic import(...) in development", function () {
const s = new Sandbox();
s.createApp("dynamic-import-test-app-devel", "dynamic-import");
s.cd("dynamic-import-test-app-devel", run.bind(s, false));
});
selftest.define("dynamic import(...) in production", function () {
const s = new Sandbox();
s.createApp("dynamic-import-test-app-prod", "dynamic-import");
s.cd("dynamic-import-test-app-prod", run.bind(s, true));
});
selftest.define("dynamic import(...) with cache", function () {
const s = new Sandbox();
s.createApp("dynamic-import-test-app-cache", "dynamic-import");
s.set("METEOR_SAVE_DYNAMIC_IMPORT_CACHE", "true");
s.cd("dynamic-import-test-app-cache", run.bind(s, true));
});
function run(isProduction) {
const sandbox = this;
const args = [
"test",
"--once",
"--full-app",
"--driver-package", "dispatch:mocha-phantomjs"
];
if (isProduction) {
sandbox.set("NODE_ENV", "production");
args.push("--production");
} else {
sandbox.set("NODE_ENV", "development");
}
const run = sandbox.run(...args);
run.waitSecs(60);
run.match("App running at");
run.match("SERVER FAILURES: 0");
run.match("CLIENT FAILURES: 0");
run.expectExit(0);
}