Если новые новости включены, они автоматически удаляются из предыдущих новостей. Я написал спецификацию, но они терпят неудачу. Как эти характеристики можно улучшить?
Пост.рб
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
в обоих тестовых случаях.expect(p1.reload.enabled).to eq(false)
иexpect(p1.reload.enabled).to eq(true)
- person usha   schedule 12.02.2014