Sha256: 4ee025b1a0da2b388581994fd76adc1df24c03293fa296f6f53e66e749d644ab

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

require 'spec_helper'

module MyOwnController
  class Update
    def render path
      send(path) if path
    end

    def default
      'default'
    end
  end
end

describe Controll::Flow::Master::Executor do
  include Controll::Event::Helper

  let(:executor)        { Controll::Flow::Master::Executor }
  let(:controller)      { MyOwnController::Update.new }

  let(:fallback_event)  { create_event :unknown, :notice }
  let(:render_event)    { create_event :hello,   :notice }
  let(:redirect_event)  { create_event :exit,    :error }

  let(:action_handlers) { [:renderer, :redirecter] }

  let(:options) do
    {event: event, action_handlers: action_handlers}
  end

  describe '.initialize with fallback_event' do
    let(:event) { fallback_event }
    subject { executor.new controller, options }

    specify do
      subject.controller.should == controller
    end

    specify do
      subject.event.should == event
    end
  end

  describe '.initialize with render_event' do
    let(:event) { render_event }
    subject { executor.new controller, options }

    specify do
      subject.controller.should == controller
    end

    specify do
      subject.event.should == event
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
controll-0.3.2 spec/controll/flow/master/executor_spec.rb
controll-0.3.1 spec/controll/flow/master/executor_spec.rb
controll-0.3.0 spec/controll/flow/master/executor_spec.rb