scenario_spec.rb 1.4KB

    require 'spec_helper' describe Scenario do describe "validations" do before do @scenario = users(:bob).scenarios.new(:name => "some scenario") @scenario.should be_valid end it "validates the presence of name" do @scenario.name = '' @scenario.should_not be_valid end it "validates the presence of user" do @scenario.user = nil @scenario.should_not be_valid end it "only allows Agents owned by user" do @scenario.agent_ids = [agents(:bob_website_agent).id] @scenario.should be_valid @scenario.agent_ids = [agents(:jane_website_agent).id] @scenario.should_not be_valid end end describe "guid" do it "gets created before_save, but only if it's not present" do scenario = users(:bob).scenarios.new(:name => "some scenario") scenario.guid.should be_nil scenario.save! scenario.guid.should_not be_nil lambda { scenario.save! }.should_not change { scenario.reload.guid } end end describe "counters" do before do @scenario = users(:bob).scenarios.new(:name => "some scenario") end it "maintains a counter cache on user" do lambda { @scenario.save! }.should change { users(:bob).reload.scenario_count }.by(1) lambda { @scenario.destroy }.should change { users(:bob).reload.scenario_count }.by(-1) end end end