Sha256: 632373deb7423b1619841fc12f7569c0090d2eba21ce610f70ece1e44de4a365
Contents?: true
Size: 1.41 KB
Versions: 2
Compression:
Stored size: 1.41 KB
Contents
require File.dirname(__FILE__) + '/../spec_helper' describe "builders", :type => :controller do setup = lambda { class PiratesController < ActionController::Base expose_many(:pirates) private def build_pirate Pirate.new(params[:pirate]) end end ActionController::Routing::Routes.draw do |map| map.resources :pirates end } setup.call controller_name :pirates Object.remove_class(PiratesController) before(:each) do setup.call @controller = PiratesController.new @request = ActionController::TestRequest.new @response = ActionController::TestResponse.new @pirate = Factory.stub(:pirate) Pirate.stub(:new => @pirate) end after(:each) do Object.remove_class(PiratesController) end it "builds with a proc" do PiratesController.build :pirate, :with => proc { Pirate.new(params[:pirate]) } post(:create, {:pirate => {}}).inspect should assign_to(:pirate).with(@pirate) end it "builds with a method name as symbol" do PiratesController.build :pirate, :with => :build_pirate post(:create, {:pirate => {}}) should assign_to(:pirate).with(@pirate) end it "builds with a block" do PiratesController.build :pirate do Pirate.new(params[:pirate]) end post(:create, {:pirate => {}}) should assign_to(:pirate).with(@pirate) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
exposure-0.2.1 | spec/builders/builder_spec.rb |
exposure-0.2.0 | spec/builders/builder_spec.rb |