Sha256: 54acc6cd3b150c1b435ef6fee9e879adf08d9342d6937f4f7b0d4b056396922e

Contents?: true

Size: 1.79 KB

Versions: 37

Compression:

Stored size: 1.79 KB

Contents

require File.dirname(__FILE__)+'/../test_helper'

class FailableActionOptionsTest < ActiveSupport::TestCase
  def setup
    @controller = PostsController.new
    @create = ResourceController::FailableActionOptions.new
  end
  
  should "have success and fails" do
    assert ResourceController::ActionOptions, @create.success.class
    assert ResourceController::ActionOptions, @create.fails.class
  end
  
  %w(before).each do |accessor|
    should "have a block accessor for #{accessor}" do
      @create.send(accessor) do
        "return_something"
      end
    
      assert_equal "return_something", @create.send(accessor).first.call(nil)
    end
  end
  
  should "delegate flash to success" do
    @create.flash "Successfully created."
    assert_equal "Successfully created.", @create.success.flash
  end
  
  should "delegate after to success" do
    @create.after do
      "something"
    end
    
    assert_equal "something", @create.success.after.first.call
  end
  
  should "delegate response to success" do
    @create.response do |wants|
      wants.html
    end
    
    assert @create.wants[:html]
  end
  
  should "delegate wants to success" do
    @create.wants.html
    
    assert @create.wants[:html]
  end
  
  context "duplication" do
    setup do
      @opts = ResourceController::FailableActionOptions.new
      @opts.wants.js
      @opts.failure.wants.js
      @opts.before {}
      
      @dup = @opts.dup
    end

    should "duplicate success" do
      assert !@dup.success.equal?(@opts.success)
      assert @dup.success.wants[:js]
    end
    
    should "duplicate failure" do
      assert !@dup.failure.equal?(@opts.failure)
      assert @dup.failure.wants[:js]
    end
    
    should "duplicate before" do
      assert !@dup.before.equal?(@opts.before)
      assert @dup.before
    end
  end
  
end

Version data entries

37 entries across 37 versions & 15 rubygems

Version Path
csmosx-resource_controller-0.6.6 test/test/unit/failable_action_options_test.rb
csmosx-resource_controller-0.6.7 test/test/unit/failable_action_options_test.rb
dkubb-resource_controller-0.6.5 test/test/unit/failable_action_options_test.rb
giraffesoft-resource_controller-0.5.5 test/test/unit/failable_action_options_test.rb
giraffesoft-resource_controller-0.5.6 test/test/unit/failable_action_options_test.rb
giraffesoft-resource_controller-0.6.0 test/test/unit/failable_action_options_test.rb
giraffesoft-resource_controller-0.6.1 test/test/unit/failable_action_options_test.rb
giraffesoft-resource_controller-0.6.5 test/test/unit/failable_action_options_test.rb
jeffrafter-resource_controller-0.5.5 test/test/unit/failable_action_options_test.rb
maser-resource_controller-0.6.6 test/test/unit/failable_action_options_test.rb
radar-resource_controller-0.6.6 test/test/unit/failable_action_options_test.rb
strikeroff-resource_controller-0.6.6 test/test/unit/failable_action_options_test.rb
viva-resource_controller-0.6.5.1 test/test/unit/failable_action_options_test.rb
viva-resource_controller-0.6.5.2 test/test/unit/failable_action_options_test.rb
viva-resource_controller-0.6.5 test/test/unit/failable_action_options_test.rb
makandra_resource_controller-0.8.0 test/test/unit/failable_action_options_test.rb
resources_controller-1.0.4 test/test/unit/failable_action_options_test.rb
resources_controller-1.0.3 test/test/unit/failable_action_options_test.rb
resources_controller-1.0.2 test/test/unit/failable_action_options_test.rb
makandra_resource_controller-0.7.3 test/test/unit/failable_action_options_test.rb