react-application-core
Version:
A react-based application core for the business applications.
155 lines • 7.31 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var field_1 = require("./field");
var definitions_interface_1 = require("../definitions.interface");
var definition_1 = require("../definition");
var multi_field_1 = require("./multi-field"); // TODO
describe('util/field', function () {
describe('asMultiFieldEditedEntities', function () {
it('test1', function () {
var editedEntities = multi_field_1.MultiFieldUtils.multiFieldValueAsEditEntities(definitions_interface_1.UNDEF);
expect(editedEntities).toEqual(definitions_interface_1.UNDEF);
});
it('test2', function () {
var editedEntities = multi_field_1.MultiFieldUtils.multiFieldValueAsEditEntities(null);
expect(editedEntities).toEqual(definitions_interface_1.UNDEF);
});
it('test3', function () {
var editedEntities = multi_field_1.MultiFieldUtils.multiFieldValueAsEditEntities([{ id: 1 }]);
expect(editedEntities).toEqual([]);
});
it('test4', function () {
var editedEntities = multi_field_1.MultiFieldUtils.multiFieldValueAsEditEntities({
add: [],
remove: [],
edit: [{ id: 1, name: 'field1', value: 101 }],
source: [{ id: 1, field1: 100 }],
});
expect(editedEntities).toEqual([{ id: 1, field1: 101 }]);
});
it('test5', function () {
var editedEntities = multi_field_1.MultiFieldUtils.multiFieldValueAsEditEntities({
add: [],
remove: [],
edit: [{ id: 2, name: 'field1', value: 201 }],
source: [{ id: 1, field1: 100 }, { id: 2, field1: 200 }, { id: 3, field1: 300 }],
});
expect(editedEntities).toEqual([{ id: 2, field1: 201 }]);
});
it('test6', function () {
var cachedMap = new Map();
var entity1 = { id: 1, field1: 100 };
cachedMap.set(entity1.id, entity1);
var entity2 = { id: 2, field1: 200 };
cachedMap.set(entity2.id, entity2);
var entity3 = { id: 3, field1: 300 };
cachedMap.set(entity3.id, entity3);
var editedEntities = multi_field_1.MultiFieldUtils.multiFieldValueAsEditEntities({
add: [],
remove: [],
edit: [{ id: 2, name: 'field1', value: 201 }],
source: [entity1, entity2, entity3],
}, cachedMap);
expect(editedEntities).toEqual([{ id: 2, field1: 201 }]);
});
});
describe('FieldUtils.fromMultiFieldValueToEntities', function () {
it('test1', function () {
var editedEntities = multi_field_1.MultiFieldUtils.multiFieldValueAsEntities({
add: [{ id: 2, field1: 200 }],
remove: [],
edit: [{ id: 1, name: 'field1', value: 101 }],
source: [{ id: 1, field1: 100 }],
});
expect(editedEntities).toEqual([{ id: 2, field1: 200 }, { id: 1, field1: 101 }]);
});
it('test2', function () {
var entity = { id: 1, field1: 100 };
var editedEntities = multi_field_1.MultiFieldUtils.multiFieldValueAsEntities({
add: [],
remove: [entity],
edit: [],
source: [entity],
});
expect(editedEntities).toEqual([]);
});
it('test3', function () {
var editedEntities = multi_field_1.MultiFieldUtils.multiFieldValueAsEntities({
add: [],
remove: [],
edit: [
{ id: 1, name: 'field1', value: 101 },
{ id: 2, name: 'field1', value: 201 },
{ id: 3, name: 'field1', value: 301 }
],
source: [{ id: 1, field1: 100 }, { id: 3, field1: 300 }, { id: 2, field1: 200 }],
});
expect(editedEntities).toEqual([{ id: 1, field1: 101 }, { id: 3, field1: 301 }, { id: 2, field1: 201 }]);
});
});
describe('asOrderedMultiFieldEntities', function () {
var itemsCount = 6;
it('test1', function () {
var item1 = { id: 100, name: 'name1' };
var item2 = { id: 101, name: 'name2' };
var item3 = { id: 102, name: 'name3', newEntity: true, index: 4 };
var result = field_1.asOrderedMultiFieldEntities({
add: [item3],
remove: [],
edit: [],
source: [item1, item2],
}, itemsCount);
expect(result).toEqual([item1, item2, definitions_interface_1.UNDEF, definitions_interface_1.UNDEF, item3, definitions_interface_1.UNDEF]);
});
});
describe('FieldUtils.asActualFieldValue', function () {
it('test1', function () {
var result = field_1.FieldUtils.asActualFieldValue({
emptyValue: definition_1.FieldConstants.DISPLAY_EMPTY_VALUE,
value: 'updatedValue1',
});
expect(result).toEqual('updatedValue1');
});
it('test2', function () {
var result = field_1.FieldUtils.asActualFieldValue({
emptyValue: definition_1.FieldConstants.DISPLAY_EMPTY_VALUE,
originalValue: 'updatedValue1',
value: 'updatedValue1',
});
expect(result).toEqual(definition_1.FieldConstants.VALUE_TO_CLEAR_DIRTY_CHANGES);
});
it('test3', function () {
var result = field_1.FieldUtils.asActualFieldValue({
emptyValue: definition_1.FieldConstants.DISPLAY_EMPTY_VALUE,
originalValue: 'updatedValue1',
value: 'updatedValue2',
});
expect(result).toEqual('updatedValue2');
});
it('test4', function () {
var result = field_1.FieldUtils.asActualFieldValue({
emptyValue: definition_1.FieldConstants.DISPLAY_EMPTY_VALUE,
originalValue: 'updatedValue1',
value: 'updatedValue1',
keepChanges: true,
});
expect(result).toEqual(definition_1.FieldConstants.VALUE_TO_CLEAR_DIRTY_CHANGES);
});
it('test5', function () {
var result = field_1.FieldUtils.asActualFieldValue({
emptyValue: definition_1.FieldConstants.DISPLAY_EMPTY_VALUE,
value: definition_1.FieldConstants.DISPLAY_EMPTY_VALUE,
keepChanges: true,
});
expect(result).toEqual(definition_1.FieldConstants.DISPLAY_EMPTY_VALUE);
});
it('test6', function () {
var result = field_1.FieldUtils.asActualFieldValue({
emptyValue: definition_1.FieldConstants.DISPLAY_EMPTY_VALUE,
value: definition_1.FieldConstants.DISPLAY_EMPTY_VALUE,
});
expect(result).toEqual(definition_1.FieldConstants.VALUE_TO_CLEAR_DIRTY_CHANGES);
});
});
});
//# sourceMappingURL=field.spec.js.map