Make user constrainer lookup same as controller and add more constrainer tests

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
Dmitriy Zaporozhets 2016-10-06 16:59:22 +03:00
parent 1052603148
commit 42c6555bab
4 changed files with 21 additions and 2 deletions

View File

@ -2,6 +2,6 @@ require 'constraints/namespace_url_constrainer'
class UserUrlConstrainer < NamespaceUrlConstrainer
def find_resource(id)
User.find_by_username(id)
User.find_by('lower(username) = ?', id.downcase)
end
end

View File

@ -0,0 +1,10 @@
require 'spec_helper'
describe GroupUrlConstrainer, lib: true do
let!(:username) { create(:group, path: 'gitlab-org') }
describe '#find_resource' do
it { expect(!!subject.find_resource('gitlab-org')).to be_truthy }
it { expect(!!subject.find_resource('gitlab-com')).to be_falsey }
end
end

View File

@ -2,7 +2,6 @@ require 'spec_helper'
describe NamespaceUrlConstrainer, lib: true do
let!(:group) { create(:group, path: 'gitlab') }
subject { NamespaceUrlConstrainer.new }
describe '#matches?' do
context 'existing namespace' do

View File

@ -0,0 +1,10 @@
require 'spec_helper'
describe UserUrlConstrainer, lib: true do
let!(:username) { create(:user, username: 'dz') }
describe '#find_resource' do
it { expect(!!subject.find_resource('dz')).to be_truthy }
it { expect(!!subject.find_resource('john')).to be_falsey }
end
end