node-vtiger
Version:
Vtiger API Connection Library for Node.js Applications.
130 lines (106 loc) • 3.35 kB
JavaScript
/*
node-vtiger test
Usage:
test/main.js url username accesskey
test/main.js http://example.com/vtigercrm admin vHgFdsrFrdRdfR
You can find the accesskey in vtiger user "my preferences"
local invocation, usually
vtws = require 'node-vtiger'
*/
(function() {
var LOGGING_LEVEL, Step, TEST_MODIFIED_TIME, VT_ACCESSKEY, VT_URL, VT_USER, client, doCreate, doDelete, doDescribe, doQuery, doRetrieve, doSync, doUpdate, endOfTest, log, logger, login, vt_lead_test, vtws;
vtws = require('../lib/nodevtiger.js');
logger = require('basic-logger');
Step = require('step');
logger.setLevel('debug');
log = new logger({
prefix: "test"
});
TEST_MODIFIED_TIME = '1340208309';
if (process.argv.length !== 5) {
log.error("usage: test/main.js url username accesskey");
process.exit(1);
}
LOGGING_LEVEL = 'debug';
VT_URL = process.argv[2];
VT_USER = process.argv[3];
VT_ACCESSKEY = process.argv[4];
vt_lead_test = {
"salutationtype": "M.",
"firstname": "John",
"phone": "0123456789",
"lastname": "The Test",
"company": "Test Company"
};
console.log('### Tests node-vtiger');
console.log('create NodeVtigerWS instance');
client = new vtws(VT_URL, VT_USER, VT_ACCESSKEY, LOGGING_LEVEL);
Step(login = function() {
return client.doLogin(this);
}, doCreate = function(err, result) {
log.debug('\n### doCreate');
if (err) {
log.error(err);
return err;
}
return client.doCreate('Leads', vt_lead_test, this);
}, doUpdate = function(err, result) {
if (err) {
log.error(err);
return err;
}
vt_lead_test = result;
log.debug(JSON.stringify(result));
log.debug('\n### doUpdate');
log.debug('change lastname to "test UPDATE"');
vt_lead_test.lastname = "test UPDATE";
return client.doUpdate(vt_lead_test, this);
}, doQuery = function(err, result) {
var query;
if (err) {
log.error(err);
return err;
}
log.debug(JSON.stringify(result));
log.debug('\n### doQuery');
query = "SELECT * FROM Leads WHERE lead_no='" + vt_lead_test.lead_no + "'";
return client.doQuery(query, this);
}, doRetrieve = function(err, result) {
if (err) {
log.error(err);
return err;
}
log.debug(JSON.stringify(result));
log.debug('\n### doRetrieve');
log.debug("id= " + vt_lead_test.id);
return client.doRetrieve(vt_lead_test.id, this);
}, doDelete = function(err, result) {
if (err) {
log.error(err);
return err;
}
log.debug(JSON.stringify(result));
log.debug('\n### doDelete');
log.debug("id= " + vt_lead_test.id);
return client.doDelete(vt_lead_test.id, this);
}, doDescribe = function(err, result) {
if (err) {
log.error(err);
return err;
}
log.debug(JSON.stringify(result));
log.debug('\n### doDescribe');
return client.doDescribe('Emails', this);
}, doSync = function(err, result) {
if (err) {
log.error(err);
return err;
}
log.debug(JSON.stringify(result));
log.debug('\n### doSync');
return client.doSync(TEST_MODIFIED_TIME, 'Leads', this);
}, endOfTest = function(err, result) {
log.debug(JSON.stringify(result));
return log.debug('### END OF TESTS ###');
});
}).call(this);