Service: create model
This commit is contained in:
parent
c62cddc389
commit
fc17b68dc1
9 changed files with 107 additions and 0 deletions
46
spec/models/service_spec.rb
Normal file
46
spec/models/service_spec.rb
Normal file
|
@ -0,0 +1,46 @@
|
|||
describe Service, type: :model do
|
||||
describe 'validation' do
|
||||
let(:administrateur) { create(:administrateur) }
|
||||
let(:params) do
|
||||
{
|
||||
nom: 'service des jardins',
|
||||
type_organisme: 'commune',
|
||||
administrateur_id: administrateur.id
|
||||
}
|
||||
end
|
||||
|
||||
it { expect(Service.new(params).valid?).to be_truthy }
|
||||
|
||||
context 'when a first service exists' do
|
||||
before { Service.create(params) }
|
||||
|
||||
context 'checks uniqueness of administrateur, name couple' do
|
||||
it { expect(Service.create(params).valid?).to be_falsey }
|
||||
end
|
||||
end
|
||||
|
||||
context 'of type_organisme' do
|
||||
it 'should be set' do
|
||||
expect(Service.new(params.except(:type_organisme)).valid?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
context 'of nom' do
|
||||
it 'should be set' do
|
||||
expect(Service.new(params.except(:nom)).valid?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
context 'of administrateur' do
|
||||
it 'should be set' do
|
||||
expect(Service.new(params.except(:administrateur_id)).valid?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
context 'of type_organisme' do
|
||||
it 'should belong to the enum' do
|
||||
expect{ Service.new(params.merge(type_organisme: 'choucroute')) }.to raise_error(ArgumentError)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue