如何在模型中编写范围的rspec测试

时间:2017-10-26 21:36:41

标签: ruby ruby-on-rails-4 rspec

我在Model

中有以下范围
class ProductDetail < ApplicationRecord
  scope :currently_active, lambda {
    where('? BETWEEN start_time AND end_time', Time.zone.now)
  }
end

我为它创建了工厂,但试图找出我如何为它编写rspec。

我尝试做类似下面的事情

  subject { create(:product_detail) }

  describe '#currently_active' do
    context '#test' do
      it 'test' do
      product = build(:product_detail, start_time: Time.now, end_time: Time.now + 30.days)

      end
    end
  end

1 个答案:

答案 0 :(得分:0)

你可以通过制作一个集合来测试这种事情,然后再做

expect(Mymodel.scope).to match_array(expected_collection)