测试是否已在控制器中调用了另一个作用域的方法

问题描述 投票:0回答:1

我具有以下控制器方法:

def create_charge
    payment = Payment.where('order_id = ?', 1).first

    if payment.date <= Date.today
      err = payment.execute_off_session(customer.id, create_in_wms = true)
    else
      order.update_attributes(status: :partially_paid)
    end
end

我需要测试是否调用了execute_off_session。我找不到执行此操作的正确方法:

describe Api::V1::OrdersController, type: :controller do
  describe "#create_charge" do
    context "fingerprinting a card only" do
      it "should'nt call #execute_off_session" do
        payment = instance_double("Payment")
        expect(payment).not_to receive(:execute_off_session)
        post :create_charge, {:params => {:uid => @order.uid}}
      end
    end
  end
end
rspec rspec-rails
1个回答
0
投票

您可以对类的所有实例设置期望,它并不总是理想的,但是应该适合您的用例:

© www.soinside.com 2019 - 2024. All rights reserved.