UNPKG

@vtex/styleguide

Version:

> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))

124 lines (115 loc) 3.96 kB
"use strict"; var _util = require("../util"); var props = ['children', 'related', 'friends']; var comparator = function comparator(item) { return function (candidate) { return item.name === candidate.name; }; }; describe('CheckboxTree util tests', function () { it('should flat the tree correctly', function () { props.forEach(function (prop) { expect((0, _util.getFlat)(treeForProp(prop), [], prop)).toEqual(flattenedTreeForProp(prop)); }); }); it('should toggle state correctly on a item without chidren', function () { props.forEach(function (prop) { expect((0, _util.getToggledState)([], { name: 'Alok' }, prop, comparator, function () { return false; })).toEqual([{ name: 'Alok' }]); expect((0, _util.getToggledState)([], { name: 'KVSH' }, prop, comparator, function () { return false; })).toEqual([{ name: 'KVSH' }]); }); }); it('should toggle state correctly on a item with chidren', function () { props.forEach(function (prop) { var _ref, _getToggledState, _ref2, _ref3, _ref4; expect((0, _util.getToggledState)([], (_getToggledState = { name: 'Vintage Culture' }, _getToggledState[prop] = [{ name: 'Alok' }, (_ref = { name: 'Cat Dealers' }, _ref[prop] = [{ name: 'KVSH' }], _ref)], _getToggledState), prop, comparator, function () { return false; })).toEqual([(_ref3 = { name: 'Vintage Culture' }, _ref3[prop] = [{ name: 'Alok' }, (_ref2 = { name: 'Cat Dealers' }, _ref2[prop] = [{ name: 'KVSH' }], _ref2)], _ref3), { name: 'Alok' }, (_ref4 = { name: 'Cat Dealers' }, _ref4[prop] = [{ name: 'KVSH' }], _ref4), { name: 'KVSH' }]); }); }); }); function treeForProp(prop) { var _ref5, _ref6, _ref7, _ref8, _ref9, _ref10; return _ref10 = { vtexTableTreeRoot: 'root' }, _ref10[prop] = [(_ref6 = { name: 'Vintage Culture' }, _ref6[prop] = [{ name: 'Alok' }, (_ref5 = { name: 'Cat Dealers' }, _ref5[prop] = [{ name: 'KVSH' }], _ref5)], _ref6), (_ref9 = { name: 'Metallica' }, _ref9[prop] = [(_ref8 = { name: 'Iron Maiden' }, _ref8[prop] = [(_ref7 = { name: 'Pantera' }, _ref7[prop] = [{ name: 'Slayer' }], _ref7)], _ref8)], _ref9)], _ref10; } function flattenedTreeForProp(prop) { var _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25; return [(_ref16 = {}, _ref16[prop] = [(_ref12 = {}, _ref12[prop] = [{ name: 'Alok' }, (_ref11 = {}, _ref11[prop] = [{ name: 'KVSH' }], _ref11.name = 'Cat Dealers', _ref11)], _ref12.name = 'Vintage Culture', _ref12), (_ref15 = {}, _ref15[prop] = [(_ref14 = {}, _ref14[prop] = [(_ref13 = {}, _ref13[prop] = [{ name: 'Slayer' }], _ref13.name = 'Pantera', _ref13)], _ref14.name = 'Iron Maiden', _ref14)], _ref15.name = 'Metallica', _ref15)], _ref16.vtexTableTreeRoot = 'root', _ref16), (_ref18 = {}, _ref18[prop] = [{ name: 'Alok' }, (_ref17 = {}, _ref17[prop] = [{ name: 'KVSH' }], _ref17.name = 'Cat Dealers', _ref17)], _ref18.name = 'Vintage Culture', _ref18), { name: 'Alok' }, (_ref19 = {}, _ref19[prop] = [{ name: 'KVSH' }], _ref19.name = 'Cat Dealers', _ref19), { name: 'KVSH' }, (_ref22 = {}, _ref22[prop] = [(_ref21 = {}, _ref21[prop] = [(_ref20 = {}, _ref20[prop] = [{ name: 'Slayer' }], _ref20.name = 'Pantera', _ref20)], _ref21.name = 'Iron Maiden', _ref21)], _ref22.name = 'Metallica', _ref22), (_ref24 = {}, _ref24[prop] = [(_ref23 = {}, _ref23[prop] = [{ name: 'Slayer' }], _ref23.name = 'Pantera', _ref23)], _ref24.name = 'Iron Maiden', _ref24), (_ref25 = {}, _ref25[prop] = [{ name: 'Slayer' }], _ref25.name = 'Pantera', _ref25), { name: 'Slayer' }]; }