aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorXinhui2017-09-14 16:09:11 +0200
committerXinhui2017-09-14 16:09:16 +0200
commit60ad22fa8db3c1f2cbfe532a73deca4b97232a25 (patch)
tree7da523b538a520b624102dd349e16506efcdf8c3 /spec
parent6faaaaaf9136cebdbb7a65a13dbee5d72d15ea55 (diff)
downloadchouette-core-60ad22fa8db3c1f2cbfe532a73deca4b97232a25.tar.bz2
ComplianceControl Controller4467_compliance_control_crud
Refs #4467
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/compliance_controls_controller_spec.rb59
-rw-r--r--spec/factories/compliance_controls.rb4
-rw-r--r--spec/models/compliance_control_set_spec.rb1
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