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'。 'expect(p1.reload.enabled).to eq(false)'和'expect(p1.reload.enabled).to eq(true)' – usha
謝謝,它有幫助。 – vadus1