From 8052230ad2966e794fe85ac48244012b4a74d6d3 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Thu, 21 Sep 2017 11:47:18 +0200 Subject: Move ComplianceControl#index into ComplianceControlSet#show Refs #4579 --- spec/controllers/compliance_controls_controller_spec.rb | 7 ------- 1 file changed, 7 deletions(-) (limited to 'spec') diff --git a/spec/controllers/compliance_controls_controller_spec.rb b/spec/controllers/compliance_controls_controller_spec.rb index 165c00329..749bbaac3 100644 --- a/spec/controllers/compliance_controls_controller_spec.rb +++ b/spec/controllers/compliance_controls_controller_spec.rb @@ -13,13 +13,6 @@ RSpec.describe ComplianceControlsController, type: :controller do 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 -- cgit v1.2.3 From a11baf3f9b77d8290aef519310912abdc19ec5bf Mon Sep 17 00:00:00 2001 From: Xinhui Date: Fri, 22 Sep 2017 16:07:03 +0200 Subject: Remove compliance control block id column from compliance_controls table Refs #4585 --- spec/factories/compliance_control_blocks.rb | 1 + spec/factories/compliance_controls.rb | 1 - spec/models/compliance_control_block_spec.rb | 3 +++ spec/models/compliance_control_spec.rb | 1 - 4 files changed, 4 insertions(+), 2 deletions(-) (limited to 'spec') diff --git a/spec/factories/compliance_control_blocks.rb b/spec/factories/compliance_control_blocks.rb index 5bc45cc75..1b043324e 100644 --- a/spec/factories/compliance_control_blocks.rb +++ b/spec/factories/compliance_control_blocks.rb @@ -2,5 +2,6 @@ FactoryGirl.define do factory :compliance_control_block do sequence(:name) { |n| "Compliance control block #{n}" } association :compliance_control_set + association :compliance_control end end diff --git a/spec/factories/compliance_controls.rb b/spec/factories/compliance_controls.rb index 8aa16b674..cc9f7a822 100644 --- a/spec/factories/compliance_controls.rb +++ b/spec/factories/compliance_controls.rb @@ -6,6 +6,5 @@ FactoryGirl.define do code "code" comment "Text" association :compliance_control_set - association :compliance_control_block end end diff --git a/spec/models/compliance_control_block_spec.rb b/spec/models/compliance_control_block_spec.rb index 248049b0c..f45ec3d42 100644 --- a/spec/models/compliance_control_block_spec.rb +++ b/spec/models/compliance_control_block_spec.rb @@ -1,9 +1,12 @@ require 'rails_helper' RSpec.describe ComplianceControlBlock, type: :model do + subject { create(:compliance_control_block) } + it 'should have a valid factory' do expect(FactoryGirl.build(:compliance_control_block)).to be_valid end it { should belong_to :compliance_control_set } + it { should belong_to :compliance_control } end diff --git a/spec/models/compliance_control_spec.rb b/spec/models/compliance_control_spec.rb index b00ff4c5a..c8797b938 100644 --- a/spec/models/compliance_control_spec.rb +++ b/spec/models/compliance_control_spec.rb @@ -6,7 +6,6 @@ RSpec.describe ComplianceControl, type: :model do end it { should belong_to :compliance_control_set } - it { should belong_to :compliance_control_block } it { should validate_presence_of :criticity } it { should validate_presence_of :name } -- cgit v1.2.3 From b8402fc9803db04b029a22c5bd9d33ee756ff4ec Mon Sep 17 00:00:00 2001 From: Xinhui Date: Tue, 26 Sep 2017 11:58:17 +0200 Subject: Add dependent destroy on associations --- spec/models/compliance_control_set_spec.rb | 2 +- spec/models/compliance_control_spec.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'spec') diff --git a/spec/models/compliance_control_set_spec.rb b/spec/models/compliance_control_set_spec.rb index ededec5e0..edc684bbc 100644 --- a/spec/models/compliance_control_set_spec.rb +++ b/spec/models/compliance_control_set_spec.rb @@ -6,7 +6,7 @@ RSpec.describe ComplianceControlSet, type: :model do end it { should belong_to :organisation } - it { should have_many :compliance_controls } + it { should have_many(:compliance_controls).dependent(:destroy) } it { should validate_presence_of :name } end diff --git a/spec/models/compliance_control_spec.rb b/spec/models/compliance_control_spec.rb index c8797b938..d65e654cc 100644 --- a/spec/models/compliance_control_spec.rb +++ b/spec/models/compliance_control_spec.rb @@ -6,6 +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 validate_presence_of :criticity } it { should validate_presence_of :name } -- cgit v1.2.3 From 00ef063d81323cf6d80b383bda949abfeeaa520b Mon Sep 17 00:00:00 2001 From: Xinhui Date: Wed, 27 Sep 2017 15:35:55 +0200 Subject: Refactoring controller spec - add compliance controle type support --- .../controllers/compliance_controls_controller_spec.rb | 18 ++++++++++-------- spec/factories/compliance_controls.rb | 2 +- spec/models/compliance_control_spec.rb | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) (limited to 'spec') 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 } -- cgit v1.2.3 From 5911206bbadb2c3c9609f8be0ce1affd6584015e Mon Sep 17 00:00:00 2001 From: cedricnjanga Date: Wed, 27 Sep 2017 16:08:19 +0200 Subject: Refs #4615 Change spec and controller regarding to the ComplianceControl models changes --- spec/factories/compliance_controls.rb | 1 + spec/models/compliance_control_spec.rb | 24 +++++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'spec') diff --git a/spec/factories/compliance_controls.rb b/spec/factories/compliance_controls.rb index 01cdeb6d3..b1b6bd837 100644 --- a/spec/factories/compliance_controls.rb +++ b/spec/factories/compliance_controls.rb @@ -4,6 +4,7 @@ FactoryGirl.define do type "GenericAttributeMinMax" criticity :warning code "code" + origin_code "code" comment "Text" association :compliance_control_set end diff --git a/spec/models/compliance_control_spec.rb b/spec/models/compliance_control_spec.rb index e11873144..226e7ae74 100644 --- a/spec/models/compliance_control_spec.rb +++ b/spec/models/compliance_control_spec.rb @@ -1,14 +1,32 @@ require 'rails_helper' RSpec.describe ComplianceControl, type: :model do + + let(:compliance_control) { create :compliance_control } + it 'should have a valid factory' do - expect(FactoryGirl.build(:compliance_control)).to be_valid + expect(compliance_control).to be_valid end it { should belong_to :compliance_control_set } it { should have_one(:compliance_control_block).dependent(:destroy) } - it { should validate_presence_of :criticity } - it { should validate_presence_of :name } it { should validate_presence_of :code } + it { should validate_presence_of :origin_code } + + it 'should validate_presence_of criticity' do + compliance_control.criticity = nil + expect(compliance_control).not_to be_valid + end + + it 'should validate_presence_of name' do + compliance_control.name = nil + expect(compliance_control).not_to be_valid + end + + #TODO dont know why the 'shortcuts' below to validates presence dont work + # That's why we dont it 'manually' + # it { should validate_presence_of :criticity } + # it { should validate_presence_of :name } + end -- cgit v1.2.3 From 28a352d2c4cba71c796a3504513e0664cec92cb5 Mon Sep 17 00:00:00 2001 From: cedricnjanga Date: Wed, 27 Sep 2017 16:34:02 +0200 Subject: Refs #4615 Resolve rebase conflict --- spec/controllers/compliance_controls_controller_spec.rb | 4 ++-- spec/factories/compliance_controls.rb | 2 +- spec/models/compliance_control_spec.rb | 15 ++++++++++++--- 3 files changed, 15 insertions(+), 6 deletions(-) (limited to 'spec') diff --git a/spec/controllers/compliance_controls_controller_spec.rb b/spec/controllers/compliance_controls_controller_spec.rb index 511b61b38..a39408ccb 100644 --- a/spec/controllers/compliance_controls_controller_spec.rb +++ b/spec/controllers/compliance_controls_controller_spec.rb @@ -6,7 +6,7 @@ RSpec.describe ComplianceControlsController, type: :controller do 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') } + let(:compliance_control_params) { compliance_control.as_json.merge(type: 'GenericAttributeControl::MinMax') } describe "GET show" do it 'should be successful' do @@ -47,7 +47,7 @@ RSpec.describe ComplianceControlsController, type: :controller do it 'should be successful' do expect { delete :destroy, compliance_control_set_id: compliance_control_set.id, id: compliance_control.id - }.to change(GenericAttributeMinMax, :count).by(-1) + }.to change(GenericAttributeControl::MinMax, :count).by(-1) expect(response).to have_http_status(302) end end diff --git a/spec/factories/compliance_controls.rb b/spec/factories/compliance_controls.rb index b1b6bd837..ced505565 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 "GenericAttributeMinMax" + type "GenericAttributeControl::MinMax" criticity :warning code "code" origin_code "code" diff --git a/spec/models/compliance_control_spec.rb b/spec/models/compliance_control_spec.rb index 226e7ae74..d7bffb0b2 100644 --- a/spec/models/compliance_control_spec.rb +++ b/spec/models/compliance_control_spec.rb @@ -11,9 +11,6 @@ RSpec.describe ComplianceControl, type: :model do it { should belong_to :compliance_control_set } it { should have_one(:compliance_control_block).dependent(:destroy) } - it { should validate_presence_of :code } - it { should validate_presence_of :origin_code } - it 'should validate_presence_of criticity' do compliance_control.criticity = nil expect(compliance_control).not_to be_valid @@ -24,9 +21,21 @@ RSpec.describe ComplianceControl, type: :model do expect(compliance_control).not_to be_valid end + it 'should validate_presence_of code' do + compliance_control.code = nil + expect(compliance_control).not_to be_valid + end + + it 'should validate_presence_of origin_code' do + compliance_control.origin_code = nil + expect(compliance_control).not_to be_valid + end + #TODO dont know why the 'shortcuts' below to validates presence dont work # That's why we dont it 'manually' # it { should validate_presence_of :criticity } # it { should validate_presence_of :name } + # it { should validate_presence_of :code } + # it { should validate_presence_of :origin_code } end -- cgit v1.2.3