Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/beta'
Browse files Browse the repository at this point in the history
  • Loading branch information
rwjblue committed May 21, 2020
2 parents 6ffd7e5 + fb7b8e9 commit 97d37b5
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 4 deletions.
9 changes: 5 additions & 4 deletions lib/tasks/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,14 @@ class TestTask extends Task {
});
}

addonMiddlewares() {
addonMiddlewares(options) {
this.project.initializeAddons();

return this.project.addons.reduce((addons, addon) => {
if (addon.testemMiddleware) {
addons.push(addon.testemMiddleware.bind(addon));
addons.push(function () {
addon.testemMiddleware(...arguments, options);
});
}

return addons;
Expand All @@ -54,7 +56,7 @@ class TestTask extends Task {
port: options.port,
debug: options.testemDebug,
reporter: options.reporter,
middleware: this.addonMiddlewares(),
middleware: this.addonMiddlewares(options),
launch: options.launch,
file: options.configFile,
/* eslint-disable camelcase */
Expand All @@ -67,7 +69,6 @@ class TestTask extends Task {
transformed.key = options.sslKey;
transformed.cert = options.sslCert;
}

return transformed;
}

Expand Down
9 changes: 9 additions & 0 deletions tests/fixtures/tasks/testem-config/testem-dummy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"framework": "qunit",
"launch": "Dummy",
"launchers": {
"Dummy" : {
"command": "exit"
}
}
}
26 changes: 26 additions & 0 deletions tests/unit/tasks/test-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,32 @@ const MockProject = require('../../helpers/mock-project');
describe('test task test', function () {
let subject;

it('call testem middleware with options', async function () {
let testemMiddlewareOptions;
let project = new MockProject();

project.initializeAddons = function () {};
project.addons = [
{
testemMiddleware(_, options) {
testemMiddlewareOptions = options;
},
},
];

let options = {
reporter: 'xunit',
configFile: 'tests/fixtures/tasks/testem-config/testem-dummy.json',
path: 'dist',
ssl: false,
};

subject = new TestTask({ project });
await subject.run(options);
expect(testemMiddlewareOptions).to.deep.equal(options);
expect(testemMiddlewareOptions.path).to.equal('dist');
});

it('transforms options for testem configuration', function () {
subject = new TestTask({
project: new MockProject(),
Expand Down

0 comments on commit 97d37b5

Please sign in to comment.