habitica/test/api-legacy
2015-10-18 07:15:35 -05:00
..
anonymized.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
api-helper.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
challenges.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
chat.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
coupons.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
get_user.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
groups.coffee Write get group tests 2015-10-18 07:15:35 -05:00
inAppPurchases.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
party.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
pushNotifications.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
README.md Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
score.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
subscriptions.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
todos.coffee Rename existing api tests to api-legacy 2015-09-16 08:12:47 -05:00
users.coffee Remove get user test from legacy script 2015-10-17 20:15:34 -05:00

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.