aboutsummaryrefslogtreecommitdiffstats
path: root/spec/models/workbench_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/workbench_spec.rb')
-rw-r--r--spec/models/workbench_spec.rb23
1 files changed, 22 insertions, 1 deletions
diff --git a/spec/models/workbench_spec.rb b/spec/models/workbench_spec.rb
index 023a65ea2..84149ddb0 100644
--- a/spec/models/workbench_spec.rb
+++ b/spec/models/workbench_spec.rb
@@ -1,7 +1,6 @@
require 'rails_helper'
RSpec.describe Workbench, :type => :model do
-
it 'should have a valid factory' do
expect(FactoryGirl.build(:workbench)).to be_valid
end
@@ -12,4 +11,26 @@ RSpec.describe Workbench, :type => :model do
it { should belong_to(:organisation) }
it { should belong_to(:line_referential) }
it { should belong_to(:stop_area_referential) }
+
+ it { should have_many(:lines).through(:line_referential) }
+ it { should have_many(:networks).through(:line_referential) }
+ it { should have_many(:companies).through(:line_referential) }
+ it { should have_many(:group_of_lines).through(:line_referential) }
+
+ it { should have_many(:stop_areas).through(:stop_area_referential) }
+
+ context '.lines' do
+ let!(:ids) { ['STIF:CODIFLIGNE:Line:C00840', 'STIF:CODIFLIGNE:Line:C00086'] }
+ let!(:organisation) { create :organisation, sso_attributes: { functional_scope: ids.to_json } }
+ let(:workbench) { create :workbench, organisation: organisation }
+
+ it 'should filter lines based on my organisation functional_scope' do
+ ids.insert('STIF:CODIFLIGNE:Line:0000').each do |id|
+ create :line, objectid: id, line_referential: workbench.line_referential
+ end
+ lines = workbench.lines
+ expect(lines.count).to eq 2
+ expect(lines.map(&:objectid)).to include(*ids)
+ end
+ end
end