Files
habitica/test/api/README.md
2015-05-07 21:52:56 -05:00

33 lines
1.2 KiB
Markdown

# API Tests
Our API tests are written in [coffeescript](http://coffeescript.org/) using the [Mocha testing framework](http://mochajs.org/).
There's a variety of ways to run the tests:
```bash
# 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](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](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.