Skip to content

Commit 1a27068

Browse files
committed
test(unittest): test uncovered lines
1 parent 68ff9e1 commit 1a27068

File tree

2 files changed

+62
-2
lines changed

2 files changed

+62
-2
lines changed

projects/ng-sortgrid/src/lib/ngsg-selection.service.spec.ts

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ import {NgsgElementsHelper} from './ngsg-elements.helper';
88

99
describe('NgsgSelectionService', () => {
1010

11-
const ngsgClassService = createSpyObj<NgsgClassService>('classService', ['addSelectedClass', 'addSelectedClass']);
12-
const ngsgStore = createSpyObj<NgsgStoreService>('ngsgStore', ['addSelectedItem', 'hasSelectedItems']);
11+
const ngsgClassService = createSpyObj<NgsgClassService>('classService',
12+
['addSelectedClass', 'addSelectedClass', 'removeSelectedClass']);
13+
const ngsgStore = createSpyObj<NgsgStoreService>('ngsgStore',
14+
['addSelectedItem', 'hasSelectedItems', 'removeSelectedItem']);
1315
let sut: NgsgSelectionService;
1416

1517
beforeEach(() => {
@@ -77,6 +79,41 @@ describe('NgsgSelectionService', () => {
7779

7880
expect(ngsgStore.addSelectedItem).toHaveBeenCalledWith(group, {node: item, originalIndex: index});
7981
});
82+
83+
it('should remove the selectedItem if the Meta key is pressed and the selected item is clicked', () => {
84+
85+
const event = new KeyboardEvent('keydown', {
86+
key: 'Meta'
87+
});
88+
const group = 'groupOne';
89+
const item = 'Some element' as any;
90+
const selected = false;
91+
const index = 2;
92+
NgsgElementsHelper.findIndex = () => index;
93+
94+
window.dispatchEvent(event);
95+
sut.updateSelectedDragItem(group, item, selected);
96+
97+
expect(ngsgStore.removeSelectedItem).toHaveBeenCalledWith(group, item);
98+
});
99+
100+
it(`should remove the selected class from the selected item if the Meta key is pressed
101+
and the selected item is clicked`, () => {
102+
103+
const event = new KeyboardEvent('keydown', {
104+
key: 'Meta'
105+
});
106+
const group = 'groupOne';
107+
const item = 'Some element' as any;
108+
const selected = false;
109+
const index = 2;
110+
NgsgElementsHelper.findIndex = () => index;
111+
112+
window.dispatchEvent(event);
113+
sut.updateSelectedDragItem(group, item, selected);
114+
115+
expect(ngsgClassService.removeSelectedClass).toHaveBeenCalledWith(item);
116+
});
80117
});
81118

82119
});

projects/ng-sortgrid/src/lib/ngsg-store.service.spec.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,27 @@ describe('NgsgStoreService', () => {
6767
expect(sut.getFirstSelectItem(group)).toEqual(firstItem);
6868
});
6969

70+
it('should add selected items', () => {
71+
const group = 'test-group';
72+
const selectedItem = 'Item one' as any;
73+
sut.initState(group);
74+
sut.addSelectedItem(group, selectedItem);
75+
76+
expect(sut.getSelectedItems(group) as any).toEqual([selectedItem]);
77+
});
78+
79+
it('should remove the selected item', () => {
80+
const group = 'test-group';
81+
const itemOne = {node: 'item one'};
82+
const itemTwo = {node: 'item two'};
83+
const itemThree = {node: 'item three'};
84+
85+
const selectedItems = [itemOne, itemTwo, itemThree];
86+
sut.initState(group);
87+
sut.setSelectedItems(group, selectedItems);
88+
sut.removeSelectedItem(group, 'item two' as any);
89+
90+
expect(sut.getSelectedItems(group) as any).toEqual([itemOne, itemThree]);
91+
});
92+
7093
});

0 commit comments

Comments
 (0)