javascript - 基于 Javascript 的网格的测试用例
问题描述
我正在使用 AG-Grid 将数据加载到我的 Web 应用程序中。代码看起来像这个链接。
var gridOptions = {
columnDefs: [
{ field: 'firstName' },
{ field: 'lastName' },
{ field: 'gender' },
{ field: 'age' },
{ field: 'mood' },
{ field: 'country' },
{ field: 'address', minWidth: 550 },
],
defaultColDef: {
flex: 1,
minWidth: 110,
editable: true,
resizable: true,
},
rowData: rowData,
pinnedTopRowData: getPinnedTopData(),
pinnedBottomRowData: getPinnedBottomData(),
onRowEditingStarted: function (event) {
console.log('never called - not doing row editing');
},
onRowEditingStopped: function (event) {
console.log('never called - not doing row editing');
},
onCellEditingStarted: function (event) {
console.log('cellEditingStarted');
},
onCellEditingStopped: function (event) {
console.log('cellEditingStopped');
},
};
function onBtStopEditing() {
gridOptions.api.stopEditing();
}
function onBtStartEditing(key, char, pinned) {
gridOptions.api.setFocusedCell(0, 'lastName', pinned);
gridOptions.api.startEditingCell({
rowIndex: 0,
colKey: 'lastName',
// set to 'top', 'bottom' or undefined
rowPinned: pinned,
keyPress: key,
charPress: char,
});
}
function getCharCodeFromEvent(event) {
event = event || window.event;
return typeof event.which === 'undefined' ? event.keyCode : event.which;
}
function isCharNumeric(charStr) {
return !!/\d/.test(charStr);
}
function isKeyPressedNumeric(event) {
var charCode = getCharCodeFromEvent(event);
var charStr = String.fromCharCode(charCode);
return isCharNumeric(charStr);
}
function onBtNextCell() {
gridOptions.api.tabToNextCell();
}
function onBtPreviousCell() {
gridOptions.api.tabToPreviousCell();
}
function onBtWhich() {
var cellDefs = gridOptions.api.getEditingCells();
if (cellDefs.length > 0) {
var cellDef = cellDefs[0];
console.log(
'editing cell is: row = ' +
cellDef.rowIndex +
', col = ' +
cellDef.column.getId() +
', floating = ' +
cellDef.rowPinned
);
} else {
console.log('no cells are editing');
}
}
// setup the grid after the page has finished loading
document.addEventListener('DOMContentLoaded', function () {
var gridDiv = document.querySelector('#myGrid');
new agGrid.Grid(gridDiv, gridOptions);
});
用户将编辑网格的一行,然后单击提交按钮将有关已编辑行的信息发布到服务器。发布的数据将包含所有列。除此之外,用户还将发布有关已修改的每一列的信息。
我想针对网格编写测试用例并验证正确的信息(新数据以及谈论修改了哪一列的新字段)已发布到 server 。
测试这种场景的最佳方法是什么。
解决方案
推荐阅读
- mongodb - 如何在 mongodb compass 中恢复已删除的管道
- keras - Keras 自定义损失函数未更新进度条
- postgresql - 如何让我的反应原生应用程序自动刷新数据?
- python - 根据python中的时间戳组织文件
- vue.js - 如何将图像地址放在数组中并在源 VUE JS 中使用该数组索引?
- keycloak - Impersonation – 表示它是 Token 的模拟的属性
- c# - 生成大 xlsx 文件并按部分发送
- reactjs - 从 React Router 禁用 TransitionGroup 动画 CSSTransition
- javascript - Firebase 函数仅在 return 语句内运行
- excel - 用一堆零格式化数字