WIP: Node tests 

:red_circle: WARNING WORK IN PROGRESS FOR REAL :red_circle:
-------------------------------------------------------------

### [mocha](http://visionmedia.github.io/mocha/) with [chai](http://chaijs.com/) and [supertest](https://github.com/visionmedia/supertest)

Tests are located in `test/`. To run the test just `npm test`. The example test it's just a proof of concept. Please bare in mind that it'll change on the next commit.

Proposal:
* each module to have its very own directory inside test ex. `test/tags/*`

### jshint

In this stage is integrated with grunt, and it's failing due to syntax errors (are very strict). It checks for now only in `invenio/base/static/js/**/*.js`, `invenio/modules/**/*.js` and `test/**/*.js`

Proposal:
* Remove jshint check from grunt and integrate it with mocha

### TODO

* [ ] Write a better example with mocha
* [ ] Integrate travis
* [ ] Separate jshint form grunt
* [ ] Decide on jshint syntax check
* [ ] ....


These kind of tests (integration) can be do through `Flask-Testing` without involving any real web server. It should be easier to tweak/mock and probably faster too.

What would the unit testing of a JS library look like?