From 471f6799c82b8d9fad2a1cfb30d8a14ffe8b5873 Mon Sep 17 00:00:00 2001 From: gregoirenovel Date: Wed, 19 Sep 2018 10:15:42 +0200 Subject: [PATCH] Refactor Siret tests --- spec/models/siret_spec.rb | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/spec/models/siret_spec.rb b/spec/models/siret_spec.rb index c5d197660..c5dcc2f8f 100644 --- a/spec/models/siret_spec.rb +++ b/spec/models/siret_spec.rb @@ -1,26 +1,41 @@ require 'spec_helper' describe Siret, type: :model do - let(:valid_siret) { '41816609600051' } - let(:invalid_siret) { '111111111' } + subject { Siret.new(siret: siret) } context 'with no siret provided' do - it { is_expected.to validate_presence_of(:siret) } + let(:siret) { '' } + + it { is_expected.to be_invalid } end - context 'init with valid siret' do - it { is_expected.to allow_value(valid_siret).for(:siret) } + context 'with a siret that contains letters' do + let(:siret) { 'A1B1C6D9E0F0G1' } + + it { is_expected.to be_invalid } end - context 'init with invalid siret' do - it { is_expected.not_to allow_value(invalid_siret).for(:siret) } + context 'with a siret that is too short' do + let(:siret) { '1234567890' } + + it { is_expected.to be_invalid } end - context 'init with bullshit siret' do - it { is_expected.not_to allow_value('bullshit').for(:siret) } + context 'with a siret that is too long' do + let(:siret) { '12345678901234567890' } + + it { is_expected.to be_invalid } end - context 'init with a siret that is too long' do - it { is_expected.not_to allow_value('9' * 15).for(:siret) } + context 'with a lunh-invalid siret' do + let(:siret) { '41816609600052' } + + it { is_expected.to be_invalid } + end + + context 'with a valid siret' do + let(:siret) { '41816609600051' } + + it { is_expected.to be_valid } end end