smartcli/test/test.js

152 lines
19 KiB
JavaScript
Raw Normal View History

2016-03-18 17:08:26 +00:00
/// <reference path="../ts/typings/main.d.ts" />
var smartcli = require("../dist/index.js");
2016-04-04 23:22:11 +00:00
var should = req;
/* ------------------------------------------------------------------ *
* ------------------- CHECKS TESTS --------------------------------- *
* ------------------------------------------------------------------ */
2016-04-04 23:22:11 +00:00
describe("smartcli", function () {
describe(".check", function () {
describe(".command", function () {
it("should return true when specified command is found", function () {
smartcli.check.command("jazz").should.be.true();
});
it("should return false when specified command is NOT found", function () {
smartcli.check.command("rock").should.be.false();
});
});
describe(".commandPresence", function () {
});
});
});
var checkCommandArgumentTest = function () {
if (smartcli.check.commandArgument("jam", 1)) {
2016-03-14 06:12:00 +00:00
beautylog.success('There is a level 1 argument! Perfect!');
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error('There seems to be no level 1 argument... This is wrong');
process.exit(1);
}
if (!smartcli.check.commandArgument("session", 2)) {
2016-03-14 06:12:00 +00:00
beautylog.success('There is no level 2 argument with the name of "session"! Perfect!');
2015-10-14 18:59:01 +00:00
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error('There seems to be a level 2 argument with the name of "session"! This is wrong');
process.exit(1);
2015-10-14 18:59:01 +00:00
}
};
checkCommandArgumentTest();
var checkCommandArgumentPresenceTest = function () {
if (smartcli.check.commandArgumentPresence(1)) {
2016-03-14 06:12:00 +00:00
beautylog.success('There is a level 1 argument! Perfect!');
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error('There seems to be no level 1 argument... This is wrong');
process.exit(1);
}
if (!smartcli.check.commandArgumentPresence(2)) {
2016-03-14 06:12:00 +00:00
beautylog.success('There is no level 2 argument! Perfect!');
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error('There seems to be a level 2 argument... This is wrong');
process.exit(1);
}
2015-10-14 18:59:01 +00:00
};
checkCommandArgumentPresenceTest();
/* ------------------------------------------------------------------ *
* ------------------- GETTERS TESTS -------------------------------- *
* ------------------------------------------------------------------ */
2015-11-09 03:02:46 +00:00
var getCommandTest = function () {
var cliCommand = smartcli.get.command();
if (cliCommand.name == "jazz") {
2016-03-14 06:12:00 +00:00
beautylog.success('The specified command name is "jazz". Perfect!');
2015-11-09 03:02:46 +00:00
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error('The specified command name is not "jazz". Something is wrong!');
2015-11-09 03:02:46 +00:00
process.exit(1);
}
};
getCommandTest();
var getCommandArgumentTest = function () {
var cliArgument = smartcli.get.commandArgument(1);
var cliArgument2 = smartcli.get.commandArgument(2);
if (cliArgument.name == "jam") {
2016-03-14 06:12:00 +00:00
beautylog.success('The first specified command argument name is "jam". Perfect!');
2015-11-09 03:02:46 +00:00
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error('The first specified command argument name is not "jam". Something is wrong!');
2015-11-09 03:02:46 +00:00
process.exit(1);
}
if (cliArgument2.name == "undefined") {
2016-03-14 06:12:00 +00:00
beautylog.success('The second specified command argument name is "undefined". Perfect!');
2015-11-09 03:02:46 +00:00
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error('The second specified command argument name is not "undefined". Something is wrong!');
2015-11-09 03:02:46 +00:00
process.exit(1);
}
};
getCommandArgumentTest();
var getCommandArgsTest = function () {
var commandArgs = smartcli.get.commandArgs();
if (commandArgs[0].name == "jam") {
2016-03-14 06:12:00 +00:00
beautylog.success("first command argument is 'jam'. Perfect!");
2015-11-09 03:02:46 +00:00
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error("first command argument is not 'jam'. Something is wromg!");
2015-11-09 03:02:46 +00:00
console.log(commandArgs[0].name);
process.exit(1);
}
};
getCommandArgsTest();
var getOptionTest = function () {
var cliOption = smartcli.get.option("awesome");
var cliOption2 = smartcli.get.option("terrific");
if (cliOption.specified) {
2016-03-14 06:12:00 +00:00
beautylog.success("awesome is specified. Perfect!");
2015-11-09 03:02:46 +00:00
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error("awesome is not specified. Somehthing is wrong");
2015-11-09 03:02:46 +00:00
process.exit(1);
}
if (!cliOption2.specified) {
2016-03-14 06:12:00 +00:00
beautylog.success("terrific is not specified. Perfect!");
2015-11-09 03:02:46 +00:00
}
else {
2016-03-14 06:12:00 +00:00
beautylog.error("terrific is specified. Somehthing is wrong");
2015-11-09 03:02:46 +00:00
process.exit(1);
}
};
getOptionTest();
var getCwdTest = function () {
2016-03-14 06:12:00 +00:00
beautylog.info('The current directory is: ' + smartcli.get.cwd().path);
2015-10-14 18:59:01 +00:00
};
getCwdTest();
/* ------------------------------------------------------------------ *
* ------------------- INTERACTION TESTS ---------------------------- *
* ------------------------------------------------------------------ */
var interactionGetAnswerTest = function () {
smartcli.interaction.getAnswer('How do you feel?', function (answer) {
2015-10-05 21:33:57 +00:00
console.log('The answer is: ' + answer);
interactionGetChoiceTest();
2015-10-05 21:33:57 +00:00
});
};
var interactionGetChoiceTest = function () {
smartcli.interaction.getChoice('What music do you like to hear?', ['Jazz', 'Blues', 'Classical'], function (answer) {
2015-10-05 21:33:57 +00:00
console.log('The answer is: ' + answer);
endTests();
2015-10-05 21:33:57 +00:00
});
};
var endTests = function () {
2016-03-14 06:12:00 +00:00
beautylog.ok("No more tests!");
beautylog.success("Tests completed successfully!");
};
if (!smartcli.check.option("silent")) {
interactionGetAnswerTest();
}
else {
2016-03-14 06:12:00 +00:00
beautylog.info("--silent option is specified, thus we are not running interaction tests.");
endTests();
}
;
2016-05-10 01:18:40 +00:00
//# sourceMappingURL=data:application/json;charset=utf8;base64,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