diff --git a/modules/backlogs/spec/features/backlogs/edit_spec.rb b/modules/backlogs/spec/features/backlogs/edit_spec.rb index 11e8519dce2..c2dd6690823 100644 --- a/modules/backlogs/spec/features/backlogs/edit_spec.rb +++ b/modules/backlogs/spec/features/backlogs/edit_spec.rb @@ -83,8 +83,8 @@ RSpec.describe "Edit", :js do it "lists all open sprints" do planning_page.expect_sprint_names_in_order(first_sprint.name, second_sprint.name) - planning_page.expect_story_in_sprint(work_package, first_sprint) - planning_page.expect_story_not_in_sprint(work_package, second_sprint) + planning_page.expect_work_package_in_sprint(work_package, first_sprint) + planning_page.expect_work_package_not_in_sprint(work_package, second_sprint) end it "adds a work package to a sprint" do @@ -102,7 +102,7 @@ RSpec.describe "Edit", :js do expect_and_dismiss_flash type: :success, exact_message: "Successful creation." created_wp = first_sprint.reload.work_packages.last expect(created_wp.subject).to eq("Story created in sprint") - planning_page.expect_story_in_sprint(created_wp, first_sprint) + planning_page.expect_work_package_in_sprint(created_wp, first_sprint) end context "with the 'create_sprints' permissions" do diff --git a/modules/backlogs/spec/features/backlogs/settings_effect_on_backlog_spec.rb b/modules/backlogs/spec/features/backlogs/settings_effect_on_backlog_spec.rb index 7f8e55975d0..e3eaf432296 100644 --- a/modules/backlogs/spec/features/backlogs/settings_effect_on_backlog_spec.rb +++ b/modules/backlogs/spec/features/backlogs/settings_effect_on_backlog_spec.rb @@ -195,8 +195,8 @@ RSpec.describe "Backlogs settings effect on backlog and sprints", :js do end def expect_sprint_items_unaffected - backlog_page.expect_story_in_sprint(sprint_done_work_package, active_sprint) - backlog_page.expect_story_in_sprint(sprint_excluded_type_work_package, active_sprint) - backlog_page.expect_story_in_sprint(sprint_visible_work_package, active_sprint) + backlog_page.expect_work_package_in_sprint(sprint_done_work_package, active_sprint) + backlog_page.expect_work_package_in_sprint(sprint_excluded_type_work_package, active_sprint) + backlog_page.expect_work_package_in_sprint(sprint_visible_work_package, active_sprint) end end diff --git a/modules/backlogs/spec/features/backlogs/sprint_header_spec.rb b/modules/backlogs/spec/features/backlogs/sprint_header_spec.rb index c5507312080..620bb446e7b 100644 --- a/modules/backlogs/spec/features/backlogs/sprint_header_spec.rb +++ b/modules/backlogs/spec/features/backlogs/sprint_header_spec.rb @@ -54,7 +54,7 @@ RSpec.describe "Sprint header", :js do backlog_page.visit! backlog_page.expect_sprint_story_points(sprint, 8) - backlog_page.expect_sprint_story_count(sprint, 2) + backlog_page.expect_sprint_work_package_count(sprint, 2) end end end diff --git a/modules/backlogs/spec/features/inbox_column_spec.rb b/modules/backlogs/spec/features/inbox_column_spec.rb index 266a4d3eb7b..3ecd3deb903 100644 --- a/modules/backlogs/spec/features/inbox_column_spec.rb +++ b/modules/backlogs/spec/features/inbox_column_spec.rb @@ -281,7 +281,7 @@ RSpec.describe "Inbox column in sprint planning view", :js do end planning_page.expect_no_inbox_item(inbox_wp1) - planning_page.expect_story_in_sprint(inbox_wp1, sprint) + planning_page.expect_work_package_in_sprint(inbox_wp1, sprint) planning_page.expect_work_packages_in_sprint_in_order(sprint, work_packages: [sprint_wp, inbox_wp1]) end @@ -306,7 +306,7 @@ RSpec.describe "Inbox column in sprint planning view", :js do # Item was *not* moved: planning_page.expect_inbox_item(inbox_wp1) - planning_page.expect_story_not_in_sprint(inbox_wp1, sprint) + planning_page.expect_work_package_not_in_sprint(inbox_wp1, sprint) end end end @@ -323,9 +323,9 @@ RSpec.describe "Inbox column in sprint planning view", :js do planning_page.expect_no_inbox_item(inbox_wp3) planning_page.expect_inbox_blankslate - planning_page.expect_story_in_sprint(inbox_wp1, sprint) - planning_page.expect_story_in_sprint(inbox_wp2, sprint) - planning_page.expect_story_in_sprint(inbox_wp3, sprint) + planning_page.expect_work_package_in_sprint(inbox_wp1, sprint) + planning_page.expect_work_package_in_sprint(inbox_wp2, sprint) + planning_page.expect_work_package_in_sprint(inbox_wp3, sprint) end context "with real authentication and a private project" do @@ -412,8 +412,8 @@ RSpec.describe "Inbox column in sprint planning view", :js do planning_page.drag_work_package_to_backlog_inbox(sprint_wp2) wait_for_network_idle - planning_page.expect_story_not_in_sprint(sprint_wp1, sprint) - planning_page.expect_story_not_in_sprint(sprint_wp2, sprint) + planning_page.expect_work_package_not_in_sprint(sprint_wp1, sprint) + planning_page.expect_work_package_not_in_sprint(sprint_wp2, sprint) planning_page.expect_inbox_item(sprint_wp1) planning_page.expect_inbox_item(sprint_wp2) end @@ -484,7 +484,7 @@ RSpec.describe "Inbox column in sprint planning view", :js do planning_page.expect_no_inbox_show_more # Open a sprint story details view, edit the subject, and close - details_view = planning_page.open_sprint_story_details(sprint_wp1) + details_view = planning_page.open_work_package_details(sprint_wp1) details_view.edit_field("subject").update("Updated subject") details_view.expect_and_dismiss_toaster message: "Successful update." details_view.close diff --git a/modules/backlogs/spec/features/work_packages/create_work_package_spec.rb b/modules/backlogs/spec/features/work_packages/create_work_package_spec.rb index 237745055e5..43c54791a7a 100644 --- a/modules/backlogs/spec/features/work_packages/create_work_package_spec.rb +++ b/modules/backlogs/spec/features/work_packages/create_work_package_spec.rb @@ -121,7 +121,7 @@ RSpec.describe "Create work package in sprint", :js do created_work_package]) # created with the selected type (HighlightedTypeComponent renders type name in uppercase) - backlogs_page.within_work_package_row(created_work_package) do + backlogs_page.within_work_package(created_work_package) do expect(page).to have_text(type2.name.upcase) end end diff --git a/modules/backlogs/spec/features/work_packages/move_to_backlog_spec.rb b/modules/backlogs/spec/features/work_packages/move_to_backlog_spec.rb index bb8255f103e..37af7ad481d 100644 --- a/modules/backlogs/spec/features/work_packages/move_to_backlog_spec.rb +++ b/modules/backlogs/spec/features/work_packages/move_to_backlog_spec.rb @@ -63,7 +63,7 @@ RSpec.describe "Move to backlog", :js do wait_for_network_idle - planning_page.expect_story_not_in_sprint(work_package, sprint) + planning_page.expect_work_package_not_in_sprint(work_package, sprint) planning_page.expect_inbox_item(work_package) end end @@ -98,7 +98,7 @@ RSpec.describe "Move to backlog", :js do wait_for_network_idle - planning_page.expect_story_not_in_sprint(work_package, sprint) + planning_page.expect_work_package_not_in_sprint(work_package, sprint) planning_page.expect_work_package_in_backlog_bucket(work_package, bucket_b) end end @@ -153,7 +153,8 @@ RSpec.describe "Move to backlog", :js do it "opens the dialog excluding the current sprint, and moves to another sprint" do planning_page.visit! - planning_page.expect_story_in_sprint(work_package, sprint) + planning_page.expect_work_package_in_sprint(work_package, sprint) + planning_page.click_in_work_package_move_menu(work_package, "Move to sprint", wait: false) within("#move-to-sprint-dialog") do @@ -166,8 +167,8 @@ RSpec.describe "Move to backlog", :js do wait_for_network_idle - planning_page.expect_story_not_in_sprint(work_package, sprint) - planning_page.expect_story_in_sprint(work_package, second_sprint) + planning_page.expect_work_package_not_in_sprint(work_package, sprint) + planning_page.expect_work_package_in_sprint(work_package, second_sprint) end end @@ -186,7 +187,7 @@ RSpec.describe "Move to backlog", :js do wait_for_network_idle planning_page.expect_no_inbox_item(work_package) - planning_page.expect_story_in_sprint(work_package, sprint) + planning_page.expect_work_package_in_sprint(work_package, sprint) end end @@ -205,7 +206,7 @@ RSpec.describe "Move to backlog", :js do wait_for_network_idle planning_page.expect_no_work_package_in_backlog_bucket(work_package, bucket_a) - planning_page.expect_story_in_sprint(work_package, sprint) + planning_page.expect_work_package_in_sprint(work_package, sprint) end end end diff --git a/modules/backlogs/spec/support/pages/backlog.rb b/modules/backlogs/spec/support/pages/backlog.rb index 3c322b97632..012731fe0f8 100644 --- a/modules/backlogs/spec/support/pages/backlog.rb +++ b/modules/backlogs/spec/support/pages/backlog.rb @@ -39,43 +39,12 @@ module Pages @project = project end - def alter_attributes_in_details_view(story, **attributes) - within_details_view(story) do |details_view| - attributes.each do |key, value| - details_view - .edit_field(key.to_s.camelize(:lower)) - .update(value) - - details_view.expect_and_dismiss_toaster message: "Successful update." - end - end - end - - def edit_story_in_details_view(story, **attributes) - click_in_story_menu(story, "Open details view") - - alter_attributes_in_details_view(story, **attributes) - end - def click_in_sprint_menu(sprint, item_name) within_sprint_menu(sprint) do |menu| menu.find(:menuitem, text: item_name).click end end - def click_in_story_menu(story, item_name) - within_story_menu(story) do |menu| - menu.find(:menuitem, text: item_name).click - end - end - - def drag_in_sprint(moved, target, before: true) - moved_element = find(story_selector(moved)) - target_element = find(story_selector(target)) - - drag_n_drop_element from: moved_element, to: target_element, offset_x: 0, offset_y: before ? -5 : +10 - end - def sprint_names_in_order within_sprint_backlogs do headed_section_titles(id_prefix: "backlogs-sprint-component-") @@ -248,16 +217,16 @@ module Pages wait_for_network_idle end - def open_sprint_story_details(story) - within(work_package_selector(story)) do + def open_work_package_details(work_package) + within_work_package(work_package) do button = find(:button, accessible_name: "Work package actions") open_controlled_menu(button).find(:menuitem, text: I18n.t(:"js.button_open_details")).click end - expect_details_view(story) + expect_details_view(work_package) end def within_work_package_menu(work_package, &) - within(work_package_selector(work_package)) do + within_work_package(work_package) do button = find(:button, accessible_name: "Work package actions") within(open_controlled_menu(button), &) end @@ -353,12 +322,6 @@ module Pages end end - def expect_no_new_backlog_bucket_button - within_owner_backlogs do - expect(page).to have_no_link(BacklogBucket.human_model_name, exact: true) - end - end - def expect_backlog_bucket_dialog expect(page).to have_dialog(I18n.t(:label_backlog_bucket_new)) end @@ -417,17 +380,17 @@ module Pages retry end - def expect_story_in_sprint(story, sprint) + def expect_work_package_in_sprint(work_package, sprint) within_sprint(sprint) do expect(page) - .to have_selector(work_package_selector(story).to_s) + .to have_selector(work_package_selector(work_package).to_s) end end - def expect_story_not_in_sprint(story, sprint) + def expect_work_package_not_in_sprint(work_package, sprint) within_sprint(sprint) do expect(page) - .to have_no_selector(work_package_selector(story).to_s) + .to have_no_selector(work_package_selector(work_package).to_s) end end @@ -437,7 +400,7 @@ module Pages end end - def expect_sprint_story_count(sprint, count) + def expect_sprint_work_package_count(sprint, count) within(sprint_selector(sprint)) do expect(page).to have_css( ".Counter", @@ -465,25 +428,12 @@ module Pages project_backlogs_backlog_path(project) end - def within_story_menu(story, &) - within_story(story) do - button = find(:button, accessible_name: "Work package actions") - within(open_controlled_menu(button), &) - end - end - - def within_details_view(story, &) - details_view = expect_details_view(story) - - yield details_view - end - - def expect_details_view(story) - details_view = Pages::PrimerizedSplitWorkPackage.new(story) + def expect_details_view(work_package) + details_view = Pages::PrimerizedSplitWorkPackage.new(work_package) details_view.expect_tab :overview details_view.expect_subject - expect(page).to have_current_path project_backlogs_backlog_details_path(story.project, story), + expect(page).to have_current_path project_backlogs_backlog_details_path(work_package.project, work_package), ignore_query: true wait_for_network_idle @@ -529,10 +479,6 @@ module Pages dismiss_menu(sprint) end - def within_work_package_row(work_package, &) - within(work_package_selector(work_package), &) - end - def click_start_sprint_button(sprint) within_sprint(sprint) do click_on("Start") @@ -580,8 +526,8 @@ module Pages private - def within_story(story, &) - within(story_selector(story), &) + def within_work_package(work_package, &) + within(work_package_selector(work_package), &) end def within_sprint(sprint, &) @@ -629,10 +575,6 @@ module Pages .map { |section| section.first(:heading, level: 4).text } end - def story_selector(story) - "#story_#{story.id}" - end - def work_package_selector(work_package) test_selector("work-package-#{work_package.id}") end