开发者

RSPEC how to post to a controller? What's wrong with this?

I'm trying to post to my controller in RSPEC, see anything wrong with this? It's failing w/o error:

it "should store create an IncomingMail record" do
  lambda {      
    post 'create', {
   开发者_如何学Python        "from" => 'XXX',
           "to" => 'XXX',
           "cc" => 'XXX', 
           "subject" => 'XXX', 
           "message_text" => 'XXX',
           "message_html" => 'XXX' }
  }.should change { IncomingMail.count }.by(1)
end

Updated:

it "should store create an IncomingMail record" do
  post :create,
       :from => 'xx',
       :to => 'xx',
       :cc => 'xx',
       :subject => 'xx',
       :message_text => 'xx',
       :message_html => 'xx'

  mail = IncomingMail.last(:order => 'created_at desc')
  mail.from.should == 'xx'
end

Controller

class IncomingMailsController < ApplicationController

  require 'iconv'

  #make sure that rails doesn't raise an exception because we have no way of knowing the token
  skip_before_filter :verify_authenticity_token

  def create

    begin
      @incoming_mail = IncomingMail.create(
                                            :from => params[:from],
                                            :to => params[:to],
                                            :cc => params[:cc], 
                                            :subject => params[:subject], 
                                            :message_text => message_text_utf8,
                                            :message_html => message_html_utf8
                                            )
.....


This is how i do it :

Route Example :

post  'train_ability/:ability' => :train_ability, :as => 'train_ability'

Spec :

it "should increase the strength ability by one point and also update the strength_points by one if strength is the trained ability" do
    @user.str = 10
    @user.str_points = 0
    @user.save!
    post :train_ability, :ability => 'str'
    @user.reload
    flash[:error].should be_nil
    @user.str_points.should == 1
    @user.str.should == 11
end
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜