From dfc2fe774de3a1768afe4e2fb24f32858b430da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= Date: Thu, 22 Sep 2016 14:39:13 +0200 Subject: [PATCH] Revert "Merge branch '22421-fix-issuable-counter-when-more-than-one-label-is-selected' into 'master' " This reverts commit 8ed5be5935a77fffe730baa188d1e1fc1c739d72, reversing changes made to fb0d1378f4f3365a9cae0938829da0560a92b6e6. --- app/helpers/application_helper.rb | 15 ++------------ spec/features/issues/filter_by_labels_spec.rb | 20 +++++++------------ 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 2163a437c48..ed41bf04fc0 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -286,19 +286,8 @@ module ApplicationHelper } state_title = titles[state] || state.to_s.humanize - records_with_state = records.public_send(state) - - # When filtering by multiple labels, the result of query.count is a Hash - # of the form { issuable_id1 => N, issuable_id2 => N }, where N is the - # number of labels selected. The ugly "trick" is to load the issuables - # as an array and get the size of the array... - # We should probably try to solve this properly in the future. - # See https://gitlab.com/gitlab-org/gitlab-ce/issues/22414 - label_names = Array(params.fetch(:label_name, [])) - records_with_state = records_with_state.to_a if label_names.many? - - count = records_with_state.size - html = content_tag :span, state_title + count = records.public_send(state).size + html = content_tag :span, state_title if count.present? html += " " diff --git a/spec/features/issues/filter_by_labels_spec.rb b/spec/features/issues/filter_by_labels_spec.rb index 7e2abd759e1..908b18e5339 100644 --- a/spec/features/issues/filter_by_labels_spec.rb +++ b/spec/features/issues/filter_by_labels_spec.rb @@ -6,19 +6,20 @@ feature 'Issue filtering by Labels', feature: true do let(:project) { create(:project, :public) } let!(:user) { create(:user)} let!(:label) { create(:label, project: project) } - let(:bug) { create(:label, project: project, title: 'bug') } - let(:feature) { create(:label, project: project, title: 'feature') } - let(:enhancement) { create(:label, project: project, title: 'enhancement') } - let(:issue1) { create(:issue, title: "Bugfix1", project: project) } - let(:issue2) { create(:issue, title: "Bugfix2", project: project) } - let(:issue3) { create(:issue, title: "Feature1", project: project) } before do + bug = create(:label, project: project, title: 'bug') + feature = create(:label, project: project, title: 'feature') + enhancement = create(:label, project: project, title: 'enhancement') + + issue1 = create(:issue, title: "Bugfix1", project: project) issue1.labels << bug + issue2 = create(:issue, title: "Bugfix2", project: project) issue2.labels << bug issue2.labels << enhancement + issue3 = create(:issue, title: "Feature1", project: project) issue3.labels << feature project.team << [user, :master] @@ -158,13 +159,6 @@ feature 'Issue filtering by Labels', feature: true do wait_for_ajax end - it 'shows a correct "Open" counter' do - page.within '.issues-state-filters' do - expect(page).not_to have_content "{#{issue2.id} => 1}" - expect(page).to have_content "Open 1" - end - end - it 'shows issue "Bugfix2" in issues list' do expect(page).to have_content "Bugfix2" end