<% end %>
diff --git a/config/routes.rb b/config/routes.rb
index fbb59a7d0..9b3b13b53 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -205,7 +205,8 @@ Rails.application.routes.draw do
get "new-organisation-telephone-number"
get "new-organisation-type"
get "merge-date"
- get "details", to: "merge_requests#details"
+ get "delete-confirmation", to: "merge_requests#delete_confirmation"
+ delete "delete", to: "merge_requests#delete"
end
end
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index e3bb24b46..10901623f 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -23,4 +23,25 @@ RSpec.describe MergeRequest, type: :model do
expect(described_class.visible).to include(not_merged)
end
end
+
+ describe "#discard!" do
+ let(:merge_request) { create(:merge_request) }
+
+ it "sets the discarded_at field to the current time" do
+ Timecop.freeze(Time.zone.now) do
+ merge_request.discard!
+ expect(merge_request.discarded_at).to eq(Time.zone.now)
+ end
+ end
+
+ it "does not delete the record" do
+ merge_request.discard!
+ expect(merge_request).to be_persisted
+ end
+
+ it "is not visible in the visible scope" do
+ merge_request.discard!
+ expect(described_class.visible).not_to include(merge_request)
+ end
+ end
end
From 5dd72d86215c43cd3d5ee1adf85c2b4773e4eacb Mon Sep 17 00:00:00 2001
From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com>
Date: Tue, 13 Aug 2024 12:03:44 +0100
Subject: [PATCH 2/5] Fix lint offences
---
app/views/merge_requests/show.html.erb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/views/merge_requests/show.html.erb b/app/views/merge_requests/show.html.erb
index cf85e287b..b0a8d0736 100644
--- a/app/views/merge_requests/show.html.erb
+++ b/app/views/merge_requests/show.html.erb
@@ -27,8 +27,8 @@
<% unless @merge_request.status == "request_merged" %>
<% end %>
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index 41031c840..46c508483 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -26,9 +26,9 @@ RSpec.describe MergeRequest, type: :model do
describe "#discard!" do
let(:merge_request) { create(:merge_request) }
+ let(:time) { Time.zone.now }
it "sets the discarded_at field to the current time" do
- let(:time) { Time.zone.now }
Timecop.freeze(time) do
merge_request.discard!
expect(merge_request.discarded_at).to eq(time)
From 94b28f9d58d1561aeae5d4193f86e85c915f17f1 Mon Sep 17 00:00:00 2001
From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com>
Date: Tue, 13 Aug 2024 12:42:54 +0100
Subject: [PATCH 5/5] Change test
---
spec/models/merge_request_spec.rb | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index 46c508483..cf38d5033 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -26,13 +26,10 @@ RSpec.describe MergeRequest, type: :model do
describe "#discard!" do
let(:merge_request) { create(:merge_request) }
- let(:time) { Time.zone.now }
- it "sets the discarded_at field to the current time" do
- Timecop.freeze(time) do
- merge_request.discard!
- expect(merge_request.discarded_at).to eq(time)
- end
+ it "sets the discarded_at field" do
+ merge_request.discard!
+ expect(merge_request.discarded_at).not_to be_nil
end
it "does not delete the record" do