Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Van Landuyt <bob@gitlab.com>2017-04-19 11:12:09 +0300
committerBob Van Landuyt <bob@gitlab.com>2017-05-01 12:14:24 +0300
commit39efd0c03018089366d5301583a605626e97e9d7 (patch)
treea963ff9a85fa264e705bfce8e58945f923f0eb00 /spec/lib/gitlab/database
parent389057f00184a3549a1874174cbb81c807abfd49 (diff)
Clear cached markdown after renaming projects
Diffstat (limited to 'spec/lib/gitlab/database')
-rw-r--r--spec/lib/gitlab/database/rename_reserved_paths_migration/rename_base_spec.rb40
-rw-r--r--spec/lib/gitlab/database/rename_reserved_paths_migration/rename_namespaces_spec.rb8
-rw-r--r--spec/lib/gitlab/database/rename_reserved_paths_migration/rename_projects_spec.rb19
3 files changed, 64 insertions, 3 deletions
diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_base_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_base_spec.rb
index 48234170d31..8aad88edb2b 100644
--- a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_base_spec.rb
+++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_base_spec.rb
@@ -27,6 +27,46 @@ describe Gitlab::Database::RenameReservedPathsMigration::RenameBase do
end
end
+ describe '#remove_cached_html_for_projects' do
+ let(:project) { create(:empty_project, description_html: 'Project description') }
+
+ it 'removes description_html from projects' do
+ subject.remove_cached_html_for_projects([project.id])
+
+ expect(project.reload.description_html).to be_nil
+ end
+
+ it 'removes issue descriptions' do
+ issue = create(:issue, project: project, description_html: 'Issue description')
+
+ subject.remove_cached_html_for_projects([project.id])
+
+ expect(issue.reload.description_html).to be_nil
+ end
+
+ it 'removes merge request descriptions' do
+ merge_request = create(:merge_request,
+ source_project: project,
+ target_project: project,
+ description_html: 'MergeRequest description')
+
+ subject.remove_cached_html_for_projects([project.id])
+
+ expect(merge_request.reload.description_html).to be_nil
+ end
+
+ it 'removes note html' do
+ note = create(:note,
+ project: project,
+ noteable: create(:issue, project: project),
+ note_html: 'note description')
+
+ subject.remove_cached_html_for_projects([project.id])
+
+ expect(note.reload.note_html).to be_nil
+ end
+ end
+
describe '#rename_path_for_routable' do
context 'for namespaces' do
let(:namespace) { create(:namespace, path: 'the-path') }
diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_namespaces_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_namespaces_spec.rb
index 00d6cf0105c..8bb272e7595 100644
--- a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_namespaces_spec.rb
+++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_namespaces_spec.rb
@@ -139,7 +139,13 @@ describe Gitlab::Database::RenameReservedPathsMigration::RenameNamespaces do
subject.rename_namespace(namespace)
end
- it 'invalidates the markdown cache of related projects'
+ it 'invalidates the markdown cache of related projects' do
+ project = create(:empty_project, namespace: namespace, path: "the-path-project")
+
+ expect(subject).to receive(:remove_cached_html_for_projects).with([project.id])
+
+ subject.rename_namespace(namespace)
+ end
end
describe '#rename_namespaces' do
diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_projects_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_projects_spec.rb
index 173ebecb676..f4be5494c4a 100644
--- a/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_projects_spec.rb
+++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/rename_projects_spec.rb
@@ -29,6 +29,23 @@ describe Gitlab::Database::RenameReservedPathsMigration::RenameProjects do
end
end
+ describe '#rename_projects' do
+ let!(:projects) { create_list(:empty_project, 2, path: 'the-path') }
+
+ it 'renames each project' do
+ expect(subject).to receive(:rename_project).twice
+
+ subject.rename_projects
+ end
+
+ it 'invalidates the markdown cache of related projects' do
+ expect(subject).to receive(:remove_cached_html_for_projects).
+ with(projects.map(&:id))
+
+ subject.rename_projects
+ end
+ end
+
describe '#rename_project' do
let(:project) do
create(:empty_project,
@@ -68,8 +85,6 @@ describe Gitlab::Database::RenameReservedPathsMigration::RenameProjects do
subject.rename_project(project)
end
-
- it 'invalidates the markdown cache of related projects'
end
describe '#move_repository' do