diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/controllers/autocomplete_stop_areas_controller_spec.rb | 24 | ||||
| -rw-r--r-- | spec/support/controller_spec_helper.rb | 15 | 
2 files changed, 39 insertions, 0 deletions
| diff --git a/spec/controllers/autocomplete_stop_areas_controller_spec.rb b/spec/controllers/autocomplete_stop_areas_controller_spec.rb index 50fc877dd..2af471361 100644 --- a/spec/controllers/autocomplete_stop_areas_controller_spec.rb +++ b/spec/controllers/autocomplete_stop_areas_controller_spec.rb @@ -5,6 +5,8 @@ RSpec.describe AutocompleteStopAreasController, type: :controller do    let(:referential) { Referential.first }    let!(:stop_area) { create :stop_area, name: 'écolà militaire' } +  let!(:zdep_stop_area) { create :stop_area, area_type: "zdep" } +  let!(:not_zdep_stop_area) { create :stop_area, area_type: "lda" }    describe 'GET #index' do      it 'should be successful' do @@ -26,4 +28,26 @@ RSpec.describe AutocompleteStopAreasController, type: :controller do        end      end    end + +  context "when searching from the route editor" do +    let(:scope) { :route_editor } +    let(:request){ +      get :index, referential_id: referential.id, scope: scope +    } +    it "should filter stop areas based on type" do +      request +      expect(assigns(:stop_areas)).to include(zdep_stop_area) +      expect(assigns(:stop_areas)).to_not include(not_zdep_stop_area) +    end + +    with_feature :route_stop_areas_all_types do +      it "should not filter stop areas based on type" do +        request +        expect(assigns(:stop_areas)).to include(zdep_stop_area) +        expect(assigns(:stop_areas)).to include(not_zdep_stop_area) +      end +    end +  end + +  end diff --git a/spec/support/controller_spec_helper.rb b/spec/support/controller_spec_helper.rb index 1d0288dea..dbc7d582b 100644 --- a/spec/support/controller_spec_helper.rb +++ b/spec/support/controller_spec_helper.rb @@ -11,6 +11,21 @@ module ControllerSpecHelper      end    end +  def with_feature feature, &block +    context "with feature #{feature}" do +      login_user +      before(:each) do +        organisation = @user.organisation +        unless organisation.has_feature?(feature) +          organisation.features << feature +          organisation.save! +        end +        sign_in @user +      end +      context('', &block) if block_given? +    end +  end +  end  RSpec.configure do |config| | 
