diff options
| author | Xinhui | 2017-09-27 15:35:55 +0200 |
|---|---|---|
| committer | Xinhui | 2017-09-27 15:44:35 +0200 |
| commit | 00ef063d81323cf6d80b383bda949abfeeaa520b (patch) | |
| tree | e0fd95712d448572afdc0f5f551b3ccfff11f51d | |
| parent | 364de5d902775b480b33a6d0454d1caab316e913 (diff) | |
| download | chouette-core-00ef063d81323cf6d80b383bda949abfeeaa520b.tar.bz2 | |
Refactoring controller spec - add compliance controle type support
| -rw-r--r-- | spec/controllers/compliance_controls_controller_spec.rb | 18 | ||||
| -rw-r--r-- | spec/factories/compliance_controls.rb | 2 | ||||
| -rw-r--r-- | spec/models/compliance_control_spec.rb | 2 |
3 files changed, 12 insertions, 10 deletions
diff --git a/spec/controllers/compliance_controls_controller_spec.rb b/spec/controllers/compliance_controls_controller_spec.rb index 749bbaac3..511b61b38 100644 --- a/spec/controllers/compliance_controls_controller_spec.rb +++ b/spec/controllers/compliance_controls_controller_spec.rb @@ -3,8 +3,10 @@ require 'rails_helper' RSpec.describe ComplianceControlsController, type: :controller do login_user - let(:compliance_control) { create :compliance_control } - let(:compliance_control_set) { compliance_control.compliance_control_set } + + let(:compliance_control) { create(:compliance_control) } + let!(:compliance_control_set) { compliance_control.compliance_control_set } + let(:compliance_control_params) { compliance_control.as_json.merge(type: 'GenericAttributeMinMax') } describe "GET show" do it 'should be successful' do @@ -29,24 +31,24 @@ RSpec.describe ComplianceControlsController, type: :controller do describe 'POST #create' do it 'should be successful' do - post :create, compliance_control_set_id: compliance_control_set.id, compliance_control: build(:compliance_control).as_json + post :create, compliance_control_set_id: compliance_control_set.id, compliance_control: compliance_control_params expect(response).to have_http_status(302) - expect(flash[:notice]).to eq(I18n.t('notice.compliance_control.created')) end end describe 'POST #update' do it 'should be successful' do - post :update, compliance_control_set_id: compliance_control_set.id, id: compliance_control.id, compliance_control: compliance_control.as_json + post :update, compliance_control_set_id: compliance_control_set.id, id: compliance_control.id, compliance_control: compliance_control_params expect(response).to redirect_to compliance_control_set_compliance_control_path(compliance_control_set, compliance_control) - expect(flash[:notice]).to eq(I18n.t('notice.compliance_control.updated')) end end describe 'DELETE #destroy' do it 'should be successful' do - delete :destroy, compliance_control_set_id: compliance_control_set.id, id: compliance_control.id - expect(flash[:notice]).to eq I18n.t('notice.compliance_control.destroyed') + expect { + delete :destroy, compliance_control_set_id: compliance_control_set.id, id: compliance_control.id + }.to change(GenericAttributeMinMax, :count).by(-1) + expect(response).to have_http_status(302) end end end diff --git a/spec/factories/compliance_controls.rb b/spec/factories/compliance_controls.rb index cc9f7a822..01cdeb6d3 100644 --- a/spec/factories/compliance_controls.rb +++ b/spec/factories/compliance_controls.rb @@ -1,7 +1,7 @@ FactoryGirl.define do factory :compliance_control do sequence(:name) { |n| "Compliance control #{n}" } - type "ComplianceControl" + type "GenericAttributeMinMax" criticity :warning code "code" comment "Text" diff --git a/spec/models/compliance_control_spec.rb b/spec/models/compliance_control_spec.rb index d65e654cc..e11873144 100644 --- a/spec/models/compliance_control_spec.rb +++ b/spec/models/compliance_control_spec.rb @@ -6,7 +6,7 @@ RSpec.describe ComplianceControl, type: :model do end it { should belong_to :compliance_control_set } - it { should has_one(:compliance_control_block).dependent(:destroy) } } + it { should have_one(:compliance_control_block).dependent(:destroy) } it { should validate_presence_of :criticity } it { should validate_presence_of :name } |
