2011-08-30 55 views
1

我正在轨道中建立一个简单的博客和具有多个按钮的窗体。一个按钮允许某人保存草稿,另一个按钮允许某人发布帖子。Rspec与多按钮形式

一个按钮有一个用于保存草稿的名称,另一个按钮有发布帖子的名称。如果发布参数存在,它将在后期模型中执行发布功能。

在控制器我有

post.publish unless !params[:publish] 

如何使用RSpec的测试,如果发布参数是存在,它会调用模型上的发布操作?

回答

0

嗯,这取决于。如果你使用水豚做集成测试,你只需要说哪个按钮应该被点击。但我想,你有一个控制器。因此,而不是

post :create, :post => {...} 

你需要做的

post :create, :post => {...}, :publish => "Publish" 

在现实中,值(标签)按钮将提交作为params[:publish]值,所以你可能想通过真正的标签作为:publish