Commit dfea6ebb authored by Coung Ngo's avatar Coung Ngo

Show ancestor iterations in subgroups

Users should be able to view reports for ancestor iterations
so they must first be able to see them in the iterations list
parent 22e8abfe
...@@ -13,7 +13,6 @@ query Iterations( ...@@ -13,7 +13,6 @@ query Iterations(
group(fullPath: $fullPath) @include(if: $isGroup) { group(fullPath: $fullPath) @include(if: $isGroup) {
iterations( iterations(
state: $state state: $state
includeAncestors: false
before: $beforeCursor before: $beforeCursor
after: $afterCursor after: $afterCursor
first: $firstPageSize first: $firstPageSize
......
---
title: Show ancestor iterations in subgroups
merge_request: 40990
author:
type: changed
...@@ -5,12 +5,15 @@ require 'spec_helper' ...@@ -5,12 +5,15 @@ require 'spec_helper'
RSpec.describe 'Iterations list', :js do RSpec.describe 'Iterations list', :js do
let(:now) { Time.now } let(:now) { Time.now }
let_it_be(:group) { create(:group) } let_it_be(:group) { create(:group) }
let_it_be(:subgroup) { create(:group, parent: group) }
let_it_be(:user) { create(:user) } let_it_be(:user) { create(:user) }
let!(:started_iteration) { create(:iteration, :skip_future_date_validation, group: group, start_date: now - 1.day, due_date: now, title: 'Started iteration') } let!(:started_iteration) { create(:iteration, :skip_future_date_validation, group: group, start_date: now - 1.day, due_date: now, title: 'Started iteration') }
let!(:upcoming_iteration) { create(:iteration, group: group, start_date: now + 1.day, due_date: now + 2.days) } let!(:upcoming_iteration) { create(:iteration, group: group, start_date: now + 1.day, due_date: now + 2.days) }
let!(:closed_iteration) { create(:closed_iteration, :skip_future_date_validation, group: group, start_date: now - 3.days, due_date: now - 2.days) } let!(:closed_iteration) { create(:closed_iteration, :skip_future_date_validation, group: group, start_date: now - 3.days, due_date: now - 2.days) }
let!(:subgroup_iteration) { create(:iteration, :skip_future_date_validation, group: subgroup, start_date: now - 5.days, due_date: now - 4.days) }
context 'as guest' do context 'as guest' do
context 'when in group' do
before do before do
visit group_iterations_path(group) visit group_iterations_path(group)
end end
...@@ -23,18 +26,21 @@ RSpec.describe 'Iterations list', :js do ...@@ -23,18 +26,21 @@ RSpec.describe 'Iterations list', :js do
expect(page).to have_link(started_iteration.title) expect(page).to have_link(started_iteration.title)
expect(page).to have_link(upcoming_iteration.title) expect(page).to have_link(upcoming_iteration.title)
expect(page).not_to have_link(closed_iteration.title) expect(page).not_to have_link(closed_iteration.title)
expect(page).not_to have_link(subgroup_iteration.title)
click_link('Closed') click_link('Closed')
expect(page).to have_link(closed_iteration.title) expect(page).to have_link(closed_iteration.title)
expect(page).not_to have_link(started_iteration.title) expect(page).not_to have_link(started_iteration.title)
expect(page).not_to have_link(upcoming_iteration.title) expect(page).not_to have_link(upcoming_iteration.title)
expect(page).not_to have_link(subgroup_iteration.title)
click_link('All') click_link('All')
expect(page).to have_link(started_iteration.title) expect(page).to have_link(started_iteration.title)
expect(page).to have_link(upcoming_iteration.title) expect(page).to have_link(upcoming_iteration.title)
expect(page).to have_link(closed_iteration.title) expect(page).to have_link(closed_iteration.title)
expect(page).not_to have_link(subgroup_iteration.title)
end end
context 'when an iteration is clicked' do context 'when an iteration is clicked' do
...@@ -48,6 +54,34 @@ RSpec.describe 'Iterations list', :js do ...@@ -48,6 +54,34 @@ RSpec.describe 'Iterations list', :js do
end end
end end
context 'when in subgroup' do
before do
visit group_iterations_path(subgroup)
end
it 'shows iterations on each tab including ancestor iterations' do
expect(page).to have_link(started_iteration.title)
expect(page).to have_link(upcoming_iteration.title)
expect(page).not_to have_link(closed_iteration.title)
expect(page).to have_link(subgroup_iteration.title)
click_link('Closed')
expect(page).to have_link(closed_iteration.title)
expect(page).not_to have_link(started_iteration.title)
expect(page).not_to have_link(upcoming_iteration.title)
expect(page).not_to have_link(subgroup_iteration.title)
click_link('All')
expect(page).to have_link(started_iteration.title)
expect(page).to have_link(upcoming_iteration.title)
expect(page).to have_link(closed_iteration.title)
expect(page).to have_link(subgroup_iteration.title)
end
end
end
context 'as user' do context 'as user' do
before do before do
stub_licensed_features(iterations: true) stub_licensed_features(iterations: true)
......
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