Submit social housing lettings and sales data (CORE)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

46 lines
1.6 KiB

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