显然我有一个独特的情况,我在任何地方都找不到帮助。我正在尝试扩展我的注册流程以在我的数据库中创建额外的模型。这是我想做的基本流程:
- 用户使用电子邮件/密码(以及其他模型值)注册
- 系统创建一个“用户”模型
- 系统创建一个“配置文件”模型
- 系统创建“公司”模型
- 系统创建一个“帐户”模型
最大的挑战是我正在使用 Devise,但我似乎无法找到一种方法来使用 Rspec 测试此功能。这是我简单地尝试测试“注册”方法的快速视图(这不起作用:
describe "New Users" do
describe "signing up" do
it "should create a new user" do
lambda do
post :sign_up, :user => Factory.attributes_for(:user)
response.should be_success
end.should change(User, :count).by(1)
end
end
end
我收到以下错误:
1) UsersController New Users signing up should create a new user
Failure/Error: post :sign_up, :user => Factory.attributes_for(:user)
ActionController::RoutingError:
No route matches {:user=>{:email=>"test@user.com", :password=>"secret", :password_confirmation=>"secret"}, :controller=>"users", :action=>"sign_up"}
# ./spec/controllers/users_controller_spec.rb:14:in `block (5 levels) in <top (required)>'
# ./spec/controllers/users_controller_spec.rb:13:in `block (4 levels) in <top (required)>'
设计路线配置我的用户注册路线如下:
new_user_registration GET /users/sign_up(.:format) {:action=>"new", :controller=>"devise/registrations"}
我一直在用这个把头发拉出来,似乎在这方面找不到任何帮助。也许我的做法是错误的,但我想在初始注册表单上配置设置用户帐户的所有方面(即他们的公司默认值、个人资料设置等)。首先,我需要弄清楚如何测试注册过程。
提前致谢!