summaryrefslogtreecommitdiff
path: root/spec/validators
diff options
context:
space:
mode:
Diffstat (limited to 'spec/validators')
-rw-r--r--spec/validators/namespace_validator_spec.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/validators/namespace_validator_spec.rb b/spec/validators/namespace_validator_spec.rb
new file mode 100644
index 00000000000..e21b8ef5abd
--- /dev/null
+++ b/spec/validators/namespace_validator_spec.rb
@@ -0,0 +1,29 @@
+require 'spec_helper'
+
+describe NamespaceValidator do
+ describe 'RESERVED' do
+ it 'includes all the top level namespaces' do
+ all_top_level_routes = Rails.application.routes.routes.routes.
+ map { |r| r.path.spec.to_s }.
+ select { |p| p !~ %r{^/[:*]} }.
+ map { |p| p.split('/')[1] }.
+ compact.
+ map { |p| p.split('(', 2)[0] }.
+ uniq
+
+ expect(described_class::RESERVED).to include(*all_top_level_routes)
+ end
+ end
+
+ describe 'WILDCARD_ROUTES' do
+ it 'includes all paths that can be used after a namespace/project path' do
+ all_wildcard_paths = Rails.application.routes.routes.routes.
+ map { |r| r.path.spec.to_s }.
+ select { |p| p =~ %r{^/\*namespace_id/:(project_)?id/[^:*]} }.
+ map { |p| p.split('/')[3].split('(', 2)[0] }.
+ uniq
+
+ expect(described_class::WILDCARD_ROUTES).to include(*all_wildcard_paths)
+ end
+ end
+end