0

我正在尝试为我的user_loginAPI 编写请求规范,但无法弄清楚如何获取不返回错误用户名或密码401无效错误的有效用户。

这是我的规格:

需要'spec_helper'

describe User do
  subject(:user) do
    Program.create!(name: 'test', gender: 'Female', goal_id: '1', experience_id: '1')
    User.create!(email: 'test@test.com', password: '12345678', password_confirmation: '12345678', goal_id: '1', experience_level_id: '1', gender: 'Female')
  end

  it "is logged in" do
    post "/api/v1/login", user_login: {email: 'test@test.com', password: '12345678' }
    response.status.should be(201)
  end

我的理解是,在主题行中创建用户意味着我的测试将针对该用户运行。知道我在这里做错了什么吗?

4

1 回答 1

0

这是答案

require 'spec_helper'

describe "sessions" do
  before do
    FactoryGirl.create(:program)
    @user = FactoryGirl.create(:user)
  end

    describe "user" do
      it "is logged in" do
        post "/api/v1/login", user_login: {email: @user.email, password: @user.password }
        response.status.should be(201)
      end
    end
end

我不完全确定与我在问题中所做的不同。我用subject块替换了块before,并将程序和用户的创建移至工厂。

于 2013-10-09T18:28:47.313 回答