Gestionnaire can invite an email contact to participate at a dossier
This commit is contained in:
parent
d7dbd28507
commit
e2a896d0b0
33 changed files with 409 additions and 39 deletions
73
spec/controllers/invites_controller_spec.rb
Normal file
73
spec/controllers/invites_controller_spec.rb
Normal file
|
@ -0,0 +1,73 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe InvitesController, type: :controller do
|
||||
let(:dossier) { create(:dossier) }
|
||||
let(:email) { 'plop@octo.com' }
|
||||
|
||||
describe '#POST create' do
|
||||
let(:invite) { Invite.last }
|
||||
|
||||
before do
|
||||
sign_in create(:gestionnaire)
|
||||
end
|
||||
|
||||
subject { post :create, dossier_id: dossier.id, email: email }
|
||||
|
||||
it { expect { subject }.to change(Invite, :count).by(1) }
|
||||
|
||||
context 'when email is assign to an user' do
|
||||
let! (:user) { create(:user, email: email) }
|
||||
|
||||
before do
|
||||
subject
|
||||
end
|
||||
|
||||
it { expect(invite.user).to eq user }
|
||||
it { expect(flash[:notice]).to be_present }
|
||||
|
||||
end
|
||||
|
||||
context 'when email is not assign to an user' do
|
||||
before do
|
||||
subject
|
||||
end
|
||||
|
||||
it { expect(invite.user).to be_nil }
|
||||
it { expect(flash[:notice]).to be_present }
|
||||
end
|
||||
|
||||
describe 'not an email' do
|
||||
context 'when email is not valid' do
|
||||
let(:email) { 'plip.com' }
|
||||
|
||||
before do
|
||||
subject
|
||||
end
|
||||
|
||||
it { expect { subject }.not_to change(Invite, :count) }
|
||||
it { expect(flash[:alert]).to be_present }
|
||||
end
|
||||
|
||||
context 'when email is already used' do
|
||||
let!(:invite) { create(:invite, dossier: dossier) }
|
||||
|
||||
before do
|
||||
subject
|
||||
end
|
||||
|
||||
it { expect { subject }.not_to change(Invite, :count) }
|
||||
it { expect(flash[:alert]).to be_present }
|
||||
end
|
||||
end
|
||||
|
||||
describe 'send invitation email' do
|
||||
context 'when user does not exist' do
|
||||
|
||||
end
|
||||
|
||||
context 'when user exist' do
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue