Sha256: 653148e596f0ab73d0ea46ce6b196a35ce887fd9e674d6c88cabcfcf74df5772
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 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 end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
has_zone-0.0.2 | spec/has_zone_spec.rb |