UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

112 lines 5.02 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 FieldTemplateItemBuilder_1 = __importDefault(require("../../templateItemBuilders/FieldTemplateItemBuilder")); const AbstractCliTest_1 = __importDefault(require("../../tests/AbstractCliTest")); const localAddressField = { path: '/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/addons/addressField.addon.js', registration: { package: '@sprucelabs/schema', className: 'AddressField', type: 'Address', importAs: 'SpruceSchema', description: 'An address with geocoding ability *coming soon*', }, isLocal: true, }; const localAddressFieldTemplateItem = { namePascal: 'AddressField', nameCamel: 'addressField', package: '#spruce/../fields/AddressField', className: 'AddressField', importAs: 'generated_import_0', nameReadable: 'AddressField', pascalType: 'Address', camelType: 'address', isLocal: true, description: 'An address with geocoding ability *coming soon*', valueTypeMapper: undefined, }; const remoteSchemaField = { path: '/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/addons/schemaField.addon.js', registration: { package: '@sprucelabs/schema', className: 'SchemaField', type: 'Schema', importAs: 'SpruceSchema', description: 'A way to map relationships.', valueTypeMapper: 'SchemaFieldValueTypeMapper<F extends SchemaFieldFieldDefinition? F : SchemaFieldFieldDefinition, CreateEntityInstances>', }, isLocal: false, }; const remoteSchemaFieldTemplateItem = { namePascal: 'SchemaField', nameCamel: 'schemaField', package: '@sprucelabs/schema', className: 'SchemaField', importAs: 'SpruceSchema', nameReadable: 'SchemaField', pascalType: 'Schema', camelType: 'schema', isLocal: false, description: 'A way to map relationships.', valueTypeMapper: 'SchemaFieldValueTypeMapper<F extends SchemaFieldFieldDefinition? F : SchemaFieldFieldDefinition, CreateEntityInstances>', }; class FieldTemplateItemBuilderTest extends AbstractCliTest_1.default { static itemBuilder = new FieldTemplateItemBuilder_1.default(); static async canCreate() { test_utils_1.assert.isTruthy(this.itemBuilder); } static hasGenerateFunction() { test_utils_1.assert.isFunction(this.itemBuilder.generateTemplateItems); } static turnsSingleLocalFieldIntoTemplateItem() { const templateItems = this.itemBuilder.generateTemplateItems([ localAddressField, ]); test_utils_1.assert.isLength(templateItems, 1); test_utils_1.assert.isEqualDeep(templateItems[0], localAddressFieldTemplateItem); } static turnsRemoteFieldIntoTemplateItem() { const templateItems = this.itemBuilder.generateTemplateItems([ remoteSchemaField, ]); test_utils_1.assert.isLength(templateItems, 1); test_utils_1.assert.isEqualDeep(templateItems[0], remoteSchemaFieldTemplateItem); } static doesItAll() { const templateItems = this.itemBuilder.generateTemplateItems([ localAddressField, remoteSchemaField, ]); test_utils_1.assert.isLength(templateItems, 2); test_utils_1.assert.isEqualDeep(templateItems[0], localAddressFieldTemplateItem); test_utils_1.assert.isEqualDeep(templateItems[1], remoteSchemaFieldTemplateItem); } } exports.default = FieldTemplateItemBuilderTest; __decorate([ (0, test_utils_1.test)() ], FieldTemplateItemBuilderTest, "canCreate", null); __decorate([ (0, test_utils_1.test)() ], FieldTemplateItemBuilderTest, "hasGenerateFunction", null); __decorate([ (0, test_utils_1.test)() ], FieldTemplateItemBuilderTest, "turnsSingleLocalFieldIntoTemplateItem", null); __decorate([ (0, test_utils_1.test)() ], FieldTemplateItemBuilderTest, "turnsRemoteFieldIntoTemplateItem", null); __decorate([ (0, test_utils_1.test)() ], FieldTemplateItemBuilderTest, "doesItAll", null); //# sourceMappingURL=FieldTemplateItemBuilder.test.js.map