Sha256: cf486aa6c94bcdc31c9313d0c26cec0b9ef017b16f2a32eaf7dff15bebfc2dbe
Contents?: true
Size: 1.41 KB
Versions: 3
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.new { 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
exposure-0.1.3 | spec/builders/builder_spec.rb |
exposure-0.1.2 | spec/builders/builder_spec.rb |
exposure-0.1.1 | spec/builders/builder_spec.rb |