Commit 12434cb7fda93538003ae6897ce12f49db4b7a9f
Exists in
master
and in
4 other branches
Merge pull request #1672 from tsigo/milestone_closed_issues
Milestone "All Issues" filter
Showing
6 changed files
with
49 additions
and
5 deletions
Show diff stats
... | ... | @@ -0,0 +1,7 @@ |
1 | +$ -> | |
2 | + $('.milestone-issue-filter tr[data-closed]').addClass('hide') | |
3 | + | |
4 | + $('.milestone-issue-filter ul.nav li a').click -> | |
5 | + $('.milestone-issue-filter li').toggleClass('active') | |
6 | + $('.milestone-issue-filter tr[data-closed]').toggleClass('hide') | |
7 | + false | ... | ... |
app/assets/stylesheets/gitlab_bootstrap/tables.scss
app/controllers/milestones_controller.rb
app/views/milestones/show.html.haml
... | ... | @@ -45,18 +45,20 @@ |
45 | 45 | |
46 | 46 | .row |
47 | 47 | .span6 |
48 | - %table | |
48 | + %table.milestone-issue-filter | |
49 | 49 | %thead |
50 | - %th Open Issues | |
50 | + %th | |
51 | + %ul.nav.nav-pills | |
52 | + %li.active= link_to('Open Issues', '#') | |
53 | + %li=link_to('All Issues', '#') | |
51 | 54 | - @issues.each do |issue| |
52 | - %tr | |
55 | + %tr{data: {closed: issue.closed}} | |
53 | 56 | %td |
54 | 57 | = link_to [@project, issue] do |
55 | 58 | %span.badge.badge-info ##{issue.id} |
56 | 59 | – |
57 | 60 | = link_to_gfm truncate(issue.title, length: 60), [@project, issue] |
58 | 61 | %br |
59 | - = paginate @issues, theme: "gitlab" | |
60 | 62 | |
61 | 63 | .span6 |
62 | 64 | %table | ... | ... |
features/project/issues/milestones.feature
... | ... | @@ -16,3 +16,11 @@ Feature: Project Milestones |
16 | 16 | Given I click link "New Milestone" |
17 | 17 | And I submit new milestone "v2.3" |
18 | 18 | Then I should see milestone "v2.3" |
19 | + | |
20 | + @javascript | |
21 | + Scenario: Listing closed issues | |
22 | + Given the milestone has open and closed issues | |
23 | + And I click link "v2.2" | |
24 | + Then I should see 3 issues | |
25 | + When I click link "All Issues" | |
26 | + Then I should see 4 issues | ... | ... |
features/steps/project/project_milestones.rb
... | ... | @@ -36,4 +36,26 @@ class ProjectMilestones < Spinach::FeatureSteps |
36 | 36 | |
37 | 37 | 3.times { Factory :issue, :project => project, :milestone => milestone } |
38 | 38 | end |
39 | + | |
40 | + Given 'the milestone has open and closed issues' do | |
41 | + project = Project.find_by_name("Shop") | |
42 | + milestone = project.milestones.find_by_title('v2.2') | |
43 | + | |
44 | + # 3 Open issues created above; create one closed issue | |
45 | + create(:closed_issue, project: project, milestone: milestone) | |
46 | + end | |
47 | + | |
48 | + When 'I click link "All Issues"' do | |
49 | + click_link 'All Issues' | |
50 | + end | |
51 | + | |
52 | + Then "I should see 3 issues" do | |
53 | + page.should have_selector('.milestone-issue-filter tbody tr', count: 4) | |
54 | + page.should have_selector('.milestone-issue-filter tbody tr.hide', count: 1) | |
55 | + end | |
56 | + | |
57 | + Then "I should see 4 issues" do | |
58 | + page.should have_selector('.milestone-issue-filter tbody tr', count: 4) | |
59 | + page.should_not have_selector('.milestone-issue-filter tbody tr.hide') | |
60 | + end | |
39 | 61 | end | ... | ... |