53 Zeilen
1,2 KiB
JavaScript
53 Zeilen
1,2 KiB
JavaScript
import { module } from "qunit";
|
|
import setupPretender, { response } from "../pretender";
|
|
import startApp from "../helpers/start-app";
|
|
|
|
let server;
|
|
let app;
|
|
|
|
function acceptance(name, requests, cb) {
|
|
module(`Acceptance: ${name}`, function(hooks) {
|
|
hooks.beforeEach(function() {
|
|
server = setupPretender(function(pretender) {
|
|
requests.forEach(req => {
|
|
pretender[req.verb](req.path, () => (response(req.status, req.response)));
|
|
});
|
|
return pretender;
|
|
});
|
|
app = startApp();
|
|
});
|
|
|
|
hooks.afterEach(function() {
|
|
app.destroy();
|
|
server.shutdown();
|
|
});
|
|
|
|
cb(hooks);
|
|
});
|
|
}
|
|
|
|
export default acceptance;
|
|
|
|
export {
|
|
server
|
|
};
|
|
|
|
// The discourse/test/helpers/qunit-helpers file has many functions and imports
|
|
// we don't need, so there will be some duplciation here.
|
|
|
|
export function queryAll(selector, context) {
|
|
context = context || "#ember-testing";
|
|
return $(selector, context);
|
|
}
|
|
|
|
export function query() {
|
|
return document.querySelector("#ember-testing").querySelector(...arguments);
|
|
}
|
|
|
|
export function visible(selector) {
|
|
return queryAll(selector + ":visible").length > 0;
|
|
}
|
|
|
|
export function count(selector) {
|
|
return queryAll(selector).length;
|
|
}
|