diff options
Diffstat (limited to 'spec/models/redirect_route_spec.rb')
-rw-r--r-- | spec/models/redirect_route_spec.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/spec/models/redirect_route_spec.rb b/spec/models/redirect_route_spec.rb index fb72d87d94d..71827421dd7 100644 --- a/spec/models/redirect_route_spec.rb +++ b/spec/models/redirect_route_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' describe RedirectRoute, models: true do - let!(:group) { create(:group, path: 'git_lab', name: 'git_lab') } + let(:group) { create(:group) } let!(:redirect_route) { group.redirect_routes.create(path: 'gitlabb') } describe 'relationships' do @@ -13,4 +13,15 @@ describe RedirectRoute, models: true do it { is_expected.to validate_presence_of(:path) } it { is_expected.to validate_uniqueness_of(:path) } end + + describe '.matching_path_and_descendants' do + let!(:redirect2) { group.redirect_routes.create(path: 'gitlabb/test') } + let!(:redirect3) { group.redirect_routes.create(path: 'gitlabb/test/foo') } + let!(:redirect4) { group.redirect_routes.create(path: 'gitlabb/test/foo/bar') } + let!(:redirect5) { group.redirect_routes.create(path: 'gitlabb/test/baz') } + + it 'returns correct routes' do + expect(RedirectRoute.matching_path_and_descendants('gitlabb/test')).to match_array([redirect2, redirect3, redirect4, redirect5]) + end + end end |