@silexlabs/grapesjs-symbols
Version:
Symbols for GrapesJS
72 lines • 3.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var globals_1 = require("@jest/globals");
var backbone_1 = require("backbone");
var test_utils_1 = require("../test-utils");
var Symbols_1 = require("./Symbols");
var globals_2 = require("@jest/globals");
var UndoManager = {
add: globals_2.jest.fn(),
};
describe('Make sure everything has the correct data type and default values', function () {
// mock editor
var editor, options;
beforeEach(function () {
editor = {
UndoManager: UndoManager,
};
options = {
headless: true,
};
});
(0, globals_1.test)('Initialize symbols with test data', function () {
var _a = (0, test_utils_1.getTestSymbols)(), s1 = _a.s1, s1Data = _a.s1Data, comp1 = _a.comp1;
var symbols = new Symbols_1.Symbols([s1], { options: options, editor: editor });
(0, globals_1.expect)(symbols).toHaveLength(1);
(0, globals_1.expect)(comp1.get('symbolId')).toBe(s1.id);
(0, globals_1.expect)(symbols.get(s1.cid)).not.toBeUndefined();
(0, globals_1.expect)(symbols.get(s1.cid).get('label')).toBe(s1Data.label);
(0, globals_1.expect)(symbols.get(s1.cid).get('instances')).not.toBeUndefined();
(0, globals_1.expect)(symbols.get(s1.cid).get('instances') instanceof Map).toBe(true);
});
(0, globals_1.test)('Initialize symbols with default values', function () {
var _a = (0, test_utils_1.getTestSymbols)(), s1 = _a.s1, s2 = _a.s2;
var symbols = new Symbols_1.Symbols([s1, s2], { options: options, editor: editor });
(0, globals_1.expect)(symbols).toHaveLength(2);
(0, globals_1.expect)(symbols.get(s2.cid)).not.toBeUndefined();
(0, globals_1.expect)(symbols.get(s2.cid).get('label')).not.toBeUndefined();
(0, globals_1.expect)(symbols.get(s2.cid).get('instances')).not.toBeUndefined();
(0, globals_1.expect)(symbols.get(s2.cid).get('instances') instanceof Map).toBe(true);
});
});
describe('Test event listeners which maintain the components list up to date', function () {
var s1, s2;
var editor, options;
beforeEach(function () {
// mock editor
editor = {
UndoManager: UndoManager,
};
options = {
headless: true,
};
var symbols = (0, test_utils_1.getTestSymbols)();
s1 = symbols.s1;
s2 = symbols.s2;
editor.Symbols = new Symbols_1.Symbols([s1, s2], { options: options, editor: editor });
});
(0, globals_1.test)('onAdd method', function () {
var comp = new backbone_1.default.Model({
tagName: 'div',
content: 'comp S1',
symbolId: s1.cid,
});
var components = s1.attributes.instances;
(0, globals_1.expect)(components.size).toBe(2);
editor.Symbols.onAdd(comp);
var added = components.get(comp.cid);
(0, globals_1.expect)(added).toBe(comp);
(0, globals_1.expect)(components.size).toBe(3);
});
});
//# sourceMappingURL=Symbols.test.js.map