Существуют модели 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