diff options
Diffstat (limited to 'spec/controllers/projects/milestones_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects/milestones_controller_spec.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/controllers/projects/milestones_controller_spec.rb b/spec/controllers/projects/milestones_controller_spec.rb index 28da7eff8fc..e2b73e55145 100644 --- a/spec/controllers/projects/milestones_controller_spec.rb +++ b/spec/controllers/projects/milestones_controller_spec.rb @@ -156,6 +156,27 @@ RSpec.describe Projects::MilestonesController do end end + describe "#update" do + let(:milestone_params) do + { title: "title changed" } + end + + it "handles ActiveRecord::StaleObjectError" do + # Purposely reduce the lock_version to trigger an ActiveRecord::StaleObjectError + milestone_params[:lock_version] = milestone.lock_version - 1 + + put :update, params: { + id: milestone.iid, + milestone: milestone_params, + namespace_id: project.namespace.id, + project_id: project.id + } + + expect(response).not_to redirect_to(project_milestone_path(project, milestone.iid)) + expect(response).to render_template(:edit) + end + end + describe "#destroy" do it "removes milestone" do expect(issue.milestone_id).to eq(milestone.id) |