aboutsummaryrefslogtreecommitdiffstats
path: root/spec/models/route_spec.rb
diff options
context:
space:
mode:
authorZog2018-04-03 08:51:32 +0200
committerZog2018-04-09 16:58:24 +0200
commitaf7ec988e86f8927ac6493acd5874607b7e167d8 (patch)
tree7d0f04f0dea2a8a913aec17ed285acaad6aac43f /spec/models/route_spec.rb
parentbf745bf731237f4d405065de5d386eaee2a2d131 (diff)
downloadchouette-core-af7ec988e86f8927ac6493acd5874607b7e167d8.tar.bz2
Refs #6367; Add a merge mechanism
And use it in the Referential merge operation
Diffstat (limited to 'spec/models/route_spec.rb')
-rw-r--r--spec/models/route_spec.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/models/route_spec.rb b/spec/models/route_spec.rb
index a101e62d9..b407cd866 100644
--- a/spec/models/route_spec.rb
+++ b/spec/models/route_spec.rb
@@ -22,5 +22,47 @@ RSpec.describe Chouette::Route, :type => :model do
end
end
end
+
+ describe "#merge_metadata_from" do
+ let(:source){ create :route }
+ let(:metadata){ target.merge_metadata_from(source).metadata }
+ let(:target){ create :route }
+ before do
+ target.metadata.creator_username = "john"
+ target.metadata.modifier_username = "john"
+ end
+ context "when the source has no metadata" do
+ it "should do nothing" do
+ expect(metadata.creator_username).to eq "john"
+ expect(metadata.modifier_username).to eq "john"
+ end
+ end
+
+ context "when the source has older metadata" do
+ before do
+ source.metadata.creator_username = "jane"
+ source.metadata.modifier_username = "jane"
+ source.metadata.creator_username_updated_at = 1.month.ago
+ source.metadata.modifier_username_updated_at = 1.month.ago
+ end
+ it "should do nothing" do
+ expect(metadata.creator_username).to eq "john"
+ expect(metadata.modifier_username).to eq "john"
+ end
+ end
+
+ context "when the source has new metadata" do
+ before do
+ source.metadata.creator_username = "jane"
+ source.metadata.modifier_username = "jane"
+ target.metadata.creator_username_updated_at = 1.month.ago
+ target.metadata.modifier_username_updated_at = 1.month.ago
+ end
+ it "should update metadata" do
+ expect(metadata.creator_username).to eq "jane"
+ expect(metadata.modifier_username).to eq "jane"
+ end
+ end
+ end
end
end