ruby on rails - For newbie : Test with rspec in a model using a method -
i have ownership model, has start_date , end_date , in model, have following code :
def current? self.start_date.present? && self.end_date.nil? end now want test ownership.current?
how going ? here tried, using expect...
describe "when owning , giving date nil" before @ownership.agreed = true @ownership.save @ownership.update_attributes(start_date: nil, end_date: nil) end { should be_valid } expect(@ownership.current?).to be_false describe "then product owned" before { @ownership.update_attributes(start_date: 1.day.ago) } { should be_valid } expect(@ownership.current?).to be_true describe "then product given" before { @ownership.update_attributes(end_date: 1.hour.ago) } { should be_valid } expect(@ownership.current?).to be_false end end end ... didn't worked. tried replace expect(@ownership.current?).to be_false @ownership.current? { should be_false }, didn't worked out either.
do have idea how ?
i'd test 2 outcomes current?
describe ownership "#current? returns false" ownership.current?.should be_false end context "when started , not yet ended" "#current? returns true" ownership.start_date = date.today ownership.end_date = nil ownership.current?.should be_true end end end
Comments
Post a Comment