0
Если новые новости включены, он автоматически удаляет разрешения из предыдущих новостей. Я написал спецификацию, но они терпят неудачу. Как можно улучшить эту спецификацию?Характеристики метода DRY
post.rb
before_validation :removes_enabled
def removes_enabled
if enabled_changed? && enabled?
Post.update_all(enabled: false)
end
end
Моя спецификация:
describe "#remove_enabled" do
let!(:p1) {create :post, enabled: true }
it "should remove enabled for other post" do
p2 = create :post, enabled: true
expect(p1.enabled).to eq(false)
end
it "should not remove enabled for other post if current post is not enabled" do
p2 = create :post, enabled: false
expect(p1.enabled).to eq(true)
end
end
Попробуйте перезагрузить 'p1' в обоих тестовых случаях. 'ожидать (p1.reload.enabled) .to eq (false)' и 'ожидать (p1.reload.enabled) .to eq (true)' – usha
спасибо, это помогло. – vadus1