Rspec: NoMethodError
Я пишу тестовые случаи (модульное тестирование) для моделей, и получаю ошибку, которую я действительно не знаю, почему...
вот моя ошибка:
Failure/Error: expect(Shelf.enabled.count).to eq 2
NoMethodError:
undefined method `enabled' for #<Class:0x00000005a2c088>
и вот мой код в спецификации модели. модели /shelf_spec.rb
describe 'shelves' do
before do
Fabricate(:shelf, heading_products: 'Top Selling Products', heading_vendors: 'Top Selling Brands', enabled: true, product_ids: '1, 2', vendor_ids: '1, 3')
Fabricate(:shelf, enabled: true, expires_on: Date.today)
Fabricate(:shelf, enabled: false, expires_on: 1.day.ago)
end
describe 'Shelf#enabled' do
it 'should return enabled shelves' do
expect(Shelf.enabled.count).to eq 2
end
it 'shelves returned should be enabled' do
expect(Shelf.enabled.first.enabled?).to be_true
end
end
end
включен атрибут логического типа полки.
пожалуйста, поправьте меня, что я пропустил или с чем не так.
Спасибо
1 ответ
Вам нужно создать область на Shelf
класс для фактического поиска разрешенных записей.
class Shelf
scope :enabled, -> { where(enabled: true) }
...
end