@@ -232,6 +232,79 @@ describe("veTable cell edit", () => {
232
232
) . toBe ( false ) ;
233
233
} ) ;
234
234
235
+ it ( "beforeStartCellEditing callback" , async ( ) => {
236
+ const beforeStartCellEditingMockFn = jest . fn ( ) ;
237
+ const beforeCellValueChangeMockFn = jest . fn ( ) ;
238
+
239
+ const wrapper = mount ( veTable , {
240
+ propsData : {
241
+ columns : COLUMNS ,
242
+ tableData : cloneDeep ( TABLE_DATA ) ,
243
+ editOption : {
244
+ beforeStartCellEditing : ( { row, column, cellValue } ) => {
245
+ beforeStartCellEditingMockFn ( row , column , cellValue ) ;
246
+ if ( cellValue === "AAA" ) {
247
+ return false ;
248
+ }
249
+ } ,
250
+ beforeCellValueChange : ( { row, column, changeValue } ) => {
251
+ beforeCellValueChangeMockFn ( row , column , changeValue ) ;
252
+ } ,
253
+ } ,
254
+ rowKeyFieldName : "rowKey" ,
255
+ } ,
256
+ } ) ;
257
+
258
+ wrapper . vm . startEditingCell ( {
259
+ rowKey : 0 ,
260
+ colKey : "name" ,
261
+ defaultValue : "AAA" ,
262
+ } ) ;
263
+
264
+ await later ( ) ;
265
+ wrapper . vm . stopEditingCell ( ) ;
266
+ await later ( ) ;
267
+
268
+ expect ( beforeStartCellEditingMockFn ) . toHaveBeenCalledWith (
269
+ {
270
+ address : "No.1 Century Avenue, Shanghai" ,
271
+ date : "1900-05-20" ,
272
+ hobby : "coding and coding repeat" ,
273
+ name : "John" ,
274
+ rowKey : 0 ,
275
+ } ,
276
+ {
277
+ _colspan : 1 ,
278
+ _keys : "name" ,
279
+ _level : 1 ,
280
+ _realTimeWidth : "15%" ,
281
+ _rowspan : 1 ,
282
+ align : "left" ,
283
+ edit : true ,
284
+ field : "name" ,
285
+ key : "name" ,
286
+ title : "Name" ,
287
+ width : "15%" ,
288
+ } ,
289
+ "AAA" ,
290
+ ) ;
291
+ expect ( beforeStartCellEditingMockFn ) . toBeCalledTimes ( 1 ) ;
292
+ expect ( beforeCellValueChangeMockFn ) . toBeCalledTimes ( 0 ) ;
293
+
294
+ wrapper . vm . startEditingCell ( {
295
+ rowKey : 0 ,
296
+ colKey : "name" ,
297
+ defaultValue : "BBB" ,
298
+ } ) ;
299
+
300
+ await later ( ) ;
301
+ wrapper . vm . stopEditingCell ( ) ;
302
+ await later ( ) ;
303
+
304
+ expect ( beforeStartCellEditingMockFn ) . toBeCalledTimes ( 2 ) ;
305
+ expect ( beforeCellValueChangeMockFn ) . toBeCalledTimes ( 1 ) ;
306
+ } ) ;
307
+
235
308
it ( "beforeCellValueChange and afterCellValueChange callback" , async ( ) => {
236
309
const beforeCellValueChangeMockFn = jest . fn ( ) ;
237
310
const afterCellValueChangeMockFn = jest . fn ( ) ;
@@ -303,7 +376,6 @@ describe("veTable cell edit", () => {
303
376
await later ( ) ;
304
377
305
378
wrapper . vm . stopEditingCell ( ) ;
306
-
307
379
await later ( ) ;
308
380
309
381
expect ( beforeCellValueChangeMockFn ) . toHaveBeenCalledWith (
0 commit comments