Skip to content

Instantly share code, notes, and snippets.

@jgwhite
Created May 29, 2015 09:27
Show Gist options
  • Save jgwhite/327ea1d03814224f13c5 to your computer and use it in GitHub Desktop.
Save jgwhite/327ea1d03814224f13c5 to your computer and use it in GitHub Desktop.
import Ember from 'ember';
const { $ } = Ember;
/**
Reorders elements to the specified state.
Examples
reorder(
'fz-forecast-manager',
'[data-id="66278893"]',
'[data-id="66278894"]',
'[data-id="66278892"]'
);
@method reorder
@param {String} [context]
context in which to perform reordering
@param {...String} [results]
selectors for the resultant order
@return {Promise}
*/
export function reorder(_app, itemSelector, ...resultSelectors) {
resultSelectors.forEach((selector, targetIndex) => {
andThen(() => {
let items = findWithAssert(itemSelector);
let element = items.filter(selector);
let targetElement = items.eq(targetIndex);
triggerEvent(element, 'mousedown', {
pageY: element.offset().top
});
triggerEvent(document.body, 'mousemove', {
pageY: targetElement.offset().top - 1
});
triggerEvent(document.body, 'mouseup', {
pageY: targetElement.offset().top - 1
});
});
});
return wait();
}
export default Ember.Test.registerAsyncHelper('reorder', reorder);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment