Browse Source

Fix composite tests

up-style-manager
Artur Arseniev 5 years ago
parent
commit
3df132e658
  1. 2
      src/style_manager/model/PropertyComposite.js
  2. 77
      test/specs/style_manager/model/Properties.js

2
src/style_manager/model/PropertyComposite.js

@ -44,7 +44,7 @@ export default class PropertyComposite extends Property {
* @returns {[Property]|null} * @returns {[Property]|null}
*/ */
getProperty(id) { getProperty(id) {
return this.get('properties').filter(prop => prop.get('id') === id)[0] || null; return this.get('properties').filter(prop => prop.getId() === id || prop.getName() === id)[0] || null;
} }
/** /**

77
test/specs/style_manager/model/Properties.js

@ -38,6 +38,10 @@ describe('StyleManager properties logic', () => {
const propBTest = `${propTest}-right`; const propBTest = `${propTest}-right`;
const propCTest = `${propTest}-bottom`; const propCTest = `${propTest}-bottom`;
const propDTest = `${propTest}-left`; const propDTest = `${propTest}-left`;
const propATestId = `${propATest}-sub`;
const propBTestId = `${propBTest}-sub`;
const propCTestId = `${propCTest}-sub`;
const propDTestId = `${propDTest}-sub`;
let compTypeProp; let compTypeProp;
let compTypePropInn; let compTypePropInn;
@ -52,7 +56,7 @@ describe('StyleManager properties logic', () => {
], ],
}); });
compTypeProp = obj.getProperty(sectorTest, propTest); compTypeProp = obj.getProperty(sectorTest, propTest);
compTypePropInn = compTypeProp.getProperty(propATest); compTypePropInn = compTypeProp.getProperty(propATestId);
em.setSelected(cmp); em.setSelected(cmp);
obj.__upSel(); obj.__upSel();
}); });
@ -80,33 +84,39 @@ describe('StyleManager properties logic', () => {
rule1.setStyle({ padding: '1px 2px 3px 4px' }); rule1.setStyle({ padding: '1px 2px 3px 4px' });
obj.__upSel(); obj.__upSel();
[ [
[propATest, '1px'], [propATestId, '1px'],
[propBTest, '2px'], [propBTestId, '2px'],
[propCTest, '3px'], [propCTestId, '3px'],
[propDTest, '4px'], [propDTestId, '4px'],
].forEach(item => { ].forEach(item => {
expect(compTypeProp.getProperty(item[0]).getFullValue()).toBe(item[1]); expect(compTypeProp.getProperty(item[0]).getFullValue()).toBe(item[1]);
}); });
}); });
test('Split value properly', () => { test('Split value properly', () => {
expect(compTypeProp.__getSplitValue('1px 2px 3px 4px')).toEqual({ expect(compTypeProp.__getSplitValue('1px 2px 3px 4px', { byName: true })).toEqual({
[propATest]: '1px', [propATest]: '1px',
[propBTest]: '2px', [propBTest]: '2px',
[propCTest]: '3px', [propCTest]: '3px',
[propDTest]: '4px', [propDTest]: '4px',
}); });
expect(compTypeProp.__getSplitValue('1px 2px 3px 4px')).toEqual({
[propATestId]: '1px',
[propBTestId]: '2px',
[propCTestId]: '3px',
[propDTestId]: '4px',
});
expect(compTypeProp.__getSplitValue('1px 2px')).toEqual({ expect(compTypeProp.__getSplitValue('1px 2px')).toEqual({
[propATest]: '1px', [propATestId]: '1px',
[propBTest]: '2px', [propBTestId]: '2px',
[propCTest]: '1px', [propCTestId]: '1px',
[propDTest]: '2px', [propDTestId]: '2px',
}); });
expect(compTypeProp.__getSplitValue('100%')).toEqual({ expect(compTypeProp.__getSplitValue('100%')).toEqual({
[propATest]: '100%', [propATestId]: '100%',
[propBTest]: '100%', [propBTestId]: '100%',
[propCTest]: '100%', [propCTestId]: '100%',
[propDTest]: '100%', [propDTestId]: '100%',
}); });
}); });
@ -152,11 +162,14 @@ describe('StyleManager properties logic', () => {
test('getPropsFromStyle returns correct values', () => { test('getPropsFromStyle returns correct values', () => {
expect( expect(
compTypeProp.__getPropsFromStyle({ compTypeProp.__getPropsFromStyle(
[propTest]: '1px 2px 3px 4px', {
[propCTest]: '33px', [propTest]: '1px 2px 3px 4px',
[propBTest]: '22%', [propCTest]: '33px',
}) [propBTest]: '22%',
},
{ byName: true }
)
).toEqual({ ).toEqual({
[propATest]: '1px', [propATest]: '1px',
[propBTest]: '22%', [propBTest]: '22%',
@ -166,11 +179,14 @@ describe('StyleManager properties logic', () => {
// Split correctly props in 4 numeric values // Split correctly props in 4 numeric values
expect( expect(
compTypeProp.__getPropsFromStyle({ compTypeProp.__getPropsFromStyle(
[propTest]: '111px', {
[propCTest]: '33px', [propTest]: '111px',
[propBTest]: '22%', [propCTest]: '33px',
}) [propBTest]: '22%',
},
{ byName: true }
)
).toEqual({ ).toEqual({
[propATest]: '111px', [propATest]: '111px',
[propBTest]: '22%', [propBTest]: '22%',
@ -180,10 +196,13 @@ describe('StyleManager properties logic', () => {
// Resolves correctly with values from inner properties // Resolves correctly with values from inner properties
expect( expect(
compTypeProp.__getPropsFromStyle({ compTypeProp.__getPropsFromStyle(
color: 'red', {
[propCTest]: '33px', color: 'red',
}) [propCTest]: '33px',
},
{ byName: true }
)
).toEqual({ ).toEqual({
[propATest]: '', [propATest]: '',
[propBTest]: '', [propBTest]: '',
@ -382,7 +401,7 @@ describe('StyleManager properties logic', () => {
obj.__upSel(); obj.__upSel();
compTypeProp.set('toStyle', values => { compTypeProp.set('toStyle', values => {
return { return {
[propTest]: `rgba(${values[propATest]}, ${values[propBTest]}, ${values[propDTest]})`, [propTest]: `rgba(${values[propATestId]}, ${values[propBTestId]}, ${values[propDTestId]})`,
}; };
}); });
compTypeProp.set('detached', false); compTypeProp.set('detached', false);

Loading…
Cancel
Save