aboutsummaryrefslogtreecommitdiffstats
path: root/spec/models
diff options
context:
space:
mode:
authorAlban Peignier2012-06-21 16:43:42 +0200
committerAlban Peignier2012-06-21 16:43:42 +0200
commit6a5b676c7cfa3771cca5b4827d0e8acf00968e58 (patch)
treeeebc62d0066ad32d67d46368cfea422d8708d132 /spec/models
parent0a3bdcfe5cafdb94c9aaf6a9535898c0b9cda540 (diff)
downloadchouette-core-6a5b676c7cfa3771cca5b4827d0e8acf00968e58.tar.bz2
Add Export#references
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/export_spec.rb88
1 files changed, 88 insertions, 0 deletions
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