demarches-normaliennes/spec/controllers/manager/users_controller_spec.rb

58 lines
1.3 KiB
Ruby
Raw Normal View History

2021-10-04 12:17:07 +02:00
describe Manager::UsersController, type: :controller do
let(:super_admin) { create(:super_admin) }
2020-01-08 10:50:16 +01:00
2021-10-04 13:10:14 +02:00
before { sign_in super_admin }
describe '#show' do
render_views
let(:super_admin) { create(:super_admin) }
let(:user) { create(:user) }
before do
get :show, params: { id: user.id }
end
it { expect(response.body).to include(user.email) }
end
describe '#update' do
2021-10-04 13:10:14 +02:00
let(:user) { create(:user, email: 'ancien.email@domaine.fr') }
subject { patch :update, params: { id: user.id, user: { email: nouvel_email } } }
describe 'with a valid email' do
let(:nouvel_email) { 'nouvel.email@domaine.fr' }
it 'updates the user email' do
subject
expect(User.find_by(id: user.id).email).to eq(nouvel_email)
end
end
describe 'with an invalid email' do
let(:nouvel_email) { 'plop' }
it 'does not update the user email' do
subject
expect(User.find_by(id: user.id).email).not_to eq(nouvel_email)
2021-10-04 12:17:07 +02:00
expect(flash[:error]).to match("« #{nouvel_email} » nest pas une adresse valide.")
end
end
end
2020-01-08 10:50:16 +01:00
describe '#delete' do
2021-10-04 13:10:14 +02:00
let(:user) { create(:user) }
2020-01-08 10:50:16 +01:00
subject { delete :delete, params: { id: user.id } }
it 'deletes the user' do
subject
expect(User.find_by(id: user.id)).to be_nil
end
end
end