Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #14576 from opf/implementation/51287-different-too…
…lbar-for-gantt-and-work-packages [51287] Different toolbar for Gantt and Work Packages
- Loading branch information
Showing
33 changed files
with
554 additions
and
597 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
123 changes: 123 additions & 0 deletions
123
modules/bim/spec/features/card_view/bulk_actions_spec.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
require 'spec_helper' | ||
require_relative '../../support/pages/ifc_models/show_default' | ||
|
||
RSpec.describe 'Copy work packages through Rails view', :js, :with_cuprite, with_config: { edition: 'bim' } do | ||
shared_let(:project) { create(:project, name: 'Source', enabled_module_names: %i[bim work_package_tracking]) } | ||
|
||
shared_let(:dev) do | ||
create(:user, | ||
firstname: 'Dev', | ||
lastname: 'Guy', | ||
member_with_permissions: { project => %i[view_work_packages work_package_assigned | ||
view_ifc_models view_linked_issues] }) | ||
end | ||
shared_let(:mover) do | ||
create(:user, | ||
firstname: 'Manager', | ||
lastname: 'Guy', | ||
member_with_permissions: { | ||
project => %i[view_work_packages view_ifc_models view_linked_issues | ||
copy_work_packages move_work_packages manage_subtasks assign_versions edit_work_packages | ||
add_work_packages] | ||
}) | ||
end | ||
|
||
shared_let(:work_package) do | ||
create(:work_package, project:) | ||
end | ||
shared_let(:work_package2) do | ||
create(:work_package, project:) | ||
end | ||
|
||
let(:wp_table) { Pages::IfcModels::ShowDefault.new(project) } | ||
let(:context_menu) { Components::WorkPackages::ContextMenu.new } | ||
|
||
before do | ||
login_as current_user | ||
wp_table.visit! | ||
expect_angular_frontend_initialized | ||
wp_table.expect_work_package_listed work_package, work_package2 | ||
|
||
wp_table.switch_view 'Cards' | ||
loading_indicator_saveguard | ||
|
||
# Select all work packages | ||
find('body').send_keys [:control, 'a'] | ||
end | ||
|
||
describe 'accessing the bulk copy from the card view' do | ||
context 'with permissions' do | ||
let(:current_user) { mover } | ||
|
||
it 'does allow to copy' do | ||
context_menu.open_for work_package, card_view: true | ||
context_menu.expect_options 'Bulk copy' | ||
end | ||
end | ||
|
||
context 'without permission' do | ||
let(:current_user) { dev } | ||
|
||
it 'does not allow to copy' do | ||
context_menu.open_for work_package, card_view: true | ||
context_menu.expect_no_options 'Bulk copy' | ||
end | ||
end | ||
end | ||
|
||
describe 'accessing the bulk move from the card view' do | ||
context 'with permissions' do | ||
let(:current_user) { mover } | ||
|
||
it 'does allow to move' do | ||
context_menu.open_for work_package, card_view: true | ||
context_menu.expect_options 'Bulk change of project' | ||
end | ||
end | ||
|
||
context 'without permission' do | ||
let(:current_user) { dev } | ||
|
||
it 'does not allow to move' do | ||
context_menu.open_for work_package, card_view: true | ||
context_menu.expect_no_options 'Bulk change of project' | ||
end | ||
end | ||
end | ||
|
||
describe 'accessing the bulk edit from the card view' do | ||
context 'with permissions' do | ||
let(:current_user) { mover } | ||
|
||
it 'does allow to edit' do | ||
context_menu.open_for work_package, card_view: true | ||
context_menu.expect_options 'Bulk edit' | ||
end | ||
|
||
context 'with a project budget' do | ||
let!(:budget) { create(:budget, project:) } | ||
|
||
it 'updates all the work packages' do | ||
context_menu.open_for work_package, card_view: true | ||
context_menu.choose 'Bulk edit' | ||
|
||
select budget.subject, from: 'work_package_budget_id' | ||
click_on 'Submit' | ||
wp_table.expect_and_dismiss_toaster message: 'Successful update.' | ||
|
||
expect(work_package.reload.budget_id).to eq(budget.id) | ||
expect(work_package2.reload.budget_id).to eq(budget.id) | ||
end | ||
end | ||
end | ||
|
||
context 'without permission' do | ||
let(:current_user) { dev } | ||
|
||
it 'does not allow to edit' do | ||
context_menu.open_for work_package, card_view: true | ||
context_menu.expect_no_options 'Bulk edit' | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
require 'spec_helper' | ||
require_relative '../../../../../spec/features/work_packages/table/context_menu/context_menu_shared_examples' | ||
require_relative '../../support/pages/ifc_models/show_default' | ||
|
||
RSpec.describe 'Work Package table hierarchy and sorting', :js, :with_cuprite, with_config: { edition: 'bim' } do | ||
shared_let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking costs]) } | ||
|
||
let(:wp_table) { Pages::IfcModels::ShowDefault.new(project) } | ||
let(:hierarchy) { Components::WorkPackages::Hierarchies.new } | ||
|
||
shared_let(:work_package) do | ||
create(:work_package, | ||
project:, | ||
subject: 'Parent') | ||
end | ||
|
||
shared_let(:wp_child1) do | ||
create(:work_package, | ||
project:, | ||
parent: work_package, | ||
subject: 'WP child 1') | ||
end | ||
|
||
shared_let(:wp_child2) do | ||
create(:work_package, | ||
project:, | ||
parent: work_package, | ||
subject: 'WP child 2') | ||
end | ||
shared_let(:menu) { Components::WorkPackages::ContextMenu.new } | ||
|
||
shared_current_user { create(:admin) } | ||
|
||
it 'does not show indentation context in card view' do | ||
wp_table.visit! | ||
loading_indicator_saveguard | ||
wp_table.expect_work_package_listed(work_package, wp_child1, wp_child2) | ||
|
||
wp_table.switch_view 'Cards' | ||
expect(page).to have_test_selector('op-wp-single-card', count: 3) | ||
|
||
# Expect indent-able for none | ||
hierarchy.expect_indent(work_package, indent: false, outdent: false, card_view: true) | ||
hierarchy.expect_indent(wp_child1, indent: false, outdent: false, card_view: true) | ||
hierarchy.expect_indent(wp_child2, indent: false, outdent: false, card_view: true) | ||
end | ||
|
||
it_behaves_like 'provides a single WP context menu' do | ||
let(:open_context_menu) do | ||
-> { | ||
# Go to table | ||
wp_table.visit! | ||
loading_indicator_saveguard | ||
|
||
wp_table.expect_work_package_listed(work_package) | ||
|
||
wp_table.switch_view 'Cards' | ||
loading_indicator_saveguard | ||
|
||
# Open context menu | ||
menu.expect_closed | ||
menu.open_for(work_package, card_view: true) | ||
} | ||
end | ||
end | ||
end |
Oops, something went wrong.