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
38
spec/models/invite_spec.rb
Normal file
38
spec/models/invite_spec.rb
Normal file
|
@ -0,0 +1,38 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Invite do
|
||||
describe 'database columns' do
|
||||
it { is_expected.to have_db_column(:email) }
|
||||
end
|
||||
|
||||
describe 'associations' do
|
||||
it { is_expected.to belong_to(:dossier) }
|
||||
it { is_expected.to belong_to(:user) }
|
||||
end
|
||||
|
||||
describe 'an email can be used for multiple dossier' do
|
||||
let(:email1) { 'plop@octo.com' }
|
||||
|
||||
let!(:dossier1) { create(:dossier) }
|
||||
let!(:dossier2) { create(:dossier) }
|
||||
|
||||
context 'when an email is invite on two dossier' do
|
||||
subject do
|
||||
create(:invite, email: email1, dossier: dossier1)
|
||||
create(:invite, email: email1, dossier: dossier2)
|
||||
end
|
||||
|
||||
it { expect{ subject }.to change(Invite, :count).by(2) }
|
||||
end
|
||||
|
||||
context 'when an email is invite twice on a dossier' do
|
||||
subject do
|
||||
create(:invite, email: email1, dossier: dossier1)
|
||||
create(:invite, email: email1, dossier: dossier1)
|
||||
end
|
||||
|
||||
it { expect{ subject }.to raise_error ActiveRecord::RecordInvalid }
|
||||
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue