[Unit Testing] Node testing: Test api Get request
Using mocha:
"devDependencies": { "should": "^5.2.0", "supertest": "^0.15.0" }
process.env.A127_ENV = 'test'; var should = require('should'); var request = require('supertest'); // uncomment this to get server to start automatically when test starts var server = require('../../../app'); // var target = '127.0.0.1:10010'; describe('Return translations with parameter fi via GET /languages?lang=fi', function() { it('should respond with an json object containing all the translations for given language', function(done) { request(server) .get('/languages?lang=fi') .set('Accept', 'application/json') .set('Content-Type', 'application/json') .set('Authorization', 'Bearer test_token') .expect(200) .end(function(err, res) { should.not.exist(err); should.exist(res.body.languageNames); should.exist(res.body.header); should.exist(res.body.masthead); should.exist(res.body.phoneCard); should.exist(res.body.recommendation); should.exist(res.body.footer); done(); }); }); });
describe('Try to get translations with parameter 8 via GET /languages?lang=8', function() { it('should respond with 404 and message language not found', function(done) { request(server) .get('/languages?lang=8') .set('Accept', 'application/json') .set('Content-Type', 'application/json') .set('Authorization', 'Bearer test_token') .expect(404) .end(function(err, res) { should.not.exist(err); should.exist(res.body.message); res.body.message.should.equal("language not found"); done(); }); }); });
describe('helps api test', function() { it('should return helps data when router is: GET: /api/helps', function(done) { request(server) .get('/api/helps') .set('Accept', 'application/json') .set('Content-Type', 'application/json') .set('Authorization', 'Bearer test_token') .expect(200) .end(function(err, res) { should.not.exist(err); should.exist(res.body.helpEntries); done(); }); }); });