mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 22:57:21 +01:00
33 lines
1.2 KiB
Markdown
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.
|