Rspec не работает пост: создать - PullRequest
0 голосов
/ 25 августа 2018

Существуют модели Users, Ad и Orders. Отношения они есть. При тестировании выдает ошибку, что объект не создан. Я думаю, что путь был создан неправильно

expected `Order.count` to have changed by 1, but was changed by 0

User.rb

class User < ApplicationRecord
  has_secure_password
  has_many :ads
  has_many :orders, through: :ads
end

Ad.rb

belongs_to :user
has_many :orders

Orders.rb

class Order < ApplicationRecord
  belongs_to :user
  belongs_to :ad
end

Создание контроллера

def create
  @order = current_user.orders.build(order_params)

  if @order.save
    render json: @order, status: :created, location: @order
  else
    render json: @order.errors, status: :unprocessable_entity
  end
end

Тест Rspec

it 'create a new Order' do
    request.cookies[JWTSessions.access_cookie] = @tokens[:access]
    request.headers[JWTSessions.csrf_header] = @tokens[:csrf]
    expect do
      post :create, params: { order: valid_attributes}
    end.to change(Order, :count).by(1)
  end
end
...