#7058 LeftMenu vitest #1153

Open
jsegarra wants to merge 18 commits from 7058_leftMenu_vitest into dev
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 Leftmenu from 'components/LeftMenu.vue';
import * as vueRouter from 'vue-router';
import { useNavigationStore } from 'src/stores/useNavigationStore';
let vm;
let navigation;
vi.mock('src/router/modules', () => ({
default: [
{
@ -164,7 +165,7 @@ describe('getRoutes', () => {
expect(getMethodA).toHaveBeenCalled();
expect(getMethodB).not.toHaveBeenCalled();
});
//WIP
it('should call getMethodA when source is main', () => {
Review

Poner otro nombre, está repetido.

Poner otro nombre, está repetido.
Review

oh vaya

oh vaya
Review

should not call getMethodA when method is undefined por ej.

should not call getMethodA when method is undefined por ej.
let props = { source: 'methodC' };
expect(() => fn(props)).toThrowError('Method not defined');
@ -184,30 +185,10 @@ describe('Leftmenu as card', () => {
});
});
describe('Leftmenu as main', () => {
beforeAll(() => {
beforeEach(() => {
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', () => {
expect(vm.source).toBe('main');
});
@ -215,7 +196,6 @@ describe('Leftmenu as main', () => {
it('should filter items based on search input', async () => {
vm.search = 'Rou';
Review

Estaría bien crear un test que devuelva algún resultado, mockea otra para comprobar que solo te va a devolver esa.

Estaría bien crear un test que devuelva algún resultado, mockea otra para comprobar que solo te va a devolver esa.
await vm.$nextTick();
// expect(vm.filterItems).toHaveBeenCalled();
expect(vm.filterItems()).toEqual([]);
});
@ -343,7 +323,6 @@ describe('normalize', () => {
});
});
// WIP
describe('addChildren', () => {
Review

En estos tests, solo veo que compruebes que la función haya sido llamada, no se debería comprobar si navigation ha cambiado?

En estos tests, solo veo que compruebes que la función haya sido llamada, no se debería comprobar si navigation ha cambiado?
const route = {
meta: {
@ -378,19 +357,6 @@ describe('addChildren', () => {
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', () => {
const module = 'testModule';
const parent = [];
@ -399,19 +365,6 @@ describe('addChildren', () => {
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', () => {
const module = 'testModule';
const parent = [];