#8449 - vnLogFilter #1640

Merged
alexm merged 20 commits from 8449-vnLogFilter into dev 2025-03-31 11:13:18 +00:00
4 changed files with 29 additions and 55 deletions
Showing only changes of commit c867d6da52 - Show all commits

View File

@ -71,32 +71,8 @@ const filter = {
};
const paginate = ref();
const actions = ref();
const changeInput = ref();
jorgep marked this conversation as resolved Outdated
Outdated
Review

Se quita (casi) todo lo referente a los filtros, ya que se mueve a VnLogFilter

Se quita (casi) todo lo referente a los filtros, ya que se mueve a VnLogFilter
const searchInput = ref();
const userRadio = ref();
const userSelect = ref();
const dateFrom = ref();
const dateTo = ref();
const selectedFilters = ref({});
const checkboxOptions = ref({
insert: {
label: 'Creates',
selected: false,
},
update: {
label: 'Edits',
selected: false,
},
delete: {
label: 'Deletes',
selected: false,
},
select: {
label: 'Accesses',
selected: false,
},
});
let validations = models;
let pointRecord = ref(null);
@ -298,15 +274,7 @@ function exprBuilder(param, value) {
async function clearFilter() {
selectedFilters.value = {};
byRecord.value = false;
userSelect.value = undefined;
searchInput.value = undefined;
changeInput.value = undefined;
dateFrom.value = undefined;
dateTo.value = undefined;
userRadio.value = undefined;
Object.keys(checkboxOptions.value).forEach(
(opt) => (checkboxOptions.value[opt].selected = false),
);
await applyFilter();
}

View File

@ -112,6 +112,7 @@ function getActions() {
:info="t('tooltips.search')"
dense
filled
data-cy="vnLog-search"
/>
</template>
<template #filter-changedModel="{ params, columnName, searchFn }">

View File

@ -108,27 +108,4 @@ describe('VnLog', () => {
expect(vm.logTree[0].originFk).toEqual(1);
expect(vm.logTree[0].logs[0].user.name).toEqual('salesPerson');
});
it('should correctly set the selectedFilters when filtering', () => {
jorgep marked this conversation as resolved Outdated
Outdated
Review

Ya no existe esta logica, al usar VnFilterPanel (por debajo) el se encarga del filtrado

Ya no existe esta logica, al usar VnFilterPanel (por debajo) el se encarga del filtrado
vm.searchInput = '1';
vm.userSelect = '21';
vm.checkboxOptions.insert.selected = true;
vm.checkboxOptions.update.selected = true;
vm.selectFilter('search');
vm.selectFilter('userSelect');
expect(vm.selectedFilters.changedModelId).toEqual('1');
expect(vm.selectedFilters.userFk).toEqual('21');
expect(vm.selectedFilters.action).toEqual({ inq: ['insert', 'update'] });
});
it('should correctly set the date from', () => {
vm.dateFrom = '18-09-2023';
vm.selectFilter('date', 'from');
expect(vm.selectedFilters.creationDate.between).toEqual([
new Date('2023-09-18T00:00:00.000Z'),
new Date('2023-09-18T21:59:59.999Z'),
]);
});
});

View File

@ -0,0 +1,28 @@
import { vi, describe, expect, it, beforeAll, afterEach } from 'vitest';
import { createWrapper } from 'app/test/vitest/helper';
import VnLogFilter from 'src/components/common/VnLogFilter.vue';
describe('VnLogFilter', () => {
let vm;
beforeAll(async () => {
vm = createWrapper(VnLogFilter, {
props: {
dataKey: 'ClaimLog',
},
}).vm;
});
afterEach(() => {
vi.clearAllMocks();
});
it('should getActions selected', async () => {
vm.checkboxOptions.find((o) => o.name == 'insert').selected = true;
vm.checkboxOptions.find((o) => o.name == 'update').selected = true;
const actions = vm.getActions();
expect(actions.length).toEqual(2);
expect(actions).toEqual(['insert', 'update']);
});
});