2017-10-26 6 views
0

의 범위에 대한 RSpec에 테스트를 작성하는 나는 그것을 위해 공장을 만든 모델방법 모델

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 
+0

을 수행하여 이런 종류의 일을 테스트 할 수 있습니다 아래처럼 뭔가를 시도 . bussines 논리에 중점을 둡니다. – cmramseyer

+0

컨트롤러 용 rspec 테스트 케이스를 추가했습니다. 테스트 케이스를 범위에 추가해야합니다. –

답변

0

당신은 컬렉션을 제작 한 다음 테스트는 안

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