Sha256: 0f12df93de145a9ae3de007fcabad4a5fcaac9e26a4112629f3e5b048e8c92fa

Contents?: true

Size: 1.4 KB

Versions: 4

Compression:

Stored size: 1.4 KB

Contents

require "test_helper"

describe Relation do
  let(:user) { User.create! email: "info@sample.com" }
  let(:user2) { User.create! email: "info2@sample.com" }
  let(:order) { Order.create! name: "order" }
  let(:order2) { Order.create! name: "order2" }

  def setup
    Relation.add user, order
    Relation.add user2, order
    Relation.add user2, order2
  end

  it "should add a connection" do
    assert_difference("Relation.count") do
      Relation.add user2, user
    end
  end

  it "should delete a connection" do
    Relation.add user2, user
    assert_difference("Relation.count", -1) do
      Relation.delete user2, user
    end
  end

  it "should return references (using class name)" do
    arr = Relation.references(user, "Order")
    assert_equal [order].sort, arr.sort

    arr = Relation.references(user2, "Order")
    assert_equal [order, order2].sort, arr.sort
  end

  it "should return followers (using class name)" do
    arr = Relation.followers("User", order)
    assert_equal [user, user2].sort, arr.sort

    arr = Relation.followers("User", order2)
    assert_equal [user2].sort, arr.sort
  end

  it "should not add twice the same connection" do
    assert_difference("Relation.count") do
      Relation.add user2, user
      Relation.add user2, user
    end
  end

  it "should handle unexistent connection" do
    assert_difference("Relation.count", 0) do
      Relation.delete user2, user
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
relation-0.4.5 test/relation_ext_test.rb
relation-0.4.4 test/relation_ext_test.rb
relation-0.4.3 test/relation_ext_test.rb
relation-0.4.2 test/relation_ext_test.rb