UNPKG

devextreme-vue

Version:

DevExtreme Vue UI and Visualization Components

101 lines (99 loc) 4.56 kB
/*! * devextreme-vue * Version: 25.1.5 * Build date: Wed Sep 03 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-vue */ import { VueWrapper } from '@vue/test-utils'; import { discover } from '../templates-discovering'; import { TemplatesManager } from '../templates-manager'; jest.mock('../templates-discovering'); const discoverMock1 = () => ({}); const discoverMock2 = () => ({ template1: jest.fn() }); const discoverMock3 = () => ({ template1: jest.fn(), template2: jest.fn() }); describe('TemplatesManager', () => { describe('isDirty', () => { it('after init: false', () => { discover.mockImplementationOnce(discoverMock1); const templatesManager = new TemplatesManager(VueWrapper); expect(templatesManager.isDirty).toBeFalsy(); }); it('after init: true', () => { discover.mockImplementationOnce(discoverMock2); const templatesManager = new TemplatesManager(VueWrapper); expect(templatesManager.isDirty).toBeTruthy(); }); it('after discover: false (1)', () => { discover.mockImplementationOnce(discoverMock1); const templatesManager = new TemplatesManager(VueWrapper); discover.mockImplementationOnce(discoverMock1); templatesManager.discover(); expect(templatesManager.isDirty).toBeFalsy(); }); it('after discover: false (2)', () => { discover.mockImplementationOnce(discoverMock3); const templatesManager = new TemplatesManager(VueWrapper); templatesManager.resetDirtyFlag(); discover.mockImplementationOnce(discoverMock3); templatesManager.discover(); expect(templatesManager.isDirty).toBeFalsy(); }); it('after discover: true (1)', () => { discover.mockImplementationOnce(discoverMock1); const templatesManager = new TemplatesManager(VueWrapper); discover.mockImplementationOnce(discoverMock2); templatesManager.discover(); expect(templatesManager.isDirty).toBeTruthy(); }); it('after discover: true (2)', () => { discover.mockImplementationOnce(discoverMock2); const templatesManager = new TemplatesManager(VueWrapper); templatesManager.resetDirtyFlag(); discover.mockImplementationOnce(discoverMock3); templatesManager.discover(); expect(templatesManager.isDirty).toBeTruthy(); }); it('after discover: true (3)', () => { discover.mockImplementationOnce(discoverMock3); const templatesManager = new TemplatesManager(VueWrapper); templatesManager.resetDirtyFlag(); discover.mockImplementationOnce(discoverMock2); templatesManager.discover(); expect(templatesManager.isDirty).toBeTruthy(); }); }); describe('resetDirtyFlag', () => { it('resets flag value', () => { discover.mockImplementationOnce(discoverMock3); const templatesManager = new TemplatesManager(VueWrapper); templatesManager.resetDirtyFlag(); expect(templatesManager.isDirty).toBeFalsy(); }); }); describe('templates', () => { it('returns empty templates', () => { discover.mockImplementationOnce(discoverMock1); const templatesManager = new TemplatesManager(VueWrapper); expect(templatesManager.templates).toEqual({}); }); it('returns templates', () => { discover.mockImplementationOnce(discoverMock3); const templatesManager = new TemplatesManager(VueWrapper); expect(Object.keys(templatesManager.templates)).toEqual(['template1', 'template2']); }); it('clear templates when we do not have slots', () => { discover.mockImplementationOnce(discoverMock3); const templatesManager = new TemplatesManager(VueWrapper); expect(Object.keys(templatesManager.templates)).toEqual(['template1', 'template2']); discover.mockImplementationOnce(discoverMock1); templatesManager.discover(); expect(Object.keys(templatesManager.templates)).toEqual([]); }); }); });