Sha256: 3a81c8fd94d45d31a12c8b167c9f52eb0c45f5595cb2fcc23d107a5ff3db08e4

Contents?: true

Size: 1.55 KB

Versions: 4

Compression:

Stored size: 1.55 KB

Contents

require "test_helper"

# testing raw/basic relations
describe Relation do
  let(:u_id) { User.create!(email: "info@sample.com").id }
  let(:u2_id) { User.create!(email: "info2@sample.com").id }
  let(:o_id) { Order.create!(name: "order").id }
  let(:o2_id) { Order.create!(name: "order2").id }
  let(:unknown_id) { 123456 }

  def setup
    Relation.add_raw :rel, u_id, o_id
    Relation.add_raw :rel, u2_id, o_id
    Relation.add_raw :rel, u2_id, o2_id
  end

  it "should add a relation" do
    assert_difference("Relation.count") do
      Relation.add_raw :raw, u2_id, u_id
    end
  end

  it "should delete a relation" do
    Relation.add_raw :raw, u2_id, u_id
    assert_difference("Relation.count", -1) do
      Relation.delete_raw :raw, u2_id, u_id
    end
  end

  it "should return referenced ids" do
    arr = Relation.references_raw(:rel, u_id)
    assert_equal [o_id].sort, arr.sort

    arr = Relation.references_raw(:rel, u2_id)
    assert_equal [o_id, o2_id].sort, arr.sort
  end

  it "should return followers ids" do
    arr = Relation.followers_raw(:rel, o_id)
    assert_equal [u_id, u2_id].sort, arr.sort

    arr = Relation.followers_raw(:rel, o2_id)
    assert_equal [u2_id].sort, arr.sort
  end

  it "should not add twice the same connection" do
    assert_difference("Relation.count") do
      Relation.add_raw :rel, u2_id, unknown_id
      Relation.add_raw :rel, u2_id, unknown_id
    end
  end

  it "should handle unexistent connection" do
    assert_difference("Relation.count", 0) do
      Relation.delete_raw :rel, u2_id, unknown_id
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

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