From faadc6c6c594e0db74a397721950db30fe64beb9 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sat, 2 Sep 2023 13:00:51 +0400 Subject: [PATCH] Up CssRulesView tests --- .../view/{CssRulesView.js => CssRulesView.ts} | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) rename test/specs/css_composer/view/{CssRulesView.js => CssRulesView.ts} (79%) diff --git a/test/specs/css_composer/view/CssRulesView.js b/test/specs/css_composer/view/CssRulesView.ts similarity index 79% rename from test/specs/css_composer/view/CssRulesView.js rename to test/specs/css_composer/view/CssRulesView.ts index 118612a4b..d91811da2 100644 --- a/test/specs/css_composer/view/CssRulesView.js +++ b/test/specs/css_composer/view/CssRulesView.ts @@ -1,9 +1,10 @@ -import CssRulesView from 'css_composer/view/CssRulesView'; -import CssRules from 'css_composer/model/CssRules'; -import Editor from 'editor/model/Editor'; +import CssRulesView from '../../../../src/css_composer/view/CssRulesView'; +import CssRules from '../../../../src/css_composer/model/CssRules'; +import EditorModel from '../../../../src/editor/model/Editor'; +import { EditorConfig } from '../../../../src/editor/config/config'; describe('CssRulesView', () => { - let obj; + let obj: CssRulesView; const prefix = 'rules'; const devices = [ { @@ -40,16 +41,16 @@ describe('CssRulesView', () => { }, ]; - function buildEditor(editorOptions) { - const col = new CssRules([]); + function buildEditor(editorOptions: EditorConfig) { + const col = new CssRules([], {}); const obj = new CssRulesView({ collection: col, config: { - em: new Editor(editorOptions), + em: new EditorModel(editorOptions), }, }); document.body.innerHTML = '
'; - document.body.querySelector('#fixtures').appendChild(obj.render().el); + document.body.querySelector('#fixtures')!.appendChild(obj.render().el); return obj; } @@ -79,8 +80,7 @@ describe('CssRulesView', () => { .map(dvc => dvc.widthMedia) .sort((left, right) => { return ( - ((right && right.replace('px', '')) || Number.MAX_VALUE) - - ((left && left.replace('px', '')) || Number.MAX_VALUE) + (Number(right?.replace('px', '')) || Number.MAX_VALUE) - (Number(left?.replace('px', '')) || Number.MAX_VALUE) ); }) .map(widthMedia => parseFloat(widthMedia)); @@ -106,8 +106,8 @@ describe('CssRulesView', () => { const sortedDevicesWidthMedia = mobileFirstDevices .map(dvc => dvc.widthMedia) .sort((left, right) => { - const a = (left && left.replace('px', '')) || Number.MIN_VALUE; - const b = (right && right.replace('px', '')) || Number.MIN_VALUE; + const a = Number(left?.replace('px', '')) || Number.MIN_VALUE; + const b = Number(right?.replace('px', '')) || Number.MIN_VALUE; return a - b; }) .map(widthMedia => parseFloat(widthMedia)); @@ -119,13 +119,12 @@ describe('CssRulesView', () => { }); test('Add new rule', () => { - sinon.stub(obj, 'addToCollection'); + const spy = jest.spyOn(obj, 'addToCollection'); obj.collection.add({}); - expect(obj.addToCollection.calledOnce).toBeTruthy(); + expect(spy).toBeCalledTimes(1); }); test('Add correctly rules with different media queries', () => { - const foundStylesContainers = obj.$el.find('div'); const rules = [ { selectorsAdd: '#testid', @@ -144,7 +143,7 @@ describe('CssRulesView', () => { }, ]; obj.collection.add(rules); - const stylesCont = obj.el.querySelector(`#${obj.className}`); + const stylesCont = obj.el.querySelector(`#${obj.className}`)!; expect(stylesCont.children.length).toEqual(rules.length); });