@@ -139,6 +139,38 @@ test('The column should not be reordered when it has allowReordering set to fals
139139 } ) ;
140140} ) ;
141141
142+ test ( 'The column should not be reordered when allowColumnReordering is false and group panel is visible' , async ( t ) => {
143+ const { takeScreenshot, compareResults } = createScreenshotsComparer ( t ) ;
144+ const dataGrid = new DataGrid ( DATA_GRID_SELECTOR ) ;
145+ const firstHeaderCell = dataGrid . getHeaders ( ) . getHeaderRow ( 0 ) . getHeaderCell ( 0 ) ;
146+
147+ await t
148+ . click ( firstHeaderCell . element )
149+ . pressKey ( 'ctrl+right' ) ;
150+
151+ await takeScreenshot (
152+ 'reorder_column_when_allowColumnReordering_is_false_and_group_panel_is_visible' ,
153+ dataGrid . element ,
154+ ) ;
155+
156+ await t . expect ( compareResults . isValid ( ) )
157+ . ok ( compareResults . errorMessages ( ) ) ;
158+ } ) . before ( async ( ) => {
159+ await createWidget ( 'dxDataGrid' , {
160+ allowColumnReordering : false ,
161+ groupPanel : {
162+ visible : true ,
163+ allowColumnDragging : true ,
164+ } ,
165+ dataSource : [ {
166+ field1 : 'test1' ,
167+ field2 : 'test2' ,
168+ field3 : 'test3' ,
169+ field4 : 'test4' ,
170+ } ] ,
171+ } ) ;
172+ } ) ;
173+
142174// Fixed columns
143175test ( 'reorder fixed left column to right' , async ( t ) => {
144176 const { takeScreenshot, compareResults } = createScreenshotsComparer ( t ) ;
@@ -386,6 +418,118 @@ test('reorder sticky column to right when there are fixed columns', async (t) =>
386418 } ) ;
387419} ) ;
388420
421+ test ( 'reorder fixed right column to right when there is a command column on the right' , async ( t ) => {
422+ const { takeScreenshot, compareResults } = createScreenshotsComparer ( t ) ;
423+ const dataGrid = new DataGrid ( DATA_GRID_SELECTOR ) ;
424+ const firstFixedRightHeader = dataGrid . getHeaders ( ) . getHeaderRow ( 0 ) . getHeaderCell ( 6 ) ;
425+
426+ await t
427+ . click ( firstFixedRightHeader . element )
428+ . pressKey ( 'ctrl+right' )
429+ . pressKey ( 'ctrl+right' ) ;
430+
431+ await takeScreenshot (
432+ 'reorder_fixed_right_column_to_right_when_there_is_command_column_on_right' ,
433+ dataGrid . element ,
434+ ) ;
435+
436+ await t . expect ( compareResults . isValid ( ) )
437+ . ok ( compareResults . errorMessages ( ) ) ;
438+ } ) . before ( async ( ) => {
439+ await createWidget ( 'dxDataGrid' , {
440+ columnWidth : 100 ,
441+ allowColumnReordering : true ,
442+ editing : {
443+ mode : 'row' ,
444+ allowUpdating : true ,
445+ } ,
446+ dataSource : [ {
447+ field1 : 'test1' ,
448+ field2 : 'test2' ,
449+ field3 : 'test3' ,
450+ field4 : 'test4' ,
451+ field5 : 'test5' ,
452+ field6 : 'test6' ,
453+ field7 : 'test7' ,
454+ field8 : 'test8' ,
455+ } ] ,
456+ customizeColumns : ( columns ) => {
457+ columns [ 0 ] . fixed = true ;
458+ columns [ 0 ] . fixedPosition = 'right' ;
459+ columns [ 7 ] . fixed = true ;
460+ columns [ 7 ] . fixedPosition = 'right' ;
461+ } ,
462+ } ) ;
463+ } ) ;
464+
465+ test ( 'reorder fixed right column to right when there is a custom command column on the right' , async ( t ) => {
466+ const { takeScreenshot, compareResults } = createScreenshotsComparer ( t ) ;
467+ const dataGrid = new DataGrid ( DATA_GRID_SELECTOR ) ;
468+ const firstFixedRightHeader = dataGrid . getHeaders ( ) . getHeaderRow ( 0 ) . getHeaderCell ( 6 ) ;
469+
470+ await t
471+ . click ( firstFixedRightHeader . element )
472+ . pressKey ( 'ctrl+right' )
473+ . pressKey ( 'ctrl+right' )
474+ . pressKey ( 'ctrl+right' ) ;
475+
476+ await takeScreenshot (
477+ 'reorder_fixed_right_column_to_right_when_there_is_custom_command_column_on_right' ,
478+ dataGrid . element ,
479+ ) ;
480+
481+ await t . expect ( compareResults . isValid ( ) )
482+ . ok ( compareResults . errorMessages ( ) ) ;
483+ } ) . before ( async ( ) => {
484+ await createWidget ( 'dxDataGrid' , {
485+ columnWidth : 100 ,
486+ allowColumnReordering : true ,
487+ editing : {
488+ mode : 'row' ,
489+ allowUpdating : true ,
490+ } ,
491+ dataSource : [ {
492+ field1 : 'test1' ,
493+ field2 : 'test2' ,
494+ field3 : 'test3' ,
495+ field4 : 'test4' ,
496+ field5 : 'test5' ,
497+ field6 : 'test6' ,
498+ field7 : 'test7' ,
499+ field8 : 'test8' ,
500+ } ] ,
501+ columns : [
502+ {
503+ dataField : 'field1' ,
504+ fixed : true ,
505+ fixedPosition : 'right' ,
506+ } ,
507+ 'field2' ,
508+ 'field3' ,
509+ 'field4' ,
510+ 'field5' ,
511+ 'field6' ,
512+ 'field7' ,
513+ {
514+ dataField : 'field8' ,
515+ fixed : true ,
516+ fixedPosition : 'right' ,
517+ } ,
518+ {
519+ type : 'buttons' ,
520+ fixed : true ,
521+ fixedPosition : 'right' ,
522+ } ,
523+ ] ,
524+ customizeColumns : ( columns ) => {
525+ columns [ 0 ] . fixed = true ;
526+ columns [ 0 ] . fixedPosition = 'right' ;
527+ columns [ 7 ] . fixed = true ;
528+ columns [ 7 ] . fixedPosition = 'right' ;
529+ } ,
530+ } ) ;
531+ } ) ;
532+
389533// Band columns
390534test ( 'reorder band column to right' , async ( t ) => {
391535 const { takeScreenshot, compareResults } = createScreenshotsComparer ( t ) ;
0 commit comments