48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
import { describe, expect, it, beforeAll, beforeEach } from 'vitest';
|
|
import { createWrapper } from 'app/test/vitest/helper';
|
|
import VnTable from 'src/components/VnTable/VnTable.vue';
|
|
|
|
describe('VnTable', () => {
|
|
let wrapper;
|
|
let vm;
|
|
|
|
beforeAll(() => {
|
|
wrapper = createWrapper(VnTable, {
|
|
propsData: {
|
|
columns: [],
|
|
},
|
|
});
|
|
vm = wrapper.vm;
|
|
});
|
|
|
|
beforeEach(() => (vm.selected = []));
|
|
|
|
describe('handleSelection()', () => {
|
|
const rows = [{ $index: 0 }, { $index: 1 }, { $index: 2 }];
|
|
const selectedRows = [{ $index: 1 }];
|
|
it('should add rows to selected when shift key is pressed and rows are added except last one', () => {
|
|
vm.handleSelection(
|
|
{ evt: { shiftKey: true }, added: true, rows: selectedRows },
|
|
rows
|
|
);
|
|
expect(vm.selected).toEqual([{ $index: 0 }]);
|
|
});
|
|
|
|
it('should not add rows to selected when shift key is not pressed', () => {
|
|
vm.handleSelection(
|
|
{ evt: { shiftKey: false }, added: true, rows: selectedRows },
|
|
rows
|
|
);
|
|
expect(vm.selected).toEqual([]);
|
|
});
|
|
|
|
it('should not add rows to selected when rows are not added', () => {
|
|
vm.handleSelection(
|
|
{ evt: { shiftKey: true }, added: false, rows: selectedRows },
|
|
rows
|
|
);
|
|
expect(vm.selected).toEqual([]);
|
|
});
|
|
});
|
|
});
|