Testing
Packages
Running
npm run test
or
mocha --timeout=5000 --reporter=nyan
Tests
Some tests to cover the Users API and the RawDataset API have been written but more are needed. There is a LoginUtils file that supports the retrieval of tokens and everything else is documented in the Swagger file
Environment
If this is being run independently of an infrastructure then you should provide the environment variable NODE_ENV to be test.
Set up
In the test/config/settings.json file, you should have the following fields:
{
"baseURL": "http://localhost:3000/",
"apiPrefix": "api/v2/",
"users": {
"admin": {
"username": "<USER>",
"password": "<PWD>",
"login": "api/v2/Users/login"
},
"user": {
"username": "<USER>",
"password": "<PWD>",
"login":"auth/msad"
},
},
}
Adding tests
This can be done one of two ways:
Simple Tests
For simple tests, you can add it to the test/config/tests.json file. Each entry should have the following syntax:
{
"method": "GET",
"route": "Datasets?filter=%7B%22limit%22%3A10%7D",
"expect": 200,
"authenticate": "admin"
}
Authenticate can be user or admin, depending on the type of account you have specified.
If you include a body property, then that will be sent with the request.
If you include a response array, then the string content should be valid JS. Note that this uses the unsafe eval method so be careful!
Writing Tests
If you have a chain of tests, or just tests that might be more complex, then you can write them in the test folder. See any js file in there for examples.