Sha256: 79a368693eb1074c170f068a66e81d7617455401f9553b077507f4dca1bd4ad9
Contents?: true
Size: 1.6 KB
Versions: 2
Compression:
Stored size: 1.6 KB
Contents
require 'spec_helper' describe HasZone do class Resource include ActiveModel::Validations include ActiveModel::Validations::Callbacks include HasZone attr_accessor :time_zone has_zone with: :time_zone def write_attribute(attribute, value) instance_variable_set("@#{attribute}".to_sym, value) end end let(:resource) { Resource.new } it "returns nil if time_zone is nil" do resource.time_zone = nil resource.zone.should be_nil end it "returns TimeZone if time_zone is not nil" do resource.time_zone = "America/New_York" resource.zone.should_not be_nil end it "returns updated TimeZone if time_zone is updated" do resource.time_zone = "America/New_York" expect { resource.time_zone = "America/Los_Angeles" }.to change(resource, :zone) end it "sets TimeZone from string" do resource.zone = "Pacific Time (US & Canada)" resource.zone.should == ActiveSupport::TimeZone.new("Pacific Time (US & Canada)").name resource.time_zone.should == "America/Los_Angeles" end it "sets TimeZone from TimeZone" do zone = ActiveSupport::TimeZone.new("Pacific Time (US & Canada)") resource.zone = zone resource.zone.should == "Pacific Time (US & Canada)" resource.time_zone.should == "America/Los_Angeles" end it "sets UTC time zone to Etc/UTC" do resource.time_zone = "UTC" resource.should be_valid resource.time_zone.should == "Etc/UTC" end it "sets time zone to nil if the time zone is not recognized" do resource.time_zone = "Bogus" resource.should be_valid resource.zone.should be_nil end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
has_zone-0.0.4 | spec/has_zone_spec.rb |
has_zone-0.0.3 | spec/has_zone_spec.rb |