UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

102 lines 4.03 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const test_utils_1 = require("@sprucelabs/test-utils"); const feature_utilities_1 = __importDefault(require("../../features/feature.utilities")); const AbstractCliTest_1 = __importDefault(require("../../tests/AbstractCliTest")); class CommandGeneratorTest extends AbstractCliTest_1.default { static hasAliasGenerated() { test_utils_1.assert.isFunction(feature_utilities_1.default.generateOptionAliases); } static canAliasOneOptionalField() { const person = { id: 'alias-person', name: 'person alias', fields: { firstName: { type: 'text', }, }, }; const aliases = feature_utilities_1.default.generateOptionAliases(person); test_utils_1.assert.isLength(Object.keys(aliases), 1); test_utils_1.assert.doesInclude(aliases, { firstName: '--firstName <firstName>', }); } static canAliasTwoFieldsOneRequired() { const person = { id: 'alias-person', name: 'person alias', fields: { firstName: { type: 'text', }, lastName: { type: 'text', isRequired: true, }, }, }; const aliases = feature_utilities_1.default.generateOptionAliases(person); test_utils_1.assert.isLength(Object.keys(aliases), 2); test_utils_1.assert.doesInclude(aliases, { firstName: '--firstName <firstName>', }); test_utils_1.assert.doesInclude(aliases, { lastName: '--lastName <lastName>', }); } static properlyHandlesBooleans() { const person = { id: 'alias-person', name: 'person alias', fields: { defaultTrue: { type: 'boolean', defaultValue: true, }, defaultFalse: { type: 'boolean', defaultValue: false, }, boolNoDefault: { type: 'boolean', }, }, }; const aliases = feature_utilities_1.default.generateOptionAliases(person); test_utils_1.assert.isLength(Object.keys(aliases), 3); test_utils_1.assert.doesInclude(aliases, { defaultTrue: '--defaultTrue [true|false]', }); test_utils_1.assert.doesInclude(aliases, { defaultFalse: '--defaultFalse [true|false]', }); test_utils_1.assert.doesInclude(aliases, { boolNoDefault: '--boolNoDefault [true|false]', }); } } exports.default = CommandGeneratorTest; __decorate([ (0, test_utils_1.test)() ], CommandGeneratorTest, "hasAliasGenerated", null); __decorate([ (0, test_utils_1.test)() ], CommandGeneratorTest, "canAliasOneOptionalField", null); __decorate([ (0, test_utils_1.test)() ], CommandGeneratorTest, "canAliasTwoFieldsOneRequired", null); __decorate([ (0, test_utils_1.test)() ], CommandGeneratorTest, "properlyHandlesBooleans", null); //# sourceMappingURL=CommandOptionBuilder.test.js.map