jam-cloud/ruby/spec/jam_ruby/models/generic_state_spec.rb

61 lines
1.6 KiB
Ruby

require 'spec_helper'
describe GenericState do
def database_env (env)
singleton = GenericState.singleton
singleton.env = env
singleton.save!
end
def rails_env (env)
JamRuby::Environment.should_receive(:mode).any_number_of_times.and_return(env)
end
describe "allow_emails?" do
it "allows emails if database is production and env is production, with build number" do
database_env('production')
rails_env('production')
stub_const("ENV", {'BUILD_NUMBER' => 1})
GenericState.allow_emails?.should be_true
end
it "no emails if database is production and env is production, no build number" do
database_env('production')
rails_env('production')
stub_const("ENV", {'BUILD_NUMBER' => nil})
GenericState.allow_emails?.should be_false
end
it "allows emails if database is development and env is development" do
database_env('development')
rails_env('development')
GenericState.allow_emails?.should be_true
end
it "no emails if database development, and environment is test" do
database_env('development')
rails_env('test')
GenericState.allow_emails?.should be_false
end
it "no emails if database production, and environment is development" do
database_env('production')
rails_env('development')
stub_const("ENV", {'BUILD_NUMBER' => 1})
GenericState.allow_emails?.should be_false
end
it "no emails if database production, and environment is test" do
database_env('production')
rails_env('development')
GenericState.allow_emails?.should be_false
end
end
end