bypass Chrome "focus" event bugs and prevent Turbolinks from triggering

This commit is contained in:
Mike Greiling 2017-01-09 16:33:56 -06:00
parent 5ffbb5dee5
commit d2649bf8e3

View file

@ -112,13 +112,15 @@ require('vendor/fuzzaldrin-plus');
preloadFixtures('static/search_autocomplete.html.raw');
beforeEach(function() {
loadFixtures('static/search_autocomplete.html.raw');
return widget = new gl.SearchAutocomplete;
widget = new gl.SearchAutocomplete;
// Prevent turbolinks from triggering within gl_dropdown
spyOn(window.Turbolinks, 'visit').and.returnValue(true);
});
it('should show Dashboard specific dropdown menu', function() {
var list;
addBodyAttributes();
mockDashboardOptions();
widget.searchInput.focus();
widget.searchInput.triggerHandler('focus');
list = widget.wrap.find('.dropdown-menu').find('ul');
return assertLinks(list, dashboardIssuesPath, dashboardMRsPath);
});
@ -126,7 +128,7 @@ require('vendor/fuzzaldrin-plus');
var list;
addBodyAttributes('group');
mockGroupOptions();
widget.searchInput.focus();
widget.searchInput.triggerHandler('focus');
list = widget.wrap.find('.dropdown-menu').find('ul');
return assertLinks(list, groupIssuesPath, groupMRsPath);
});
@ -134,7 +136,7 @@ require('vendor/fuzzaldrin-plus');
var list;
addBodyAttributes('project');
mockProjectOptions();
widget.searchInput.focus();
widget.searchInput.triggerHandler('focus');
list = widget.wrap.find('.dropdown-menu').find('ul');
return assertLinks(list, projectIssuesPath, projectMRsPath);
});
@ -143,7 +145,7 @@ require('vendor/fuzzaldrin-plus');
addBodyAttributes('project');
mockProjectOptions();
widget.searchInput.val('help');
widget.searchInput.focus();
widget.searchInput.triggerHandler('focus');
list = widget.wrap.find('.dropdown-menu').find('ul');
link = "a[href='" + projectIssuesPath + "/?assignee_id=" + userId + "']";
return expect(list.find(link).length).toBe(0);
@ -154,7 +156,7 @@ require('vendor/fuzzaldrin-plus');
addBodyAttributes();
mockDashboardOptions(true);
var submitSpy = spyOnEvent('form', 'submit');
widget.searchInput.focus();
widget.searchInput.triggerHandler('focus');
widget.wrap.trigger($.Event('keydown', { which: DOWN }));
var enterKeyEvent = $.Event('keydown', { which: ENTER });
widget.searchInput.trigger(enterKeyEvent);