https://github.com/dunkelheit/assertify
Given an object literal, generate a number of Chai assertions for it
https://github.com/dunkelheit/assertify
assertions chai node nodejs
Last synced: 2 months ago
JSON representation
Given an object literal, generate a number of Chai assertions for it
- Host: GitHub
- URL: https://github.com/dunkelheit/assertify
- Owner: Dunkelheit
- License: mit
- Created: 2015-11-12T12:00:52.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-09-23T13:59:03.000Z (over 8 years ago)
- Last Synced: 2025-02-23T04:09:23.298Z (2 months ago)
- Topics: assertions, chai, node, nodejs
- Language: JavaScript
- Size: 13.7 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# assertify
Automatically generates `chai` assertions.
For lazy developers that want to quickly write their unit tests.
## Example
```javascript
var assertify = require('assertify');// Given a variable you want to make assertions for
var store = {
id: '3605',
name: 'Fnac Preciados',
street: 'Calle Preciados, 28',
zip: '28013',
city: 'Madrid',
latitude: 40.419027,
longitude: -3.705254,
openingTimes: [{
date: 1439456166345,
time: '08:00 - 20:00',
today: true
}],
type: 'store',
homeStore: false,
newStore: true
};// Just assertify it
assertify(store, { variableName: 'store' });// The console will output:
chai.expect(store).to.be.an('object');
chai.expect(store).to.have.keys('id', 'name', 'street', 'zip', 'city',
'latitude', 'longitude', 'openingTimes', 'type', 'homeStore', 'newStore');
chai.expect(store.id).to.be.a('string');
chai.expect(store.id).to.be.eql('3605');
chai.expect(store.name).to.be.a('string');
chai.expect(store.name).to.be.eql('Fnac Preciados');
chai.expect(store.street).to.be.a('string');
chai.expect(store.street).to.be.eql('Calle Preciados, 28');
chai.expect(store.zip).to.be.a('string');
chai.expect(store.zip).to.be.eql('28013');
chai.expect(store.city).to.be.a('string');
chai.expect(store.city).to.be.eql('Madrid');
chai.expect(store.latitude).to.be.a('number');
chai.expect(store.latitude).to.be.eql(40.419027);
chai.expect(store.longitude).to.be.a('number');
chai.expect(store.longitude).to.be.eql(-3.705254);
chai.expect(store.openingTimes).to.be.an('array');
chai.expect(store.openingTimes).to.have.length(1);
chai.expect(store.openingTimes[0].date).to.be.a('number');
chai.expect(store.openingTimes[0].date).to.be.eql(1439456166345);
chai.expect(store.openingTimes[0].time).to.be.a('string');
chai.expect(store.openingTimes[0].time).to.be.eql('08:00 - 20:00');
chai.expect(store.openingTimes[0].today).to.be.a('boolean');
chai.expect(store.openingTimes[0].today).to.be.eql('true');
chai.expect(store.type).to.be.a('string');
chai.expect(store.type).to.be.eql('store');
chai.expect(store.homeStore).to.be.a('boolean');
chai.expect(store.homeStore).to.be.eql('false');
chai.expect(store.newStore).to.be.a('boolean');
chai.expect(store.newStore).to.be.eql('true');```
## Usage
### assertify(variable, options)
**Arguments**
* `variable` - Anything you want to make assertions for
* `options` - An optional object defining a number of options:
* `variableName` - The variable name to render, by default `'foo'`
* `includeTypes` - Whether to include assertions to check the value type, by default `true`
* `console` - If truthy, will `console.log` the chai assertions. Can also be a function in case you want custom logging. By default `false`.## License
[MIT](LICENSE)