1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
require 'spec_helper'
describe Chouette::Line, :type => :model do
subject { create(:line) }
it { should belong_to(:line_referential) }
# it { is_expected.to validate_presence_of :network }
# it { is_expected.to validate_presence_of :company }
it { should validate_presence_of :name }
describe '#display_name' do
it 'should display local_id, number, name and company name' do
display_name = "#{subject.objectid.local_id} - #{subject.number} - #{subject.name} - #{subject.company.try(:name)}"
expect(subject.display_name).to eq(display_name)
end
end
describe '#objectid' do
subject { super().objectid }
it { is_expected.to be_kind_of(Chouette::StifCodifligneObjectid) }
end
describe "#objectid_format" do
it "sould not be nil" do
expect(subject.objectid_format).not_to be_nil
end
end
# it { should validate_numericality_of :objectversion }
# describe ".last_stop_areas_parents" do
#
# it "should return stop areas if no parents" do
# line = create(:line_with_stop_areas)
# expect(line.stop_areas_last_parents).to eq(line.stop_areas)
# end
#
# # it "should return stop areas parents if parents" do
# # line = create(:line_with_stop_areas)
# # route = create(:route, :line => line)
# # parent = create(:stop_area)
# # stop_areas = [ create(:stop_area), create(:stop_area), create(:stop_area, :parent_id => parent.id) ]
# # stop_areas.each do |stop_area|
# # create(:stop_point, :stop_area => stop_area, :route => route)
# # end
# #
# # expect(line.stop_areas_last_parents).to match(line.stop_areas[0..(line.stop_areas.size - 2)].push(parent))
# # end
#
# end
describe "#stop_areas" do
let!(:route){create(:route, :line => subject)}
it "should retreive route's stop_areas" do
expect(subject.stop_areas.count).to eq(route.stop_points.count)
end
end
context "#group_of_line_tokens=" do
let!(:group_of_line1){create(:group_of_line)}
let!(:group_of_line2){create(:group_of_line)}
it "should return associated group_of_line ids" do
subject.update_attributes :group_of_line_tokens => [group_of_line1.id, group_of_line2.id].join(',')
expect(subject.group_of_lines).to include( group_of_line1)
expect(subject.group_of_lines).to include( group_of_line2)
end
end
describe "#update_attributes footnotes_attributes" do
context "instanciate 2 footnotes without line" do
let!( :footnote_first) {build( :footnote, :line_id => nil)}
let!( :footnote_second) {build( :footnote, :line_id => nil)}
it "should add 2 footnotes to the line" do
subject.update_attributes :footnotes_attributes =>
{ Time.now.to_i => footnote_first.attributes,
(Time.now.to_i-5) => footnote_second.attributes}
expect(Chouette::Line.find( subject.id ).footnotes.size).to eq(2)
end
end
end
end
|