#7058 LeftMenu vitest #1153

Merged
jsegarra merged 26 commits from 7058_leftMenu_vitest into dev 2025-02-06 21:45:16 +00:00
1 changed files with 4 additions and 51 deletions
Showing only changes of commit 45caf8ac2f - Show all commits

View File

@ -2,10 +2,11 @@ import { vi, describe, expect, it, beforeAll, beforeEach, afterEach } from 'vite
import { createWrapper, axios } from 'app/test/vitest/helper'; import { createWrapper, axios } from 'app/test/vitest/helper';
import Leftmenu from 'components/LeftMenu.vue'; import Leftmenu from 'components/LeftMenu.vue';
import * as vueRouter from 'vue-router'; import * as vueRouter from 'vue-router';
import { useNavigationStore } from 'src/stores/useNavigationStore'; import { useNavigationStore } from 'src/stores/useNavigationStore';
let vm; let vm;
let navigation; let navigation;
vi.mock('src/router/modules', () => ({ vi.mock('src/router/modules', () => ({
default: [ default: [
{ {
@ -164,7 +165,7 @@ describe('getRoutes', () => {
expect(getMethodA).toHaveBeenCalled(); expect(getMethodA).toHaveBeenCalled();
expect(getMethodB).not.toHaveBeenCalled(); expect(getMethodB).not.toHaveBeenCalled();
}); });
//WIP
it('should call getMethodA when source is main', () => { it('should call getMethodA when source is main', () => {
let props = { source: 'methodC' }; let props = { source: 'methodC' };
expect(() => fn(props)).toThrowError('Method not defined'); expect(() => fn(props)).toThrowError('Method not defined');
@ -184,30 +185,10 @@ describe('Leftmenu as card', () => {
}); });
}); });
describe('Leftmenu as main', () => { describe('Leftmenu as main', () => {
beforeAll(() => { beforeEach(() => {
vm = mount('main').vm; vm = mount('main').vm;
}); });
// WIP
it.skip('should return a proper formated object with two child items', async () => {
const expectedMenuItem = [
{
children: null,
name: 'CustomerList',
title: 'globals.pageTitles.list',
icon: 'view_list',
},
{
children: null,
name: 'CustomerCreate',
title: 'globals.pageTitles.createCustomer',
icon: 'vn:addperson',
},
];
const firstMenuItem = vm.items[0];
expect(firstMenuItem.children).toEqual(expect.arrayContaining(expectedMenuItem));
});
it('should initialize with default props', () => { it('should initialize with default props', () => {
expect(vm.source).toBe('main'); expect(vm.source).toBe('main');
}); });
@ -215,7 +196,6 @@ describe('Leftmenu as main', () => {
it('should filter items based on search input', async () => { it('should filter items based on search input', async () => {
vm.search = 'Rou'; vm.search = 'Rou';
await vm.$nextTick(); await vm.$nextTick();
// expect(vm.filterItems).toHaveBeenCalled();
expect(vm.filterItems()).toEqual([]); expect(vm.filterItems()).toEqual([]);
}); });
@ -343,7 +323,6 @@ describe('normalize', () => {
}); });
}); });
// WIP
describe('addChildren', () => { describe('addChildren', () => {
const route = { const route = {
meta: { meta: {
@ -378,19 +357,6 @@ describe('addChildren', () => {
expect(useNavigationStore().addMenuItem).toHaveBeenCalled(); expect(useNavigationStore().addMenuItem).toHaveBeenCalled();
}); });
// WIP
it.skip('should not add menu items if no matches are found', () => {
const module = 'testModule';
const route = {
meta: { menu: 'child3', menuChildren: [] },
children: [{ name: 'child3', meta: { menuChildren: [] } }],
};
const parent = [];
vm.addChildren(module, route, parent);
expect(useNavigationStore().addMenuItem).toHaveBeenCalled();
});
it('should handle routes with no meta menu', () => { it('should handle routes with no meta menu', () => {
const module = 'testModule'; const module = 'testModule';
const parent = []; const parent = [];
@ -399,19 +365,6 @@ describe('addChildren', () => {
expect(useNavigationStore().addMenuItem).toHaveBeenCalled(); expect(useNavigationStore().addMenuItem).toHaveBeenCalled();
}); });
// WIP
it.skip('should handle routes with no matches', () => {
const module = 'testModule';
const route = {
meta: { menu: 'child4' },
children: [{ name: 'child4', meta: { menuChildren: [] } }],
};
const parent = [];
vm.addChildren(module, route, parent);
expect(useNavigationStore().addMenuItem).toHaveBeenCalled();
});
it('should handle empty parent array', () => { it('should handle empty parent array', () => {
const module = 'testModule'; const module = 'testModule';
const parent = []; const parent = [];