Sha256: d4c3294022012c673ba5a0b00faa7b73deb84209ee7a3b59792a4eb69a40e546
Contents?: true
Size: 859 Bytes
Versions: 3
Compression:
Stored size: 859 Bytes
Contents
require "test_helper" describe MicroFSM do let(:fsm) { MicroFSM.new(:pending) .when(:confirm, pending: :confirmed) { @state = "Confirmed" } .when(:reset, confirmed: :pending) { @state = "Pending" } } def test_executes_callbacks_during_transition fsm.trigger(:confirm) assert_equal "Confirmed", @state fsm.trigger(:reset) assert_equal "Pending", @state end def test_two_callbacks_during_transition fsm.when(:confirm, pending: :confirmed) { @state2 = "Confirmed2" } fsm.trigger(:confirm) assert_equal "Confirmed", @state assert_equal "Confirmed2", @state2 end def test_passing_the_event_name_to_the_callbacks event_name = nil fsm.when(:confirm, pending: :confirmed) do |event| event_name = event end fsm.trigger(:confirm) assert_equal :confirm, event_name end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
microfsm-0.1.7 | test/callbacks_test.rb |
microfsm-0.1.6 | test/callbacks_test.rb |
microfsm-0.1.4 | test/callbacks_test.rb |