Sha256: 1f2b986ad450772bb00d8850f1c7ee1f741e0e30e9f83855d5482d0c2cd8a788

Contents?: true

Size: 1.82 KB

Versions: 33

Compression:

Stored size: 1.82 KB

Contents

require "spec_helper"

module Expressive 
  describe TopLevel do

    describe "#to_hash" do
      it "return only the hash data" do
        @scope = TopLevel.new
        @scope["hello"] = "world"
        @scope.to_hash.should eql({"hello" => "world"})
      end
    end

  end

  describe ExtendedValue do
    it "sets the multiple values of a ExtendedValue" do
      @scope = TopLevel.new

      @owned_by_ext_value = ExtendedValue.new(:x_owned_by, @scope)
      @owned_by_ext_value.setter = Proc.new do |value, scope| 
        scope["owned_by_id"] = value.id
        scope["owned_by_type"] = value.class.to_s
      end

      @scope["x_owned_by"] = mock(:current_user, id: 1)
      @scope["owned_by_id"].should eql 1
      @scope["owned_by_type"].should eql "RSpec::Mocks::Mock"


      @current_state_ext_value = ExtendedValue.new(:x_current_state, @scope)
      @current_state_ext_value.setter = Proc.new do |value, scope|
        scope["current_state"] = value.state
        scope["current_state_id"] = value.id
      end

      @scope["x_current_state"] = mock(:some_state, id: 1, state: "Pending")
      @scope["current_state_id"].should eql 1
      @scope["current_state"].should eql "Pending"
    end
    it "add values to a Set construct" do
      @scope = TopLevel.new
    
      @participating_teams_ext_value = ExtendedValue.new(:x_participating_teams, @scope)
      @participating_teams_ext_value.adder = Proc.new do |value, scope|
        scope["participating_teams"] << value.id unless scope["participating_teams"].include?(value.id)  
      end

      @scope["participating_teams"] = [1]
      @scope["x_participating_teams"] << mock(:some_team, id: 2, display_name: "The B-Team")
      @scope["x_participating_teams"] << mock(:some_team, id: 2, display_name: "The B-Team")
      @scope["participating_teams"].should =~ [1,2]

    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
expressive-0.0.42 spec/scope_spec.rb
expressive-0.0.41 spec/scope_spec.rb
expressive-0.0.40 spec/scope_spec.rb
expressive-0.0.39 spec/scope_spec.rb
expressive-0.0.38 spec/scope_spec.rb
expressive-0.0.37 spec/scope_spec.rb
expressive-0.0.36 spec/scope_spec.rb
expressive-0.0.35 spec/scope_spec.rb
expressive-0.0.34 spec/scope_spec.rb
expressive-0.0.33 spec/scope_spec.rb
expressive-0.0.32 spec/scope_spec.rb
expressive-0.0.31 spec/scope_spec.rb
expressive-0.0.30 spec/scope_spec.rb
expressive-0.0.29 spec/scope_spec.rb
expressive-0.0.28 spec/scope_spec.rb
expressive-0.0.27 spec/scope_spec.rb
expressive-0.0.26 spec/scope_spec.rb
expressive-0.0.25 spec/scope_spec.rb
expressive-0.0.24 spec/scope_spec.rb
expressive-0.0.23 spec/scope_spec.rb