diff options
| author | Zog | 2018-04-03 08:51:32 +0200 | 
|---|---|---|
| committer | Zog | 2018-04-09 16:58:24 +0200 | 
| commit | af7ec988e86f8927ac6493acd5874607b7e167d8 (patch) | |
| tree | 7d0f04f0dea2a8a913aec17ed285acaad6aac43f /spec/models/route_spec.rb | |
| parent | bf745bf731237f4d405065de5d386eaee2a2d131 (diff) | |
| download | chouette-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.rb | 42 | 
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  | 
