我正在尝试测试表的排序功能。该表可以对primaray和secondary值进行排序。通过按住shift键设置二级排序值。
设置排序顺序的代码:
private sortClick(event: any, column: DataGridColumn): void {
if (!column.sortable) {
return;
}
if (event.shiftKey) { // When the shift key is pressed, secondary sorting is being set.
if (column.headerText === this.primarySorting.headerText) {
return;
}
this.secondarySortingColumn.setSortingProperty(column.headerText, column.name);
} else {
this.primarySorting.setSortingProperty(column.headerText, column.name);
this.secondarySortingColumn.clear();
}
this.sortData(this);
}
现在我正在为函数编写单元testst。 主要排序使用以下方法完成:
let firstColumn: NodeListOf<HTMLElement> = <NodeListOf<HTMLElement>>compiled.querySelectorAll("#header0");
firstColumn.item(0).click();
如何使用.click()
shift key pressed
来调用unit test
功能
答案 0 :(得分:1)
您可以使用dispaatchEvent
方法调用click事件并提供其他事件信息,如下所示:
var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'shiftKey': true
});
let firstColumn: NodeListOf<HTMLElement> = <NodeListOf<HTMLElement>>compiled.querySelectorAll("#header0");
firstColumn.item(0).dispatchEvent(event);
注意shiftKey
成员在MouseEvent构造函数的mouseEventInit
字典参数中设置为true,这允许我们指定按下shiftKey。