Sha256: a9b1a0b753ba462418a9d875015840e7840a3f7bcd9b98e70eba217ec41a6f82

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'
require 'test_components'
require 'reactive_record_factory'

describe "many to many associations", js: true do

  before(:each) do
    seed_database
  end

  before(:each) do
    # spec_helper resets the policy system after each test so we have to setup
    # before each test
    stub_const 'TestApplication', Class.new
    stub_const 'TestApplicationPolicy', Class.new
    TestApplicationPolicy.class_eval do
      always_allow_connection
      regulate_all_broadcasts { |policy| policy.send_all }
    end
    size_window(:small, :portrait)
  end

  it "does not effect the base relationship count" do
    expect_promise do
      ReactiveRecord.load do
        TodoItem.find_by_title("a todo for mitch").comments.count
      end
    end.to be(1)
  end

  it "does not effect access to attributes in the base relationship" do
    expect_promise do
      ReactiveRecord.load do
        TodoItem.find_by_title("a todo for mitch").comments.count
      end.then do
        ReactiveRecord.load do
          TodoItem.find_by_title("a todo for mitch").comments.first.user.email
        end
      end
    end.to eq("adamg@catprint.com")
  end

  it "can be followed directly" do
    expect_promise do
      ReactiveRecord.load do
        TodoItem.find_by_title("a todo for mitch").commenters.first.email
      end
    end.to eq("adamg@catprint.com")
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hyper-mesh-0.6.0 spec/batch3/many_to_many_spec.rb
hyper-mesh-0.5.4 spec/batch3/many_to_many_spec.rb