summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2016-06-27 19:15:22 +0000
committerDouwe Maan <douwe@gitlab.com>2016-06-27 19:15:22 +0000
commite4dacb353edf6129897d1bbfa3977da9487fa78c (patch)
treee61ca55893c1919cfe59d02381a26c7257457ca9 /spec
parent298e4ece30bf0f5d7fefd0314c923ae18715338c (diff)
parent16a0303801319e722bfcdadbcdeae8550e3e5dcf (diff)
downloadgitlab-ce-e4dacb353edf6129897d1bbfa3977da9487fa78c.tar.gz
Merge branch 'issue_18398' into 'master'
Check for conflict with wiki projects when creating a new project. ## What does this MR do? Check for conflict with wiki projects when creating a new project ## Are there points in the code the reviewer needs to double check? No ## Why was this MR needed? To avoid exposing the information from the wiki repository of other project ## What are the relevant issue numbers? #18398 ## Screenshots (if relevant) ![Screen_Shot_2016-06-24_at_6.03.49_PM](/uploads/7bf55e5159bf0c2b653b8f4f941f72fc/Screen_Shot_2016-06-24_at_6.03.49_PM.png) ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [ ] API support added - Tests - [x] Added for this feature/bug - [x] All builds are passing - [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !4918
Diffstat (limited to 'spec')
-rw-r--r--spec/models/project_spec.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 53c8408633c..d305cd9ff1e 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -63,6 +63,27 @@ describe Project, models: true do
expect(project2).not_to be_valid
expect(project2.errors[:limit_reached].first).to match(/Personal project creation is not allowed/)
end
+
+ describe 'wiki path conflict' do
+ context "when the new path has been used by the wiki of other Project" do
+ it 'should have an error on the name attribute' do
+ new_project = build_stubbed(:project, namespace_id: project.namespace_id, path: "#{project.path}.wiki")
+
+ expect(new_project).not_to be_valid
+ expect(new_project.errors[:name].first).to eq('has already been taken')
+ end
+ end
+
+ context "when the new wiki path has been used by the path of other Project" do
+ it 'should have an error on the name attribute' do
+ project_with_wiki_suffix = create(:project, path: 'foo.wiki')
+ new_project = build_stubbed(:project, namespace_id: project_with_wiki_suffix.namespace_id, path: 'foo')
+
+ expect(new_project).not_to be_valid
+ expect(new_project.errors[:name].first).to eq('has already been taken')
+ end
+ end
+ end
end
describe 'default_scope' do