discourse/app/assets/javascripts/wizard/test/test_helper.js
Osama Sayegh 4f88f2eb15
FEATURE: Allow theme tests to be run in production (take 2) (#12845)
This commit allows site admins to run theme tests in production via a new `/theme-qunit` route. When you visit `/theme-qunit`, you'll see a list of the themes/components installed on your site that have tests, and from there you can select a theme or component that you run its tests.

We also have a new rake task `themes:install_and_test` that can be used to install a list of themes/components on a temporary database and run the tests of the themes/components that are installed. This rake task can be useful when upgrading/deploying a Discourse instance to make sure that the installed themes/components are compatible with the new Discourse version being deployed, and if the tests fail you can abort the build/deploy process so you don't end up with a broken site.
2021-04-28 23:12:08 +03:00

68 lines
1.7 KiB
JavaScript

// discourse-skip-module
/*global document, Logster, QUnit */
//= require env
//= require jquery.debug
//= require ember.debug
//= require locales/i18n
//= require locales/en
//= require route-recognizer
//= require fake_xml_http_request
//= require pretender
//= require qunit
//= require ember-qunit
//= require discourse-loader
//= require jquery.debug
//= require handlebars
//= require ember-template-compiler
//= require wizard-application
//= require wizard-vendor
//= require_tree ./helpers
//= require_tree ./acceptance
//= require_tree ./models
//= require_tree ./components
//= require ./wizard-pretender
//= require test-shims
// Trick JSHint into allow document.write
let d = document;
d.write(
'<div id="ember-testing-container"><div id="ember-testing"></div></div>'
);
d.write(
"<style>#ember-testing-container { position: absolute; background: white; bottom: 0; right: 0; width: 640px; height: 384px; overflow: auto; z-index: 9999; border: 1px solid #ccc; } #ember-testing { zoom: 50%; }</style>"
);
if (window.Logster) {
Logster.enabled = false;
} else {
window.Logster = { enabled: false };
}
Ember.Test.adapter = window.QUnitAdapter.create();
let createPretendServer = requirejs(
"wizard/test/wizard-pretender",
null,
null,
false
).default;
let server;
QUnit.testStart(function () {
server = createPretendServer();
});
QUnit.testDone(function () {
server.shutdown();
});
let _testApp = requirejs("wizard/test/helpers/start-app").default();
let _buildResolver = requirejs("discourse-common/resolver").buildResolver;
window.setResolver(_buildResolver("wizard").create({ namespace: _testApp }));
Object.keys(requirejs.entries).forEach(function (entry) {
if (/\-test/.test(entry)) {
requirejs(entry, null, null, true);
}
});