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', () => {