Gravity
Search
K

Testing

Gravity comes with a full suite of integration tests included to ensure your application functions as it should before releasing it.
Please set the SUPPORT_EMAIL variable in your environment before running tests as this email is used for testing.
// to start the tests, run:
gravity test
// or
npm test
The testing suite uses mocha and chai, boilerplate tests are in the /test folder.

How Tests Work

A test calls the API endpoint and passes a data object. The response is then tested to ensure the correct status is returned and the returned data matches a specific format.
describe('POST /account', () => {
it ('should create a new paid account', done => {
config.account.paid.token = { id: 'tok_visa' };
chai.request(server)
.post('/api/account')
.send(config.account.paid)
.end((err, res) => {
res.should.have.status(200);
res.body.token.should.be.a('string');
res.body.plan.should.eq(config.account.paid.plan);
res.body.subscription.should.eq('active');
process.env.token = 'Bearer ' + res.body.token;
// cleanup
delete config.account.paid.token;
done();
});
}).timeout(config.timeout);
});
To add your tests, create a new test script and import it to the run.js file; use the example above as a template.
Tests are designed to work with email_verification enabled. If you modify the config, some tests may fail and need to be adjusted for your own requirements.