0

我有一个供我的用户使用的控制器:

class API::V1::UsersController < ApplicationController
  respond_to :json

  def create
    @user = User.create(user_params)
    respond_with(:api, :v1, @user)
  end
end`

我正在使用响应者宝石。

当我运行 RSpec 测试时,我收到 422 错误。这是失败的测试:

describe "POST create" do
  it "should create a user" do
    post :create, user: FactoryGirl.build(:user).attributes, format: :json
    expect(response.status).to eq(201)
  end
end
  • 我在我的用户模型上使用 has_secure_password 。
  • 我的 user_params 中有密码和密码确认(强参数)
  • 我的工厂有匹配的密码和密码确认
FactoryGirl.define 做
  工厂:用户做
    first_name Faker::Name.first_name
    last_name Faker::Name.last_name
    电子邮件 Faker::Internet.safe_email
    密码“123456789”
    密码确认“123456789”
    date_of_birth 25.years.ago
  结尾
结尾

我有什么遗漏或应该寻找的吗?

4

1 回答 1

0

您可能需要在 spec/support/rails_helper.rb 中设置设计映射

@request.env["devise.mapping"] = Devise.mappings[:admin]

在设计 wiki上查看更多信息

于 2015-01-10T07:44:50.120 回答