1 changed files with 46 additions and 0 deletions
@ -0,0 +1,46 @@
|
||||
require "rails_helper" |
||||
|
||||
RSpec.describe OrganisationNameChangesController, type: :controller do |
||||
let(:organisation) { create(:organisation) } |
||||
|
||||
describe "GET #change_name" do |
||||
it "assigns previous name changes" do |
||||
create(:organisation_name_change, organisation:, name: "Old Name", startdate: 1.day.ago) |
||||
get :change_name, params: { id: organisation.id } |
||||
expect(controller.instance_variable_get(:@previous_name_changes)).to eq(organisation.name_changes_with_dates) |
||||
end |
||||
end |
||||
|
||||
describe "POST #create" do |
||||
let(:params) do |
||||
{ |
||||
organisation_name_change: { |
||||
name: "New Name", |
||||
startdate: 1.day.from_now, |
||||
immediate_change: false, |
||||
}, |
||||
} |
||||
end |
||||
|
||||
it "creates a new organisation name change with valid params" do |
||||
expect { |
||||
post :create, params: { id: organisation.id }.merge(params) |
||||
}.to change(OrganisationNameChange, :count).by(1) |
||||
|
||||
expect(response).to redirect_to(organisation_path(organisation)) |
||||
expect(flash[:notice]).to eq("Name change scheduled for #{1.day.from_now.to_date.to_formatted_s(:govuk_date)}.") |
||||
end |
||||
|
||||
it "creates an immediate name change when immediate_change is true" do |
||||
params[:organisation_name_change][:immediate_change] = true |
||||
params[:organisation_name_change].delete(:startdate) |
||||
|
||||
expect { |
||||
post :create, params: { id: organisation.id }.merge(params) |
||||
}.to change(OrganisationNameChange, :count).by(1) |
||||
|
||||
expect(response).to redirect_to(organisation_path(organisation)) |
||||
expect(flash[:notice]).to eq("Name change saved successfully.") |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue