7.0.0 • Published 3 years ago

n-assert v7.0.0

Weekly downloads
150
License
MIT
Repository
github
Last release
3 years ago

n-assert

Node.js assertion library.

Build Status Code Coverage npm version

Why

This library is created to assert the complex objects.

// Some test method returns this object
let actual = {
  _id: '5945bf36ccb3fa0011e8533c',
  name: 'John',
  email: 'john@mail.com',
  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: 'john@mail.com',
  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 to expected.

    • actual - actual object.
    • expected - expected object.
    • isEqual - performs a deep assertion between actual and expected to determine that they are indentical.
  • assertResponse(res, expectedStatus, expectedBody) Asserts that status and body in res is equal to expectedStatus and expectedBody.

    • 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 via nassert.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 with expected using nassert.assert. Returns true if values identical, otherwise throws an error. Warning! To use sinonMatch function, sinon instance should be initialized via nassert.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.

7.0.0

3 years ago

5.0.2

5 years ago

5.0.1

5 years ago

5.0.0

5 years ago

4.0.0

5 years ago

3.1.0

6 years ago

3.0.0

6 years ago

2.2.0

6 years ago

2.1.0

7 years ago

2.0.0

7 years ago

2.0.0-alpha6

7 years ago

2.0.0-alpha5

7 years ago

2.0.0-alpha4

7 years ago

2.0.0-alpha3

7 years ago

2.0.0-alpha2

7 years ago

2.0.0-alpha1

7 years ago

2.0.0-alpha

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago

0.1.0

7 years ago