46 lines
1.2 KiB
Ruby
46 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe Gitlab::Routing do
|
|
context 'when module is included' do
|
|
subject do
|
|
Class.new.include(described_class).new
|
|
end
|
|
|
|
it 'makes it possible to access url helpers' do
|
|
expect(subject).to respond_to(:namespace_project_path)
|
|
end
|
|
end
|
|
|
|
context 'when module is not included' do
|
|
subject do
|
|
Class.new.include(described_class.url_helpers).new
|
|
end
|
|
|
|
it 'exposes url helpers module through a method' do
|
|
expect(subject).to respond_to(:namespace_project_path)
|
|
end
|
|
end
|
|
|
|
describe Gitlab::Routing::LegacyRedirector do
|
|
subject { described_class.new(:wikis) }
|
|
|
|
let(:request) { double(:request, path: path, query_string: '') }
|
|
let(:path) { '/gitlab-org/gitlab-test/wikis/home' }
|
|
|
|
it 'returns "-" scoped url' do
|
|
expect(subject.call({}, request)).to eq('/gitlab-org/gitlab-test/-/wikis/home')
|
|
end
|
|
|
|
context 'invalid uri characters' do
|
|
let(:path) { '/gitlab-org/gitlab-test/wikis/home[' }
|
|
|
|
it 'raises error' do
|
|
expect do
|
|
subject.call({}, request)
|
|
end.to raise_error(ActionController::RoutingError)
|
|
end
|
|
end
|
|
end
|
|
end
|