devextreme-vue
Version:
DevExtreme Vue UI and Visualization Components
103 lines (101 loc) • 5.43 kB
JavaScript
/*!
* devextreme-vue
* Version: 25.1.6
* Build date: Mon Oct 13 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
*/
;
Object.defineProperty(exports, "__esModule", { value: true });
const test_utils_1 = require("@vue/test-utils");
const templates_discovering_1 = require("../templates-discovering");
const templates_manager_1 = require("../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', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock1);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
expect(templatesManager.isDirty).toBeFalsy();
});
it('after init: true', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock2);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
expect(templatesManager.isDirty).toBeTruthy();
});
it('after discover: false (1)', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock1);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
templates_discovering_1.discover.mockImplementationOnce(discoverMock1);
templatesManager.discover();
expect(templatesManager.isDirty).toBeFalsy();
});
it('after discover: false (2)', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock3);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
templatesManager.resetDirtyFlag();
templates_discovering_1.discover.mockImplementationOnce(discoverMock3);
templatesManager.discover();
expect(templatesManager.isDirty).toBeFalsy();
});
it('after discover: true (1)', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock1);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
templates_discovering_1.discover.mockImplementationOnce(discoverMock2);
templatesManager.discover();
expect(templatesManager.isDirty).toBeTruthy();
});
it('after discover: true (2)', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock2);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
templatesManager.resetDirtyFlag();
templates_discovering_1.discover.mockImplementationOnce(discoverMock3);
templatesManager.discover();
expect(templatesManager.isDirty).toBeTruthy();
});
it('after discover: true (3)', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock3);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
templatesManager.resetDirtyFlag();
templates_discovering_1.discover.mockImplementationOnce(discoverMock2);
templatesManager.discover();
expect(templatesManager.isDirty).toBeTruthy();
});
});
describe('resetDirtyFlag', () => {
it('resets flag value', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock3);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
templatesManager.resetDirtyFlag();
expect(templatesManager.isDirty).toBeFalsy();
});
});
describe('templates', () => {
it('returns empty templates', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock1);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
expect(templatesManager.templates).toEqual({});
});
it('returns templates', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock3);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
expect(Object.keys(templatesManager.templates)).toEqual(['template1', 'template2']);
});
it('clear templates when we do not have slots', () => {
templates_discovering_1.discover.mockImplementationOnce(discoverMock3);
const templatesManager = new templates_manager_1.TemplatesManager(test_utils_1.VueWrapper);
expect(Object.keys(templatesManager.templates)).toEqual(['template1', 'template2']);
templates_discovering_1.discover.mockImplementationOnce(discoverMock1);
templatesManager.discover();
expect(Object.keys(templatesManager.templates)).toEqual([]);
});
});
});