parent
b278564f28
commit
19b30f4b2b
@ -0,0 +1,56 @@ |
||||
require 'spec_helper' |
||||
|
||||
describe 'Work Package table group headers', js: true do |
||||
let(:user) { FactoryGirl.create :admin } |
||||
|
||||
let(:project) { FactoryGirl.create(:project) } |
||||
let(:category) { FactoryGirl.create :category, project: project, name: 'Foo' } |
||||
let(:category2) { FactoryGirl.create :category, project: project, name: 'Bar' } |
||||
|
||||
let!(:wp_cat1) { FactoryGirl.create(:work_package, project: project, category: category) } |
||||
let!(:wp_cat2) { FactoryGirl.create(:work_package, project: project, category: category2) } |
||||
let!(:wp_none) { FactoryGirl.create(:work_package, project: project) } |
||||
let(:wp_table) { Pages::WorkPackagesTable.new(project) } |
||||
|
||||
let!(:query) do |
||||
query = FactoryGirl.build(:query, user: user, project: project) |
||||
query.column_names = ['subject', 'category'] |
||||
|
||||
query.save! |
||||
query |
||||
end |
||||
|
||||
before do |
||||
login_as(user) |
||||
|
||||
wp_table.visit_query(query) |
||||
wp_table.expect_work_package_listed(wp_cat1) |
||||
wp_table.expect_work_package_listed(wp_cat2) |
||||
wp_table.expect_work_package_listed(wp_none) |
||||
end |
||||
|
||||
it 'shows group headers for group by category' do |
||||
# Group by category |
||||
wp_table.click_setting_item 'Group by ...' |
||||
select 'Category', from: 'selected_columns_new' |
||||
click_button 'Apply' |
||||
|
||||
# Expect table to be grouped as WP created above |
||||
expect(page).to have_selector('tr.group .count', count: 3) |
||||
expect(page).to have_selector('tr.group div', text: 'Foo (1)') |
||||
expect(page).to have_selector('tr.group div', text: 'Bar (1)') |
||||
expect(page).to have_selector('tr.group div', text: '- (1)') |
||||
|
||||
# Update category of wp_none |
||||
cat = wp_table.edit_field(wp_none, :category) |
||||
cat.activate! |
||||
cat.set_value 'Foo' |
||||
|
||||
loading_indicator_saveguard |
||||
|
||||
# Expect changed groups |
||||
expect(page).to have_selector('tr.group .count', count: 2) |
||||
expect(page).to have_selector('tr.group div', text: 'Foo (2)') |
||||
expect(page).to have_selector('tr.group div', text: 'Bar (1)') |
||||
end |
||||
end |
Loading…
Reference in new issue