Sha256: eb4ab3380d7f4036c808b6b0c21af6586d6e3ee4df6eb8c934bc6776f02f7b34

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

require 'actions/spec_helper'

require 'lims-core/actions/action_group'
module Lims::Core
  module Actions
    module TestActionGroup
      class Action
        include  Actions::Action
      end
      class ActionGroup
        include Actions::ActionGroup
      end
      describe ActionGroup do
        context "with 2 actions" do
          let(:store) { Lims::Core::Persistence::Store.new }
          let(:user) { mock :user }
          let(:application) { "test" }
          let(:action_parameters) { {:user => user, :application => application, :store => store } }
          let!(:action1) { Action.new(action_parameters).tap do |action|
            end }
          let!(:action2) { Action.new(action_parameters).tap do |action|
            end }

          subject{ ActionGroup.new(action_parameters.merge(:actions => [action1, action2])) do |action, session|
            end
          }

          it "executes both action" do
            action1.should_receive(:_call_in_session) { :result_1 }
            action2.should_receive(:_call_in_session) { :result_2 }

            subject.call();
            subject.result.should == [:result_1, :result_2]
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lims-core-3.2.3 spec/actions/action_group_spec.rb