Skip to content

Commit e17bd8e

Browse files
committed
export assertions through chai
1 parent a07af81 commit e17bd8e

File tree

7 files changed

+31
-48
lines changed

7 files changed

+31
-48
lines changed

test/features/app/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
const preq = require('preq');
4-
const { assert } = require('../../utils/assert.js');
4+
const assert = require('../../utils/assert.js');
55
const Server = require('../../utils/server.js');
66

77
describe('express app', function () {

test/features/app/spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const parallel = require('mocha.parallel');
44
const preq = require('preq');
5-
const { assert } = require('../../utils/assert.js');
5+
const assert = require('../../utils/assert.js');
66
const Server = require('../../utils/server.js');
77
const URI = require('swagger-router').URI;
88
const OpenAPISchemaValidator = require('openapi-schema-validator').default;

test/features/ex/errors.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
const preq = require('preq');
4-
const { assert } = require('../../utils/assert.js');
4+
const assert = require('../../utils/assert.js');
55
const Server = require('../../utils/server.js');
66

77
describe('errors', function () {

test/features/info/info.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
const preq = require('preq');
4-
const { assert } = require('../../utils/assert.js');
4+
const assert = require('../../utils/assert.js');
55
const Server = require('../../utils/server.js');
66

77
describe('service information', function () {

test/features/v1/page.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
const preq = require('preq');
4-
const { assert } = require('../../utils/assert.js');
4+
const assert = require('../../utils/assert.js');
55
const Server = require('../../utils/server.js');
66

77
describe('page gets', function () {

test/features/v1/siteinfo.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
const preq = require('preq');
4-
const { assert } = require('../../utils/assert.js');
4+
const assert = require('../../utils/assert.js');
55
const Server = require('../../utils/server.js');
66

77
describe('wiki site info', function () {

test/utils/assert.js

Lines changed: 25 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,37 @@
11
'use strict';
22

3-
const { assert } = require('chai');
3+
const { use } = require('chai');
44

5-
/**
6-
* Asserts whether the return status was as expected
7-
*
8-
* @param {Object} res
9-
* @param {integer} expected
10-
*/
11-
function status(res, expected) {
5+
module.exports = use(function (_chai, _utils) {
6+
const { assert } = _chai;
127

13-
assert.deepEqual(res.status, expected,
14-
`Expected status to be ${expected}, but was ${res.status}`);
8+
assert.status = (res, expected) => {
9+
const msg = `Expected status to be ${expected}, but was ${res.status}`;
10+
new _chai.Assertion(res.status, msg, assert.status, true).to.eql(expected);
11+
};
1512

16-
}
13+
assert.contentType = (res, expectedRegexString) => {
14+
const actual = res.headers['content-type'];
15+
const msg = `Expected content-type to match ${expectedRegexString}, but was ${actual}`;
16+
new _chai.Assertion(actual, msg, assert.contentType, true).to.match(RegExp(expectedRegexString));
17+
};
1718

18-
/**
19-
* Asserts whether content type was as expected
20-
*
21-
* @param {Object} res
22-
* @param {string} expectedRegexString
23-
*/
24-
function contentType(res, expectedRegexString) {
19+
assert.fails = (promise, onRejected) => {
2520

26-
const actual = res.headers['content-type'];
27-
assert.ok(RegExp(expectedRegexString).test(actual),
28-
`Expected content-type to match ${expectedRegexString}, but was ${actual}`);
21+
let failed = false;
2922

30-
}
31-
32-
function fails(promise, onRejected) {
33-
34-
let failed = false;
35-
36-
function trackFailure(e) {
37-
failed = true;
38-
return onRejected(e);
39-
}
40-
41-
function check() {
42-
if (!failed) {
43-
throw new Error('expected error was not thrown');
23+
function trackFailure(e) {
24+
failed = true;
25+
return onRejected(e);
4426
}
45-
}
4627

47-
return promise.catch(trackFailure).then(check);
28+
function check() {
29+
if (!failed) {
30+
throw new Error('expected error was not thrown');
31+
}
32+
}
33+
return promise.catch(trackFailure).then(check);
4834

49-
}
35+
};
5036

51-
module.exports.assert = assert;
52-
module.exports.assert.contentType = contentType;
53-
module.exports.assert.status = status;
54-
module.exports.assert.fails = fails;
37+
}).assert;

0 commit comments

Comments
 (0)