diff --git a/app/controllers/merge_requests_controller.rb b/app/controllers/merge_requests_controller.rb
index e38d1bdf0..c6687b704 100644
--- a/app/controllers/merge_requests_controller.rb
+++ b/app/controllers/merge_requests_controller.rb
@@ -137,9 +137,9 @@ private
@merge_request.errors.add(:absorbing_organisation_id, :blank)
end
when "merge_date"
- day = merge_request_params["merge_date(3i)"]
- month = merge_request_params["merge_date(2i)"]
- year = merge_request_params["merge_date(1i)"]
+ day = merge_request_params["merge_date"].split("/")[0]
+ month = merge_request_params["merge_date"].split("/")[1]
+ year = merge_request_params["merge_date"].split("/")[2]
return @merge_request.errors.add(:merge_date, :blank) if [day, month, year].all?(&:blank?)
diff --git a/app/views/merge_requests/merge_date.html.erb b/app/views/merge_requests/merge_date.html.erb
index 637426446..c4f893892 100644
--- a/app/views/merge_requests/merge_date.html.erb
+++ b/app/views/merge_requests/merge_date.html.erb
@@ -11,11 +11,15 @@
What is the merge date?
Enter the official merge date. Log and organisation page data will show the new organisation name from this date.
- For example, <%= date_mid_collection_year_formatted(Time.zone.now) %>
- <%= f.govuk_date_field :merge_date,
- legend: { hidden: true },
- width: 20 do %>
- <% end %>
+ For example, <%= date_mid_collection_year_formatted(Time.zone.now).tr(" ", "/") %>
+ <%= render partial: "components/date_picker", locals: {
+ resource: @merge_request,
+ question_id: "merge_date",
+ legend: nil,
+ resource_type: "merge_request",
+ hint: "",
+ f:,
+ } %>
<%= f.hidden_field :page, value: "merge_date" %>
<%= f.govuk_submit submit_merge_request_button_text(request.query_parameters["referrer"]) %>
diff --git a/spec/requests/merge_requests_controller_spec.rb b/spec/requests/merge_requests_controller_spec.rb
index 4c07dbfb7..5545d6ca2 100644
--- a/spec/requests/merge_requests_controller_spec.rb
+++ b/spec/requests/merge_requests_controller_spec.rb
@@ -354,7 +354,7 @@ RSpec.describe MergeRequestsController, type: :request do
context "when not answering the question" do
let(:merge_request) { MergeRequest.create!(requesting_organisation: organisation, absorbing_organisation: other_organisation) }
let(:params) do
- { merge_request: { page: "merge_date" } }
+ { merge_request: { merge_date: "", page: "merge_date" } }
end
let(:request) do
patch "/merge-request/#{merge_request.id}", headers:, params:
@@ -375,7 +375,7 @@ RSpec.describe MergeRequestsController, type: :request do
context "when merge date set to an invalid date" do
let(:merge_request) { MergeRequest.create!(requesting_organisation: organisation) }
let(:params) do
- { merge_request: { page: "merge_date", "merge_date(3i)": "10", "merge_date(2i)": "44", "merge_date(1i)": "2022" } }
+ { merge_request: { page: "merge_date", "merge_date": "10/44/2022" } }
end
let(:request) do
@@ -393,7 +393,7 @@ RSpec.describe MergeRequestsController, type: :request do
context "when merge date set to a valid date" do
let(:merge_request) { MergeRequest.create!(requesting_organisation: organisation) }
let(:params) do
- { merge_request: { page: "merge_date", "merge_date(3i)": "10", "merge_date(2i)": "4", "merge_date(1i)": "2022" } }
+ { merge_request: { page: "merge_date", "merge_date": "10/4/2022" } }
end
let(:request) do
@@ -416,7 +416,7 @@ RSpec.describe MergeRequestsController, type: :request do
context "when merge date set to a date more than 1 year in the future" do
let(:merge_request) { MergeRequest.create!(requesting_organisation: organisation) }
let(:params) do
- { merge_request: { page: "merge_date", "merge_date(3i)": (Time.zone.now.day + 1).to_s, "merge_date(2i)": Time.zone.now.month.to_s, "merge_date(1i)": (Time.zone.now.year + 1).to_s } }
+ { merge_request: { page: "merge_date", "merge_date": [(Time.zone.now.day + 1).to_s, Time.zone.now.month.to_s, (Time.zone.now.year + 1).to_s].join("/") } }
end
let(:request) do