UNPKG

@cuba-platform/front-generator

Version:
84 lines 4.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const entity_1 = require("../../../../generators/react-typescript/common/entity"); const chai_1 = require("chai"); const assert_1 = require("assert"); const dtViewProperties = require('../../../fixtures/view-properties--datatypes-test-entity.json'); const o2oViewProperties = require('../../../fixtures/view-properties--association-o2o.json'); const dtEntityModel = require('../../../fixtures/entity-model--datatypes-test-entity.json'); const o2oEntityModel = require('../../../fixtures/entity-model--association-o2o.json'); const projectModel = require('../../../fixtures/project-model--scr.json'); describe('getDisplayedAttributes()', () => { let dtBrowserDisplayedFields; let dtEditorDisplayedFields; let o2oDisplayedFieldsBrowser; before(() => { const dtBrowserEntityAttrs = (0, entity_1.getDisplayedAttributes)(dtViewProperties, dtEntityModel, projectModel, entity_1.ScreenType.BROWSER); dtBrowserDisplayedFields = dtBrowserEntityAttrs.map(attr => attr.name); const dtEditorEntityAttrs = (0, entity_1.getDisplayedAttributes)(dtViewProperties, dtEntityModel, projectModel, entity_1.ScreenType.EDITOR); dtEditorDisplayedFields = dtEditorEntityAttrs.map(attr => attr.name); const o2oEntityAttrs = (0, entity_1.getDisplayedAttributes)(o2oViewProperties, o2oEntityModel, projectModel, entity_1.ScreenType.BROWSER); o2oDisplayedFieldsBrowser = o2oEntityAttrs.map(attr => attr.name); }); it('does not include one to many associations', () => { (0, chai_1.expect)(dtBrowserDisplayedFields).to.not.include('associationO2Mattr'); }); it('does not include byte arrays', () => { (0, chai_1.expect)(dtBrowserDisplayedFields).to.not.include('byteArrayAttr'); }); it('does not include many to many associations (browser)', () => { (0, chai_1.expect)(dtBrowserDisplayedFields).to.not.include('associationM2Mattr'); }); it('includes many to many associations (editor)', () => { (0, chai_1.expect)(dtEditorDisplayedFields).to.include('associationM2Mattr'); }); it('includes all other properties', () => { const propertiesSet = [ 'bigDecimalAttr', 'booleanAttr', 'dateAttr', 'dateTimeAttr', 'doubleAttr', 'integerAttr', 'longAttr', 'stringAttr', 'timeAttr', 'uuidAttr', 'localDateTimeAttr', 'offsetDateTimeAttr', 'localDateAttr', 'localTimeAttr', 'offsetTimeAttr', 'enumAttr', 'name', 'associationO2Oattr', 'associationM2Oattr', ]; (0, chai_1.expect)(dtBrowserDisplayedFields).to.include.members(propertiesSet); (0, chai_1.expect)(dtEditorDisplayedFields).to.include.members(propertiesSet); (0, chai_1.expect)(o2oDisplayedFieldsBrowser).to.include.members(['name', 'datatypesTestEntity']); }); }); describe('isStringIdEntity()', () => { it('correctly determines if an entity is a String ID entity', () => { expectEntityIsStringId('scr_StringIdTestEntity').to.be.true; expectEntityIsStringId('scr_WeirdStringIdTestEntity').to.be.true; expectEntityIsStringId('scr_BoringStringIdTestEntity').to.be.true; expectEntityIsStringId('scr_IntegerIdTestEntity').to.be.false; expectEntityIsStringId('scr_IntIdentityIdTestEntity').to.be.false; expectEntityIsStringId('scr_DatatypesTestEntity').to.be.false; expectEntityIsStringId('scr_CompositionO2MTestEntity').to.be.false; expectEntityIsStringId('scr_AssociationM2OTestEntity').to.be.false; }); }); function expectEntityIsStringId(name) { return (0, chai_1.expect)((0, entity_1.isStringIdEntity)(projectModel, findTestEntity(name))); } function findTestEntity(name) { const entity = projectModel.entities.find((e) => e.name === name); if (entity == null) { (0, assert_1.fail)('Cannot find test entity'); } return entity; } //# sourceMappingURL=entity.test.js.map