UNPKG

fh-fhc

Version:

A Command Line Interface for FeedHenry

88 lines (77 loc) 3.4 kB
var assert = require('assert'); var genericCommand = require('genericCommand'); require('test/fixtures/appforms/fixture_data_sources'); var dataSourceFixtures = require('test/fixtures/appforms/fixture_data_source'); var appformsDataSources = { list : genericCommand(require('cmd/fh3/appforms/data-sources/list')), read : genericCommand(require('cmd/fh3/appforms/data-sources/read')), create: genericCommand(require('cmd/fh3/appforms/data-sources/create')), update: genericCommand(require('cmd/fh3/appforms/data-sources/update')), remove: genericCommand(require('cmd/fh3/appforms/data-sources/remove')) }; var mockDs = dataSourceFixtures.get(); module.exports = { "test list data sources": function(done) { appformsDataSources.list({}, function(err, data) { assert(!err, "Expected No Error " + err); assert(data._table, "Expected A Table For Listing Data Sources"); assert.equal(data[0]._id, mockDs._id); assert(!data[0].data, "Expected No Data Response"); done(); }); }, "test read data source": function(done) { appformsDataSources.read({id: mockDs._id}, function(err, data) { assert(!err, "Expected No Error " + err); assert.equal(data._id, mockDs._id); done(); }); }, "test read data source not found": function(done) { appformsDataSources.read({id: "wrongdsid"}, function(err, data) { assert(err.toString().indexOf("Found") > -1, "Expected Not Found Error Message"); //An error response should have a request ID (See test/fixtures/appforms/fixture_data_sources) assert.equal('dsrequest1234', err.requestId); assert(!data, "Expected No Data"); done(); }); }, "test create data source": function(done) { appformsDataSources.create({name: mockDs.name, serviceGuid: mockDs.serviceGuid, endpoint: mockDs.endpoint, refreshInterval: mockDs.refreshInterval, description: mockDs.description, numAuditLogEntries: 100}, function(err, data) { assert(!err, "Expected No Error " + err); assert.equal(data._id, "dscreated"); done(); }); }, "test create data source missing data": function(done) { appformsDataSources.create({name: mockDs.name, endpoint: mockDs.endpoint, refreshInterval: mockDs.refreshInterval, description: mockDs.description}, function(err, data) { assert(err, "Expected An Error "); assert(!data, "Expected No Data"); done(); }); }, "test update data source": function(done) { appformsDataSources.update({id: mockDs._id, name: "Updated Name", endpoint: "/new/endpoint"}, function(err, data) { assert(!err, "Expected No Error " + err); assert.equal(data._id, mockDs._id); assert.equal(data.name, "Updated Name"); assert.equal(data.endpoint, "/new/endpoint"); assert.equal(data.serviceGuid, mockDs.serviceGuid); done(); }); }, "test update data source not found": function(done) { appformsDataSources.update({id: "wrongdsid", name: "Updated Name", endpoint: "/new/endpoint"}, function(err, data) { assert(err, "Expected An Error "); assert.equal(data, undefined); done(); }); }, "test remove data source": function(done) { appformsDataSources.remove({id: mockDs._id}, function(err, data) { assert(!err, "Expected No Error " + err); assert(!data, "Expected No Data In Response"); done(); }); } };