Sha256: 53d766fe887a9931579b1abff6fccda4559010e730349804e2d7bfdad3db6e96

Contents?: true

Size: 1.41 KB

Versions: 102

Compression:

Stored size: 1.41 KB

Contents

require 'spec_helper'

describe Like do

  describe "activity" do
    before do
      @like_activity = Factory(:like_activity)
      @activity = @like_activity.parent
    end

    it "should recognize the user who likes it" do
      assert @activity.liked_by?(@like_activity.sender)
    end

    it "should not recognize the user who does not like it" do
      assert ! @activity.liked_by?(Factory(:user))
    end
  end

  describe "actor" do
    shared_examples_for "creates activity" do
      it "should recognize the user who likes it" do
        Like.build(@sender, @receiver).save

        assert @receiver.liked_by?(@sender)
      end

      it "should increment like count" do
        count = @receiver.like_count

        Like.build(@sender, @receiver).save

        @receiver.like_count.should eq(count + 1)
      end

      it "should decrement like count" do
        @like = Like.build(@sender, @receiver)
        @like.save

        count = @receiver.like_count

        @like.destroy

        @receiver.like_count.should eq(count - 1)
      end
    end

    context "friend" do
      before do
        tie = Factory(:friend)
        @sender = tie.sender
        @receiver = tie.receiver
      end

      it_should_behave_like "creates activity"
    end

    context "alien" do
      before do
        @sender, @receiver = 2.times.map{ Factory(:user) }
      end

      it_should_behave_like "creates activity"
    end
  end
end


Version data entries

102 entries across 102 versions & 4 rubygems

Version Path
vkhater-social_stream-0.16.3.3 base/spec/models/like_spec.rb
vkhater-social_stream-base-0.11.2 spec/models/like_spec.rb
social_stream-0.17.1 base/spec/models/like_spec.rb
social_stream-base-0.12.1 spec/models/like_spec.rb
social_stream-0.17.0 base/spec/models/like_spec.rb
social_stream-base-0.12.0 spec/models/like_spec.rb
social_stream-0.16.3 base/spec/models/like_spec.rb
social_stream-base-0.11.2 spec/models/like_spec.rb
social_stream-0.16.2 base/spec/models/like_spec.rb
social_stream-base-0.11.1 spec/models/like_spec.rb
social_stream-0.16.1 base/spec/models/like_spec.rb
social_stream-base-0.11.0 spec/models/like_spec.rb
social_stream-0.15.8 base/spec/models/like_spec.rb
social_stream-base-0.10.11 spec/models/like_spec.rb
social_stream-0.15.7 base/spec/models/like_spec.rb
social_stream-base-0.10.10 spec/models/like_spec.rb
social_stream-0.15.6 base/spec/models/like_spec.rb
social_stream-base-0.10.9 spec/models/like_spec.rb
social_stream-0.15.5 base/spec/models/like_spec.rb
social_stream-base-0.10.8 spec/models/like_spec.rb