Sha256: 038299b66e81106201053a1fbd3ff11ed29202f18ec19deeb4a45fda679a3377

Contents?: true

Size: 1.86 KB

Versions: 28

Compression:

Stored size: 1.86 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe Relation do
  context "authorization" do
    before(:all) do
      @tie = Factory(:friend)
      @relation = @tie.relation
    end

    describe ", receiver" do
      before do
        @s = @tie.receiver
      end

      it "creates activity" do
        Relation.allow(@s, 'create', 'activity').should include(@relation)
      end

      it "reads activity" do
        Relation.allow(@s, 'read', 'activity').should include(@relation)
      end
    end

    describe ", acquaintance" do
      before do
        @s = Factory(:acquaintance, :contact => Factory(:contact, :sender => @tie.sender)).receiver
      end

      it "creates activity" do
        Relation.allow(@s, 'create', 'activity').should_not include(@relation)
      end

      it "reads activity" do
        Relation.allow(@s, 'read', 'activity').should_not include(@relation)
      end
    end

    describe ", alien" do
      before do
        @s = Factory(:user)
      end

      it "creates activity" do
        Relation.allow(@s, 'create', 'activity').should_not include(@relation)
      end
      
      it "reads activity" do
        Relation.allow(@s, 'read', 'activity').should_not include(@relation)
      end
    end
  end

  describe "member" do
    before do
      @tie = Factory(:member)
      @relation = @tie.relation
    end

    describe ", member" do
      before do
        @s = Factory(:member, :contact => Factory(:contact, :sender => @tie.sender)).receiver
      end

      it "creates activity" do
        Relation.allow(@s, 'create', 'activity').should include(@relation)
      end

       it "reads activity" do
        Relation.allow(@s, 'read', 'activity').should include(@relation)
      end

      it "updates activity" do
        Relation.allow(@s, 'update', 'activity').should_not include(@relation)
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
social_stream-base-0.9.5 spec/models/relation_spec.rb
social_stream-base-0.9.4 spec/models/relation_spec.rb
social_stream-base-0.9.3 spec/models/relation_spec.rb
social_stream-base-0.9.2 spec/models/relation_spec.rb
social_stream-base-0.9.1 spec/models/relation_spec.rb
social_stream-base-0.9.0 spec/models/relation_spec.rb
social_stream-base-0.8.2 spec/models/relation_spec.rb
social_stream-base-0.8.1 spec/models/relation_spec.rb
social_stream-base-0.8.0 spec/models/relation_spec.rb
social_stream-base-0.7.11 spec/models/relation_spec.rb
social_stream-base-0.7.10 spec/models/relation_spec.rb
social_stream-base-0.7.9 spec/models/relation_spec.rb
social_stream-base-0.7.8 spec/models/relation_spec.rb
social_stream-base-0.7.7 spec/models/relation_spec.rb
social_stream-base-0.7.6 spec/models/relation_spec.rb
social_stream-base-0.7.5 spec/models/relation_spec.rb
social_stream-base-0.7.4 spec/models/relation_spec.rb
social_stream-base-0.7.3 spec/models/relation_spec.rb
social_stream-base-0.7.2 spec/models/relation_spec.rb
social_stream-base-0.7.1 spec/models/relation_spec.rb