Sha256: ba08f9310e1e6cde83db2cc05d76f21e64e19ecb9fdafa71f424fd81d507106a

Contents?: true

Size: 1.6 KB

Versions: 24

Compression:

Stored size: 1.6 KB

Contents

require 'test_helper'

module Vedeu

  describe Trigger do

    let(:described)  { Vedeu::Trigger }
    let(:instance)   { described.new(event_name, args) }
    let(:event_name) { :_testing_event_ }
    let(:args)       {}

    describe '.trigger' do
      before { Vedeu.bind(event_name) { :_only_one_result_ } }

      subject { described.trigger(event_name) }

      it { subject.must_equal(:_only_one_result_) }
    end

    describe '#initialize' do
      subject { instance }

      it { subject.must_be_instance_of(described) }
      it { subject.instance_variable_get('@name').must_equal(event_name) }
      it { subject.instance_variable_get('@args').must_equal([args]) }
      it do
        subject.instance_variable_get('@repository').must_equal(Vedeu.events)
      end
    end

    describe '#trigger' do
      subject { instance.trigger }

      context 'when only one result occurs from triggering the event' do
        let(:event_name) { :_one_result_ }

        before { Vedeu.bind(event_name) { :_only_one_result_ } }

        it { subject.must_equal(:_only_one_result_) }
      end

      context 'when multiple results occur from triggering an event' do
        let(:event_name) { :_multiple_results_ }

        before do
          Vedeu::Event.register(event_name) { :_result_one_ }
          Vedeu::Event.register(event_name) { :_result_two_ }
        end

        it { subject.must_equal([:_result_one_, :_result_two_]) }
      end

      context 'when the event has not been registered' do
        let(:event_name) { :_not_found_ }

        it { subject.must_equal([]) }
      end
    end

  end # Trigger

end # Vedeu

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
vedeu-0.4.41 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.40 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.39 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.38 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.37 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.36 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.35 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.34 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.33 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.32 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.31 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.30 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.29 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.28 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.27 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.26 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.25 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.24 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.23 test/lib/vedeu/events/trigger_test.rb
vedeu-0.4.22 test/lib/vedeu/events/trigger_test.rb