aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorZog2018-05-07 16:57:22 +0200
committerZog2018-05-07 16:57:22 +0200
commit430550b965035be3d78abad790e6c44fdc69087f (patch)
treeb5762d5055910c6ff14881c1f9101c0bfdc65ea5 /spec
parentfb4d1c66cb4c0cd83e183a13ca5f9ea44803631b (diff)
downloadchouette-core-430550b965035be3d78abad790e6c44fdc69087f.tar.bz2
Refs #6960; Add a view to set the controls associated to each workbench
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/workgroups_controller_spec.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/controllers/workgroups_controller_spec.rb b/spec/controllers/workgroups_controller_spec.rb
new file mode 100644
index 000000000..2f8565088
--- /dev/null
+++ b/spec/controllers/workgroups_controller_spec.rb
@@ -0,0 +1,40 @@
+RSpec.describe WorkgroupsController, :type => :controller do
+ login_user
+
+ let(:workgroup) { create :workgroup }
+ let(:workbench) { create :workbench, workgroup: workgroup }
+ let(:compliance_control_set) { create :compliance_control_set, organisation: @user.organisation }
+
+ describe 'PATCH update' do
+ let(:params){
+ {
+ id: workgroup.id,
+ workgroup: {
+ workbenches_attributes: {
+ "0" => {
+ id: workbench.id,
+ owner_compliance_control_set_ids: {
+ import: compliance_control_set.id
+ }
+ }
+ }
+ }
+ }
+ }
+ let(:request){ patch :update, params }
+
+ it 'should respond with 403' do
+ expect(request).to have_http_status 403
+ end
+
+ context "when belonging to the owner" do
+ before do
+ workgroup.update owner: @user.organisation
+ end
+ it 'returns HTTP success' do
+ expect(request).to be_redirect
+ expect(workbench.reload.compliance_control_set(:import)).to eq compliance_control_set
+ end
+ end
+ end
+end