diff options
| author | Xinhui | 2017-09-14 16:09:11 +0200 |
|---|---|---|
| committer | Xinhui | 2017-09-14 16:09:16 +0200 |
| commit | 60ad22fa8db3c1f2cbfe532a73deca4b97232a25 (patch) | |
| tree | 7da523b538a520b624102dd349e16506efcdf8c3 /spec | |
| parent | 6faaaaaf9136cebdbb7a65a13dbee5d72d15ea55 (diff) | |
| download | chouette-core-60ad22fa8db3c1f2cbfe532a73deca4b97232a25.tar.bz2 | |
ComplianceControl Controller4467_compliance_control_crud
Refs #4467
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/controllers/compliance_controls_controller_spec.rb | 59 | ||||
| -rw-r--r-- | spec/factories/compliance_controls.rb | 4 | ||||
| -rw-r--r-- | spec/models/compliance_control_set_spec.rb | 1 |
3 files changed, 62 insertions, 2 deletions
diff --git a/spec/controllers/compliance_controls_controller_spec.rb b/spec/controllers/compliance_controls_controller_spec.rb new file mode 100644 index 000000000..165c00329 --- /dev/null +++ b/spec/controllers/compliance_controls_controller_spec.rb @@ -0,0 +1,59 @@ +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 } + + describe "GET show" do + it 'should be successful' do + get :show, compliance_control_set_id: compliance_control_set.id, id: compliance_control.id + expect(response).to be_success + end + end + + describe "GET index" do + it 'should be successful' do + get :index, compliance_control_set_id: compliance_control_set.id + expect(response).to be_success + end + end + + describe 'GET #edit' do + it 'should be successful' do + get :edit, compliance_control_set_id: compliance_control_set.id, id: compliance_control.id + expect(response).to be_success + end + end + + describe 'GET #new' do + it 'should be successful' do + get :new, compliance_control_set_id: compliance_control_set.id + expect(response).to be_success + end + end + + 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 + 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 + 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') + end + end +end diff --git a/spec/factories/compliance_controls.rb b/spec/factories/compliance_controls.rb index 28b760383..8aa16b674 100644 --- a/spec/factories/compliance_controls.rb +++ b/spec/factories/compliance_controls.rb @@ -1,8 +1,8 @@ FactoryGirl.define do factory :compliance_control do sequence(:name) { |n| "Compliance control #{n}" } - type "Type" - criticity :info + type "ComplianceControl" + criticity :warning code "code" comment "Text" association :compliance_control_set diff --git a/spec/models/compliance_control_set_spec.rb b/spec/models/compliance_control_set_spec.rb index fb46bc65a..8ec57fdc0 100644 --- a/spec/models/compliance_control_set_spec.rb +++ b/spec/models/compliance_control_set_spec.rb @@ -6,4 +6,5 @@ RSpec.describe ComplianceControlSet, type: :model do end it { should belong_to :organisation } + it { should have_many :compliance_controls } end |
