Commit 8d0ddbdb authored by Phil Hughes's avatar Phil Hughes

Updated rspec to not use sleep when dragging

Fixed JS tests
parent dc73405d
......@@ -71,8 +71,8 @@
welcomeIsHidden () {
return $.cookie('issue_board_welcome_hidden') === 'true';
},
removeList (id) {
const list = this.findList('id', id, 'blank');
removeList (id, type = 'blank') {
const list = this.findList('id', id, type);
if (!list) return;
......@@ -107,6 +107,8 @@
list.removeIssue(issue);
}
issue.removeLabels(listLabels);
} else {
listFrom.removeIssue(issue);
}
},
findList (key, val, type = 'label') {
......
......@@ -84,6 +84,7 @@
var duration = options.duration || 1000;
simulateEvent(fromEl, 'mousedown', {button: 0});
options.ontap && options.ontap();
window.SIMULATE_DRAG_ACTIVE = 1;
var dragInterval = setInterval(function loop() {
var progress = (new Date().getTime() - startTime) / duration;
......@@ -100,6 +101,7 @@
options.ondragend && options.ondragend();
simulateEvent(toEl, 'mouseup');
clearInterval(dragInterval);
window.SIMULATE_DRAG_ACTIVE = 0;
}
}, 100);
......
......@@ -508,6 +508,9 @@ describe 'Issue Boards', feature: true, js: true do
def drag_to(list_from_index: 0, card_index: 0, to_index: 0, list_to_index: 0, selector: '.board-list')
evaluate_script("simulateDrag({scrollable: document.getElementById('board-app'), from: {el: $('#{selector}').eq(#{list_from_index}).get(0), index: #{card_index}}, to: {el: $('.board-list').eq(#{list_to_index}).get(0), index: #{to_index}}});")
sleep 1
Timeout.timeout(Capybara.default_max_wait_time) do
loop until page.evaluate_script('window.SIMULATE_DRAG_ACTIVE').zero?
end
end
end
......@@ -125,39 +125,35 @@
expect(gl.issueBoards.BoardsStore.state.lists.length).toBe(1);
gl.issueBoards.BoardsStore.removeList(1);
gl.issueBoards.BoardsStore.removeList(1, 'label');
expect(gl.issueBoards.BoardsStore.state.lists.length).toBe(0);
});
it('moves the position of lists', () => {
gl.issueBoards.BoardsStore.addList(listObj);
gl.issueBoards.BoardsStore.addList(listObjDuplicate);
const listOne = gl.issueBoards.BoardsStore.addList(listObj),
listTwo = gl.issueBoards.BoardsStore.addList(listObjDuplicate);
expect(gl.issueBoards.BoardsStore.state.lists.length).toBe(2);
gl.issueBoards.BoardsStore.moveList(0, 1);
gl.issueBoards.BoardsStore.moveList(listOne, ['2', '1']);
const list = gl.issueBoards.BoardsStore.findList('id', 1);
expect(list.position).toBe(1);
expect(listOne.position).toBe(1);
});
it('moves an issue from one list to another', (done) => {
gl.issueBoards.BoardsStore.addList(listObj);
gl.issueBoards.BoardsStore.addList(listObjDuplicate);
const listOne = gl.issueBoards.BoardsStore.addList(listObj),
listTwo = gl.issueBoards.BoardsStore.addList(listObjDuplicate);
expect(gl.issueBoards.BoardsStore.state.lists.length).toBe(2);
const list = gl.issueBoards.BoardsStore.findList('id', 1),
listTwo = gl.issueBoards.BoardsStore.findList('id', 2);
setTimeout(() => {
expect(list.issues.length).toBe(1);
expect(listOne.issues.length).toBe(1);
expect(listTwo.issues.length).toBe(1);
gl.issueBoards.BoardsStore.moveIssueToList(1, 2, 1);
gl.issueBoards.BoardsStore.moveIssueToList(listOne, listTwo, listOne.findIssue(1));
expect(list.issues.length).toBe(0);
expect(listOne.issues.length).toBe(0);
expect(listTwo.issues.length).toBe(1);
done();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment