Sha256: 74330b88042f315be2a2ca0bbf392cc7b68b06f835a4c663d2d3c5dbee5cbf00

Contents?: true

Size: 930 Bytes

Versions: 3

Compression:

Stored size: 930 Bytes

Contents

require "lanes/spec_helper"


class AssociationExtensionsTest < Lanes::TestCase

    include TestingModels

    def test_adding_event_listener_requires_inverse
        err = assert_raise(ArgumentError) do
            TestModel.has_one(:tmhm,:listen=>{:save=>:on_save})
        end
        assert_match( /does not have an inverse_of specified./, err.message )
    end

    def test_adds_listener
        Tmhm.belongs_to(:tm)
        TestModel.has_one(:tmhm,:listen=>{:save=>:on_tmhm_save}, :inverse_of=>:tm)
        tm = TestModel.new
        tm.expects(:on_tmhm_save)
        tm.build_tmhm
        assert tm.save
    end

    def test_exports_associations
        TestModel.expects(:export_associations).with(:tmhm,{})
        TestModel.has_one(:tmhm, export: true)
    end

    def test_does_not_allow_other_garbage
        assert_raise(ArgumentError) do
            TestModel.has_one(:tmhm,:blarg=>true)
        end
    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lanes-0.1.2 spec/concerns/association_extensions_spec.rb
lanes-0.1.0 spec/concerns/association_extensions_spec.rb
lanes-0.0.8 spec/concerns/association_extensions_spec.rb