Sha256: b37822c7dc280cd1f4896e3b43d8d876f540377c5c5e2d8b6bf9078a095835e1

Contents?: true

Size: 851 Bytes

Versions: 7

Compression:

Stored size: 851 Bytes

Contents

require "spec_helper"

describe ErpRules::RulesEngine::RulesFacade do

  before(:each) do
    #ErpRules::RulesEngine::Ruleby::Engine

    RuleBook = Class.new(Ruleby::Rulebook) do
      def rules
        rule :last_name_is_smith, {:priority => 1},[ErpRules::RulesEngine::Context, :context, m.customer_last_name == 'Smith'] do |v|
          v[:context].valid_offers << 2
        end
      end
    end
    @rule_context = ErpRules::RulesEngine::Context.new
  end

  it 'should invoke the rules engine class passed in' do
    @rule_context[:customer_last_name] = "Smith"
    @rule_context[:valid_offers] = []

    @result_ctx = subject.invoke(RuleBook,
                   @rule_context,
                   ErpRules::RulesEngine::Ruleby::Engine)
    @result_ctx[:valid_offers].should include(2)
  end

  it 'should add a directives map if they exist'
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
erp_rules-4.2.0 spec/lib/erp_rules/rules_engine/rules_facade_spec.rb
erp_rules-4.0.0 spec/lib/erp_rules/rules_engine/rules_facade_spec.rb
erp_rules-3.1.0 spec/lib/erp_rules/rules_engine/rules_facade_spec.rb
erp_rules-3.0.4 spec/lib/erp_rules/rules_engine/rules_facade_spec.rb
erp_rules-3.0.3 spec/lib/erp_rules/rules_engine/rules_facade_spec.rb
erp_rules-3.0.2 spec/lib/erp_rules/rules_engine/rules_facade_spec.rb
erp_rules-3.0.1 spec/lib/erp_rules/rules_engine/rules_facade_spec.rb