scenario_spec.rb 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. require 'spec_helper'
  2. describe Scenario do
  3. let(:new_instance) { users(:bob).scenarios.build(:name => "some scenario") }
  4. it_behaves_like HasGuid
  5. describe "validations" do
  6. before do
  7. new_instance.should be_valid
  8. end
  9. it "validates the presence of name" do
  10. new_instance.name = ''
  11. new_instance.should_not be_valid
  12. end
  13. it "validates the presence of user" do
  14. new_instance.user = nil
  15. new_instance.should_not be_valid
  16. end
  17. it "only allows Agents owned by user" do
  18. new_instance.agent_ids = [agents(:bob_website_agent).id]
  19. new_instance.should be_valid
  20. new_instance.agent_ids = [agents(:jane_website_agent).id]
  21. new_instance.should_not be_valid
  22. end
  23. end
  24. describe "counters" do
  25. it "maintains a counter cache on user" do
  26. lambda {
  27. new_instance.save!
  28. }.should change { users(:bob).reload.scenario_count }.by(1)
  29. lambda {
  30. new_instance.destroy
  31. }.should change { users(:bob).reload.scenario_count }.by(-1)
  32. end
  33. end
  34. end