require 'rails_helper'

RSpec.describe ConfiguracoesController, type: :controller do
	sign_in_admin

	before :each do
		@configuracao = FactoryBot.create(:configuracao)
	end

	describe "GET #edit" do
		it "atribui o(a) configuracao requisitado à @configuracao" do
			get :edit
			expect(assigns(:configuracao)).to eq( @configuracao )
		end
	end

	describe "PUT #update" do
		context "com parâmetros válidos" do
			let(:novos_atributos) {
				{ nome_da_prefeitura: 'novo nome'}
			}

			it "atualiza o(a) configuracao requisitado(a)" do
				post :update, params: {id: @configuracao.to_param, configuracao: novos_atributos}
				@configuracao.reload
				expect( @configuracao.nome_da_prefeitura ).to eq 'novo nome'
			end

			it "atribui o(a) configuracao requisitado(a) à @configuracao" do
				post :update, params: {id: @configuracao.to_param, configuracao: novos_atributos}
				expect(assigns(:configuracao)).to eq(@configuracao)
			end

			it "redireciona para o edit de configuração" do
				post :update, params: {id: @configuracao.to_param, configuracao: novos_atributos}
				expect(response).to redirect_to( action: :edit )
			end
		end
	end
end
