diff options
| author | Alban Peignier | 2012-06-21 16:43:42 +0200 |
|---|---|---|
| committer | Alban Peignier | 2012-06-21 16:43:42 +0200 |
| commit | 6a5b676c7cfa3771cca5b4827d0e8acf00968e58 (patch) | |
| tree | eebc62d0066ad32d67d46368cfea422d8708d132 /spec/models | |
| parent | 0a3bdcfe5cafdb94c9aaf6a9535898c0b9cda540 (diff) | |
| download | chouette-core-6a5b676c7cfa3771cca5b4827d0e8acf00968e58.tar.bz2 | |
Add Export#references
Diffstat (limited to 'spec/models')
| -rw-r--r-- | spec/models/export_spec.rb | 88 |
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 |
