From 6a5b676c7cfa3771cca5b4827d0e8acf00968e58 Mon Sep 17 00:00:00 2001 From: Alban Peignier Date: Thu, 21 Jun 2012 16:43:42 +0200 Subject: Add Export#references --- spec/models/export_spec.rb | 88 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) (limited to 'spec/models') diff --git a/spec/models/export_spec.rb b/spec/models/export_spec.rb index bccaa4c42..4e6a748ed 100644 --- a/spec/models/export_spec.rb +++ b/spec/models/export_spec.rb @@ -60,4 +60,92 @@ describe Export do end + describe "#references" do + + it "should be empty if references_type is nil" do + subject.references_type = nil + subject.references.should be_empty + end + + it "should be empty if reference_ids is blank" do + subject.reference_ids = "" + subject.references.should be_empty + end + + end + + describe "#references=" do + + context "with Lines" do + + let(:lines) { create_list :line, 3 } + + before(:each) do + subject.references = lines + end + + it "should use 'Chouette::Line' as references_type" do + subject.references_type.should == 'Chouette::Line' + end + + it "should use line identifiers as raw reference_ids" do + subject.raw_reference_ids.should == lines.map(&:id).join(',') + end + + end + + end + + describe "#references_relation" do + + it "should be 'lines' when relation_type is 'Chouette::Line'" do + subject.references_type = "Chouette::Line" + subject.references_relation.should == "lines" + end + + it "should be 'networks' when relation_type is 'Chouette::Network'" do + subject.references_type = "Chouette::Network" + subject.references_relation.should == "networks" + end + + it "should be nil when relation_type is blank" do + subject.references_type = "" + subject.references_relation.should be_nil + end + + it "should be nil when relation_type is 'dummy'" do + subject.references_type = "dummy" + subject.references_relation.should be_nil + end + + end + + describe "#reference_ids" do + + it "should parse raw_reference_ids and returns ids" do + subject.stub :raw_reference_ids => "1,2,3" + subject.reference_ids.should == [1,2,3] + end + + it "should be empty if raw_reference_ids is blank" do + subject.stub :raw_reference_ids => "" + subject.reference_ids.should be_empty + end + + end + + describe "#reference_ids=" do + + it "should join ids with comma" do + subject.reference_ids = [1,2,3] + subject.raw_reference_ids.should == "1,2,3" + end + + it "should be nil if records is blank" do + subject.reference_ids = [] + subject.raw_reference_ids.should be_nil + end + + end + end -- cgit v1.2.3