diff options
Diffstat (limited to 'spec/policies')
| -rw-r--r-- | spec/policies/workgroup_policy_spec.rb | 44 | 
1 files changed, 44 insertions, 0 deletions
| diff --git a/spec/policies/workgroup_policy_spec.rb b/spec/policies/workgroup_policy_spec.rb new file mode 100644 index 000000000..19f6c29d1 --- /dev/null +++ b/spec/policies/workgroup_policy_spec.rb @@ -0,0 +1,44 @@ +RSpec.describe WorkgroupPolicy, type: :policy do + +  let( :record ){ build_stubbed :workgroup } + +  permissions :create? do +    it "should not allow for creation" do +      expect_it.not_to permit(user_context, record) +    end +  end + +  permissions :update? do +    it "should not allow for update" do +      expect_it.not_to permit(user_context, record) +    end + +    context "for the owner" do +      before do +        record.owner = user.organisation +      end + +      it "should allow for update" do +        expect_it.to permit(user_context, record) +      end +    end +  end + +  permissions :destroy? do +    it "should not allow for destroy" do +      expect_it.not_to permit(user_context, record) +    end + +    context "for the owner" do +      before do +        record.owner = user.organisation +      end + +      it "should not allow for destroy" do +        expect_it.not_to permit(user_context, record) +      end +    end +  end + + +end | 
