Skip to content

Commit 471c979

Browse files
authored
Merge pull request #22291 from opf/bug/72927-story-drag-and-drop-error-handling-dev
[#72927] Fix drag and drop error handling (dev follow-up)
2 parents df6a017 + ab2e3d0 commit 471c979

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

modules/backlogs/spec/components/backlogs/backlog_component_spec.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
require "rails_helper"
3232

3333
RSpec.describe Backlogs::BacklogComponent, type: :component do
34+
include Rails.application.routes.url_helpers
35+
3436
shared_let(:type_feature) { create(:type_feature) }
3537
shared_let(:type_task) { create(:type_task) }
3638
shared_let(:default_status) { create(:default_status) }
@@ -115,6 +117,8 @@ def render_component
115117
render_component
116118

117119
box = page.find(".Box")
120+
expect(box["data-generic-drag-and-drop-target"]).to eq("container")
121+
expect(box["data-target-container-accessor"]).to eq(":scope > ul")
118122
expect(box["data-target-id"]).to eq(sprint.id.to_s)
119123
expect(box["data-target-allowed-drag-type"]).to eq("story")
120124
end
@@ -125,7 +129,7 @@ def render_component
125129
story_row = page.find(".Box-row[id='story_#{story1.id}']")
126130
expect(story_row["data-draggable-id"]).to eq(story1.id.to_s)
127131
expect(story_row["data-draggable-type"]).to eq("story")
128-
expect(story_row["data-drop-url"]).to include("move")
132+
expect(story_row["data-drop-url"]).to end_with(move_backlogs_project_sprint_story_path(project, sprint, story1))
129133
end
130134

131135
it "renders story rows with proper classes" do

modules/backlogs/spec/components/backlogs/sprint_component_spec.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
require "rails_helper"
3232

3333
RSpec.describe Backlogs::SprintComponent, type: :component do
34+
include Rails.application.routes.url_helpers
35+
3436
shared_let(:type_feature) { create(:type_feature) }
3537
shared_let(:type_task) { create(:type_task) }
3638
shared_let(:default_status) { create(:default_status) }
@@ -106,6 +108,8 @@ def render_component
106108
render_component
107109

108110
box = page.find(".Box")
111+
expect(box["data-generic-drag-and-drop-target"]).to eq("container")
112+
expect(box["data-target-container-accessor"]).to eq(":scope > ul")
109113
expect(box["data-target-id"]).to eq(sprint.id.to_s)
110114
expect(box["data-target-allowed-drag-type"]).to eq("story")
111115
end
@@ -116,7 +120,7 @@ def render_component
116120
story_row = page.find(".Box-row[id='work_package_#{story1.id}']")
117121
expect(story_row["data-draggable-id"]).to eq(story1.id.to_s)
118122
expect(story_row["data-draggable-type"]).to eq("story")
119-
expect(story_row["data-drop-url"]).to include("move")
123+
expect(story_row["data-drop-url"]).to end_with(move_backlogs_project_sprint_story_path(project, sprint, story1))
120124
end
121125

122126
it "renders story rows with proper classes" do

modules/backlogs/spec/components/backlogs/story_component_spec.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,13 @@ def render_component
9797

9898
expect(page).to have_css("action-menu")
9999
end
100+
101+
it "renders a drag handle compatible with GenericDragAndDropController" do
102+
render_component
103+
104+
expect(page).to have_css(".DragHandle[role='button'][tabindex='0']")
105+
expect(page).to have_css(".DragHandle[aria-label='Move Test Story Subject']")
106+
end
100107
end
101108

102109
describe "story points handling" do

0 commit comments

Comments
 (0)