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:
authorStan Hu <stanhu@gmail.com>2015-05-07 00:33:39 +0300
committerStan Hu <stanhu@gmail.com>2015-05-07 20:00:35 +0300
commitbf4b4384590c271d1dfadf874d185c2f6130ad0e (patch)
tree8b83f49680900b3d91fbeba28f65c28ed1245dbb /spec/controllers
parent415648e2555e25d30f64f4c2642cf149f6965859 (diff)
Fix bug where avatar filenames were not actually deleted from the database during removal.
This would result in a 404 error in certain views. The `save` call was being rolled back due to an error in the validation step. Relax the validation step so that this works. Closes #1570
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/groups/avatars_controller_spec.rb17
-rw-r--r--spec/controllers/profiles/avatars_controller_spec.rb17
-rw-r--r--spec/controllers/projects/avatars_controller_spec.rb18
3 files changed, 52 insertions, 0 deletions
diff --git a/spec/controllers/groups/avatars_controller_spec.rb b/spec/controllers/groups/avatars_controller_spec.rb
new file mode 100644
index 00000000000..3dac134a731
--- /dev/null
+++ b/spec/controllers/groups/avatars_controller_spec.rb
@@ -0,0 +1,17 @@
+require 'spec_helper'
+
+describe Groups::AvatarsController do
+ let(:user) { create(:user) }
+ let(:group) { create(:group, owner: user, avatar: fixture_file_upload(Rails.root + "spec/fixtures/dk.png", "image/png")) }
+
+ before do
+ sign_in(user)
+ end
+
+ it 'destroy should remove avatar from DB' do
+ delete :destroy, group_id: group.path
+ @group = assigns(:group)
+ expect(@group.avatar.present?).to be_falsey
+ expect(@group).to be_valid
+ end
+end
diff --git a/spec/controllers/profiles/avatars_controller_spec.rb b/spec/controllers/profiles/avatars_controller_spec.rb
new file mode 100644
index 00000000000..ad5855df0a4
--- /dev/null
+++ b/spec/controllers/profiles/avatars_controller_spec.rb
@@ -0,0 +1,17 @@
+require 'spec_helper'
+
+describe Profiles::AvatarsController do
+ let(:user) { create(:user, avatar: fixture_file_upload(Rails.root + "spec/fixtures/dk.png")) }
+
+ before do
+ sign_in(user)
+ controller.instance_variable_set(:@user, user)
+ end
+
+ it 'destroy should remove avatar from DB' do
+ delete :destroy
+ @user = assigns(:user)
+ expect(@user.avatar.present?).to be_falsey
+ expect(@user).to be_valid
+ end
+end
diff --git a/spec/controllers/projects/avatars_controller_spec.rb b/spec/controllers/projects/avatars_controller_spec.rb
new file mode 100644
index 00000000000..e79b46a3504
--- /dev/null
+++ b/spec/controllers/projects/avatars_controller_spec.rb
@@ -0,0 +1,18 @@
+require 'spec_helper'
+
+describe Projects::AvatarsController do
+ let(:project) { create(:project, avatar: fixture_file_upload(Rails.root + "spec/fixtures/dk.png", "image/png")) }
+ let(:user) { create(:user) }
+
+ before do
+ sign_in(user)
+ project.team << [user, :developer]
+ controller.instance_variable_set(:@project, project)
+ end
+
+ it 'destroy should remove avatar from DB' do
+ delete :destroy, namespace_id: project.namespace.id, project_id: project.id
+ expect(project.avatar.present?).to be_falsey
+ expect(project).to be_valid
+ end
+end