@@ -232,6 +232,79 @@ describe("veTable cell edit", () => {
232232 ) . toBe ( false ) ;
233233 } ) ;
234234
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+
235308 it ( "beforeCellValueChange and afterCellValueChange callback" , async ( ) => {
236309 const beforeCellValueChangeMockFn = jest . fn ( ) ;
237310 const afterCellValueChangeMockFn = jest . fn ( ) ;
@@ -303,7 +376,6 @@ describe("veTable cell edit", () => {
303376 await later ( ) ;
304377
305378 wrapper . vm . stopEditingCell ( ) ;
306-
307379 await later ( ) ;
308380
309381 expect ( beforeCellValueChangeMockFn ) . toHaveBeenCalledWith (
0 commit comments