iter(g70): 冒烟补多列排序、页大小与 reset 重置断言
This commit is contained in:
@@ -119,4 +119,39 @@ toggle.dispatch({ type: 'toggleSort', key: 'age' });
|
|||||||
toggle.dispatch({ type: 'toggleSort', key: 'age' });
|
toggle.dispatch({ type: 'toggleSort', key: 'age' });
|
||||||
assert(toggle.getState().sorting.length === 0, '同一列连点三次回到无序(asc → desc → 取消)');
|
assert(toggle.getState().sorting.length === 0, '同一列连点三次回到无序(asc → desc → 取消)');
|
||||||
|
|
||||||
|
const multi = createTable({
|
||||||
|
data: users,
|
||||||
|
columns: [{ key: 'city', header: 'City' }, { key: 'age', header: 'Age', sortable: true }],
|
||||||
|
rowKey: 'id',
|
||||||
|
plugins: [sortPlugin({ multi: true })],
|
||||||
|
});
|
||||||
|
multi.dispatch({ type: 'toggleSort', key: 'city', multi: true });
|
||||||
|
multi.dispatch({ type: 'toggleSort', key: 'age', multi: true });
|
||||||
|
assert(multi.getState().sorting.length === 2, 'multi 排序保留两列规则');
|
||||||
|
assert(
|
||||||
|
JSON.stringify(multi.getVisibleRows().rows.map((r) => r.id)) === JSON.stringify([4, 2, 5, 3, 1]),
|
||||||
|
'多列排序按规则顺序生效(city 升序,同城内 age 升序:Beijing 4→2、Shanghai 5→3)',
|
||||||
|
);
|
||||||
|
|
||||||
|
const sizing = createTable({
|
||||||
|
data: users,
|
||||||
|
columns: [{ key: 'name', header: 'Name' }],
|
||||||
|
rowKey: 'id',
|
||||||
|
plugins: [paginationPlugin()],
|
||||||
|
initialState: { pagination: { page: 1, pageSize: 2 } },
|
||||||
|
});
|
||||||
|
sizing.dispatch({ type: 'setPage', page: 2 });
|
||||||
|
sizing.dispatch({ type: 'setPageSize', pageSize: 3 });
|
||||||
|
assert(sizing.getPageInfo().page === 1 && sizing.getPageInfo().pageSize === 3, '改页大小回到第 1 页');
|
||||||
|
|
||||||
|
sizing.dispatch({ type: 'toggleSort', key: 'name' });
|
||||||
|
sizing.dispatch({ type: 'reset' });
|
||||||
|
assert(
|
||||||
|
sizing.getState().sorting.length === 0 &&
|
||||||
|
sizing.getState().filters.length === 0 &&
|
||||||
|
sizing.getState().pagination.page === 1 &&
|
||||||
|
sizing.getState().pagination.pageSize === 20,
|
||||||
|
'reset 回到默认态(排序/筛选清空,分页回 1/20)',
|
||||||
|
);
|
||||||
|
|
||||||
console.log('SMOKE OK');
|
console.log('SMOKE OK');
|
||||||
|
|||||||
Reference in New Issue
Block a user