Files
habitica/test/api

API Tests

Our API tests are written in coffeescript using the Mocha testing framework.

There's a variety of ways to run the tests:

# Individually
mocha test/api/name_of_test.coffee
# The entire collection of api tests
mocha test/api
# As part of the whole test suite
npm test

Modules

Some modules are declared in the api-helper.coffee file for use in any of the api tests:

  • moment - time manipulation
  • async - run async processes, good for before blocks
  • lodash (_) - many utilities
  • shared - generate uuids
  • expect - making assertions
  • User - look up a User in the db

Helper Methods

There are helper methods declared in the api-helper.coffee file. Some useful methods contained there:

  • registerNewUser(callback, main) - Theres a global user variable that gets overwritten with the new user whenever you call registerNewUser unless you pass false in as the second argument.
  • registerManyUsers(number, callback) - Good for testing things that require many users. The callback function returns new users as and array in the second argument.