UNPKG

kazana-example

Version:
77 lines (68 loc) 2.26 kB
var test = require('../utils/test') var request = require('request').defaults({ json: true }) var processingTimeout = 1000 test('Transformations', function (group, server) { request({ method: 'POST', url: server.info.uri + '/kazana/account/api/session', body: { name: 'kazana-admin@example.com', password: server.settings.app.kazana.admin.password } }, function (error, response, body) { group.error(error) group.ok('bearerToken' in body, 'has bearer token') var authorizedRequest = request.defaults({ baseUrl: server.info.uri, headers: { authorization: 'Bearer ' + body.bearerToken } }) group.test('Transformation of newly uploaded reports', function (t) { authorizedRequest({ method: 'POST', url: '/kazana/raw-data/api/submissions', body: { sourceId: 'bookkeeping', scope: { id: '2013-3', year: '2013', quarter: '3' }, name: 'integration-test-2', data: '+222.22 test-transform-grinder\n+555.11 test-transform-camera' } }, function (error, response, body) { t.error(error) t.is(body.id, 'bookkeeping_2013-3') t.test('Document gets marked as processed', function (s) { // give kazana a little time to process setTimeout(function () { authorizedRequest('/kazana/raw-data/api/submissions/bookkeeping_2013-3', function (error, response, body) { s.error(error) s.ok('transformedAt' in body, 'document has `transformedAt`') s.end() }) }, processingTimeout) }) t.test('Document is visible in the index', function (s) { // give kazana a little time to process setTimeout(function () { authorizedRequest('/indices/movementsByCategory', function (error, response, body) { s.error(error) s.same(body, { 'test-transform-camera': 555.11, 'test-transform-grinder': 222.22 }) s.end() }) }, processingTimeout) }) t.end() }) }) group.end() }) })