Sha256: df6dc1d09f2743453b70306bd9973609f0a24956d65eae7209481ce77accbaf2
Contents?: true
Size: 1.76 KB
Versions: 2
Compression:
Stored size: 1.76 KB
Contents
require "spec_helper" describe Mongoid::Timestamps::Updated do describe ".included" do let(:agent) do Agent.new end let(:fields) do Agent.fields end before do agent.run_callbacks(:create) agent.run_callbacks(:save) end it "does not add created_at to the document" do expect(fields["created_at"]).to be_nil end it "adds updated_at to the document" do expect(fields["updated_at"]).to_not be_nil end it "forces the updated_at timestamps to UTC" do expect(agent.updated_at).to be_within(10).of(Time.now.utc) end pending "includes a record_timestamps class_accessor to ease AR compatibility" do expect(Agent.new).to respond_to(:record_timestamps) end end context "when the document is new" do context "when providing the timestamp" do let(:time) do Time.new(2012, 1, 1) end let(:doc) do Dokument.create(updated_at: time) end it "does not override it with the default" do expect(doc.updated_at).to eq(time) end it "does not persist an auto value" do expect(doc.reload.updated_at).to eq(time) end end end context "when the document has not changed" do let(:agent) do Agent.instantiate("_id" => BSON::ObjectId.new, "account_ids" => []) end before do agent.new_record = false end it "does not run the update callbacks" do agent.should_receive(:updated_at=).never agent.save end end context "when the document is created" do let(:agent) do Agent.create end it "runs the update callbacks" do expect(agent.updated_at).to_not be_nil expect(agent.updated_at).to be_within(10).of(Time.now.utc) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sepastian-mongoid-rails4-4.0.1.alpha | spec/mongoid/timestamps/updated_spec.rb |
sepastian-mongoid-rails4-4.0.0.alpha | spec/mongoid/timestamps/updated_spec.rb |