diff --git a/test/drag-and-drop.html b/test/drag-and-drop.html
index daafd7957..bb1edadff 100644
--- a/test/drag-and-drop.html
+++ b/test/drag-and-drop.html
@@ -124,12 +124,9 @@
return event;
};
- beforeEach(done => {
- dragData = {};
+ before(done => {
grid = fixture('default');
grid.hidden = true;
- grid.items = getTestItems();
- flushGrid(grid);
requestAnimationFrame(() => {
// Wait for the appear animation to finish
listenOnce(grid, 'animationend', () => {
@@ -139,6 +136,31 @@
});
});
+ beforeEach(done => {
+ dragData = {};
+ if (!grid.parentElement) {
+ document.body.appendChild(grid);
+ }
+ grid.items = getTestItems();
+ flushGrid(grid);
+ if (grid._safari) {
+ setTimeout(() => done());
+ } else {
+ done();
+ }
+
+ });
+
+ afterEach(() => {
+ fireDragEnd(grid.$.table);
+ fireDrop(grid.$.table);
+ grid.rowsDraggable = false;
+ grid.dropMode = null;
+ grid.style.height = '';
+ grid.selectedItems = [];
+ grid.dataProvider = null;
+ });
+
it('should not be draggable by default', () => {
expect(getDraggable(grid)).not.to.be.ok;
});
@@ -164,13 +186,18 @@
let dragStartSpy;
let dropSpy;
- beforeEach(() => {
+ before(() => {
dragStartSpy = sinon.spy();
dropSpy = sinon.spy();
grid.addEventListener('grid-dragstart', dragStartSpy);
grid.addEventListener('grid-drop', dropSpy);
+ });
+
+ beforeEach(() => {
grid.rowsDraggable = true;
grid.dropMode = 'on-top';
+ dragStartSpy.reset();
+ dropSpy.reset();
});
it('should stop the native event', () => {