n-assert
v7.0.0
Published
Node assertion library
Downloads
9,726
Maintainers
Readme
n-assert
Node.js assertion library.
Why
This library is created to assert the complex objects.
// Some test method returns this object
let actual = {
_id: '5945bf36ccb3fa0011e8533c',
name: 'John',
email: '[email protected]',
phones: [
{ type: 'mobile', number: '1234567' }
{ type: 'work', number: '567382' }
],
account: {
number: '11111',
registered: '2010-04-21'
},
createdAt: '2017-02-03'
}
// Ned to do the following assertions:
// _id is exists
// name and email match
// mobile phone is exists and it's a number
// account registered match
let expected = {
_id: '_mock_',
name: 'John',
email: '[email protected]',
phones: [
{ type: 'mobile', number: /^d{1,10}$/ }
],
account: {
registered: '2010-04-21'
}
}
nassert.assert(actual, expected)
Commands
# Add to project, should install it as dev dependency
$ npm i -D n-assert
Usage
const nassert = require('n-assert')
should('should find user by name', async () => {
let actual = await usersSrvc.getUserByName('John')
let expected = { /* some data */ }
nassert.assert(actual, expected)
})
API
assert(actual, expected, isEqual) Asserts that
actual
is equal toexpected
.actual
- actual object.expected
- expected object.isEqual
- performs a deep assertion betweenactual
andexpected
to determine that they are indentical.
assertResponse(res, expectedStatus, expectedBody) Asserts that status and body in
res
is equal toexpectedStatus
andexpectedBody
.res
- http response.expectedStatus
- expected http response status.expectedBody
- expected http response body.
assertFn Asserts that stubbed function has been called or not, and if called, then with provided arguments. Warning! To use
sinonMatch
function, sinon instance should be initialized vianassert.initSinon(sinon)
method.inst
- object instance.fnName
- stubbed function name in the service.callCount
- count of function calles, one by default.nCall
- validates that method was called with provided args on that call, zero by default.expectedArgs
- expected single argument, should be__without-args__
if function is called without arguments.expectedMultipleArgs
- expected few arguments.
sinonMatch(expected) Calls sinon.match and compares
actual
value withexpected
usingnassert.assert
. Returnstrue
if values identical, otherwise throws an error. Warning! To usesinonMatch
function, sinon instance should be initialized vianassert.initSinon(sinon)
method.getObjectId() Returns new mongodb ObjectId.
getObjectIdStr() Returns new mongodb ObjectId in string format.
Author
Alexander Mac
License
Licensed under the MIT license.