Skip to content

Commit 6e26da0

Browse files
committed
完善多选单元测试
1 parent b839004 commit 6e26da0

File tree

1 file changed

+114
-1
lines changed

1 file changed

+114
-1
lines changed

tests/unit/specs/ve-table-row-checkbox.spec.js

Lines changed: 114 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ describe("veTable row checkbox", () => {
135135
).toBe(3);
136136
});
137137

138-
it("check disable selected keys", async () => {
138+
it("check disable selected keys with defaultSelectedRowKeys", async () => {
139139
const wrapper = mount(veTable, {
140140
propsData: {
141141
columns: COLUMNS,
@@ -185,6 +185,119 @@ describe("veTable row checkbox", () => {
185185
).toBe(false);
186186
});
187187

188+
it("check disable selected keys", async () => {
189+
const wrapper = mount(veTable, {
190+
propsData: {
191+
columns: COLUMNS,
192+
tableData: TABLE_DATA,
193+
checkboxOption: {
194+
// 禁用的选择(禁止勾选或者禁止取消勾选)
195+
disableSelectedRowKeys: [1002, 1005],
196+
// 默认选择
197+
//defaultSelectedRowKeys: [1001, 1003, 1004, 1005],
198+
},
199+
rowKeyFieldName: "rowKey",
200+
},
201+
});
202+
203+
await later();
204+
205+
expect(
206+
wrapper
207+
.find(
208+
".ve-table-header-tr .ve-checkbox .ve-checkbox-indeterminate",
209+
)
210+
.exists(),
211+
).toBe(false);
212+
213+
// checked count
214+
expect(
215+
wrapper.findAll(
216+
".ve-table-body-tr .ve-checkbox .ve-checkbox-checked",
217+
).length,
218+
).toBe(0);
219+
220+
// disable checked count
221+
expect(
222+
wrapper.findAll(
223+
".ve-table-body-tr .ve-checkbox .ve-checkbox-checked.ve-checkbox-disabled",
224+
).length,
225+
).toBe(0);
226+
227+
// disable unchecked count
228+
expect(
229+
wrapper
230+
.findAll(".ve-table-body-tr")
231+
.at(1)
232+
.find(".ve-checkbox-content")
233+
.classes()
234+
.includes("ve-checkbox-checked"),
235+
).toBe(false);
236+
});
237+
238+
it("select all event with check disable selected keys", async () => {
239+
const wrapper = mount(veTable, {
240+
propsData: {
241+
columns: COLUMNS,
242+
tableData: TABLE_DATA,
243+
checkboxOption: {
244+
// 禁用的选择(禁止勾选或者禁止取消勾选)
245+
disableSelectedRowKeys: [1002, 1005],
246+
// 默认选择
247+
//defaultSelectedRowKeys: [1001, 1003, 1004, 1005],
248+
},
249+
rowKeyFieldName: "rowKey",
250+
},
251+
});
252+
253+
await later();
254+
255+
// select all
256+
wrapper
257+
.findAll(".ve-table-header-tr")
258+
.at(0)
259+
.findAll(".ve-table-header-th")
260+
.at(0)
261+
.find(".ve-checkbox")
262+
.trigger("click");
263+
264+
await later();
265+
266+
expect(
267+
wrapper
268+
.find(
269+
".ve-table-header-tr .ve-checkbox .ve-checkbox-indeterminate",
270+
)
271+
.exists(),
272+
).toBe(true);
273+
274+
// checked count
275+
expect(
276+
wrapper.findAll(
277+
".ve-table-body-tr .ve-checkbox .ve-checkbox-checked",
278+
).length,
279+
).toBe(3);
280+
281+
// disable unchecked count
282+
expect(
283+
wrapper
284+
.findAll(".ve-table-body-tr")
285+
.at(1)
286+
.find(".ve-checkbox-content")
287+
.classes()
288+
.includes("ve-checkbox-checked"),
289+
).toBe(false);
290+
291+
expect(
292+
wrapper
293+
.findAll(".ve-table-body-tr")
294+
.at(4)
295+
.find(".ve-checkbox-content")
296+
.classes()
297+
.includes("ve-checkbox-checked"),
298+
).toBe(false);
299+
});
300+
188301
it("controllable attr selectedRowKey", async () => {
189302
const wrapper = mount(veTable, {
190303
propsData: {

0 commit comments

Comments
 (0)