summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Bennett <lukeeeebennettplus@gmail.com>2016-10-16 03:30:31 +0100
committerLuke Bennett <lukeeeebennettplus@gmail.com>2016-10-16 03:30:31 +0100
commitcb749fa111dc54a89c9045db06fa5bb7c4761012 (patch)
tree07e6a56af51e7de529151e82c1e7602c6a38899e
parentffacdb9280713ade8e01ee74f9e2e0cc426e65dd (diff)
downloadgitlab-ce-fix-spinach-compare-tests.tar.gz
Added logic to handle a revision input that does not exist in the menufix-spinach-compare-tests
-rw-r--r--app/assets/javascripts/compare_autocomplete.js.es6 (renamed from app/assets/javascripts/compare_autocomplete.js)13
-rw-r--r--app/views/projects/compare/_ref_dropdown.html.haml4
-rw-r--r--features/steps/project/commits/commits.rb14
3 files changed, 23 insertions, 8 deletions
diff --git a/app/assets/javascripts/compare_autocomplete.js b/app/assets/javascripts/compare_autocomplete.js.es6
index 294d2c9052c..9a2082d97e0 100644
--- a/app/assets/javascripts/compare_autocomplete.js
+++ b/app/assets/javascripts/compare_autocomplete.js.es6
@@ -9,7 +9,10 @@
var $dropdown, selected;
$dropdown = $(this);
selected = $dropdown.data('selected');
- return $dropdown.glDropdown({
+ const $dropdownContainer = $dropdown.closest('.dropdown');
+ const $fieldInput = $(`input[name="${$dropdown.data('field-name')}"]`, $dropdownContainer);
+ const $filterInput = $('input[type="search"]', $dropdownContainer);
+ $dropdown.glDropdown({
data: function(term, callback) {
return $.ajax({
url: $dropdown.data('refs-url'),
@@ -42,6 +45,14 @@
return $el.text().trim();
}
});
+ $filterInput.on('keyup', (e) => {
+ const keyCode = e.keyCode || e.which;
+ if (keyCode !== 13) return;
+ const text = $filterInput.val();
+ $fieldInput.val(text);
+ $('.dropdown-toggle-text', $dropdown).text(text);
+ $dropdownContainer.removeClass('open');
+ });
});
};
diff --git a/app/views/projects/compare/_ref_dropdown.html.haml b/app/views/projects/compare/_ref_dropdown.html.haml
index 27d928c87a0..05fb37cdc0f 100644
--- a/app/views/projects/compare/_ref_dropdown.html.haml
+++ b/app/views/projects/compare/_ref_dropdown.html.haml
@@ -1,5 +1,5 @@
.dropdown-menu.dropdown-menu-selectable
- = dropdown_title "Select branch/tag"
- = dropdown_filter "Filter by branch/tag"
+ = dropdown_title "Select Git revision"
+ = dropdown_filter "Filter by Git revision"
= dropdown_content
= dropdown_loading
diff --git a/features/steps/project/commits/commits.rb b/features/steps/project/commits/commits.rb
index fd7b1debd68..b08912de25f 100644
--- a/features/steps/project/commits/commits.rb
+++ b/features/steps/project/commits/commits.rb
@@ -49,8 +49,8 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
end
step 'I fill compare fields with refs' do
- select_using_dropdown('from', sample_commit.parent_id)
- select_using_dropdown('to', sample_commit.id)
+ select_using_dropdown('from', sample_commit.parent_id, true)
+ select_using_dropdown('to', sample_commit.id, true)
click_button "Compare"
end
@@ -184,10 +184,14 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
expect(page).not_to have_content "Change some files"
end
- def select_using_dropdown(dropdown_type, selection)
+ def select_using_dropdown(dropdown_type, selection, is_commit = false)
dropdown = find(".js-compare-#{dropdown_type}-dropdown")
dropdown.find(".compare-dropdown-toggle").click
- dropdown.fill_in("Filter by branch/tag", with: selection)
- find_link(selection, visible: true).click
+ dropdown.fill_in("Filter by Git revision", with: selection)
+ if is_commit
+ dropdown.find('input[type="search"]').send_keys(:return)
+ else
+ find_link(selection, visible: true).click
+ end
end
end