Skip to content

Commit f9e773a

Browse files
authored
Merge pull request #5676 from evmac/master
test(columnMoving): adds tests for column moving on mobile devices
2 parents 1c01e74 + c2e9b91 commit f9e773a

File tree

1 file changed

+78
-2
lines changed

1 file changed

+78
-2
lines changed

src/features/move-columns/test/column-movable.spec.js

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,83 @@ describe('ui.grid.moveColumns', function () {
183183
expect(scope.grid.columns[3].name).toBe('company');
184184
expect(scope.grid.columns[4].name).toBe('phone');
185185
});
186-
186+
187+
describe('when jQuery is enabled on touch devices', function() {
188+
189+
it('expect column to move right when dragged right', function () {
190+
var event = jQuery.Event("touchstart", {
191+
originalEvent: {
192+
pageX: 0
193+
}
194+
});
195+
var columnHeader = angular.element(element.find('.ui-grid-cell-contents')[0]);
196+
columnHeader.trigger(event);
197+
event = jQuery.Event("touchmove", {
198+
originalEvent: {
199+
pageX: 200
200+
}
201+
});
202+
document.trigger(event);
203+
document.trigger(event);
204+
event = jQuery.Event("touchend");
205+
document.trigger(event);
206+
expect(scope.grid.columns[0].name).toBe('gender');
207+
expect(scope.grid.columns[1].name).toBe('age');
208+
expect(scope.grid.columns[2].name).toBe('name');
209+
expect(scope.grid.columns[3].name).toBe('company');
210+
expect(scope.grid.columns[4].name).toBe('phone');
211+
});
212+
213+
it('expect column to move left when dragged left', function () {
214+
var event = jQuery.Event("touchstart", {
215+
originalEvent: {
216+
pageX: 0
217+
}
218+
});
219+
var columnHeader = angular.element(element.find('.ui-grid-cell-contents')[1]);
220+
columnHeader.trigger(event);
221+
event = jQuery.Event("touchmove", {
222+
originalEvent: {
223+
pageX: -200
224+
}
225+
});
226+
document.trigger(event);
227+
document.trigger(event);
228+
event = jQuery.Event("touchend");
229+
document.trigger(event);
230+
expect(scope.grid.columns[0].name).toBe('gender');
231+
expect(scope.grid.columns[1].name).toBe('name');
232+
expect(scope.grid.columns[2].name).toBe('age');
233+
expect(scope.grid.columns[3].name).toBe('company');
234+
expect(scope.grid.columns[4].name).toBe('phone');
235+
});
236+
237+
it('expect column movement to not happen if enableColumnMoving is false', function () {
238+
var event = jQuery.Event("touchstart", {
239+
originalEvent: {
240+
pageX: 0
241+
}
242+
});
243+
var columnHeader = angular.element(element.find('.ui-grid-cell-contents')[3]);
244+
columnHeader.trigger(event);
245+
event = jQuery.Event("touchmove", {
246+
originalEvent: {
247+
pageX: 200
248+
}
249+
});
250+
document.trigger(event);
251+
document.trigger(event);
252+
event = jQuery.Event("touchend");
253+
document.trigger(event);
254+
expect(scope.grid.columns[0].name).toBe('name');
255+
expect(scope.grid.columns[1].name).toBe('gender');
256+
expect(scope.grid.columns[2].name).toBe('age');
257+
expect(scope.grid.columns[3].name).toBe('company');
258+
expect(scope.grid.columns[4].name).toBe('phone');
259+
});
260+
261+
});
262+
187263
it('expect column move not to happen if moving across hidden columns', function() {
188264
scope.gridOptions.columnDefs[1].visible = false;
189265
scope.gridApi.colMovable.moveColumn(0, 3);
@@ -193,5 +269,5 @@ describe('ui.grid.moveColumns', function () {
193269
expect(scope.grid.columns[3].name).toBe('company');
194270
expect(scope.grid.columns[4].name).toBe('phone');
195271
});
196-
272+
197273
});

0 commit comments

Comments
 (0)