diff options
author | Stan Hu <stanhu@gmail.com> | 2015-05-06 14:33:39 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2015-05-07 10:00:35 -0700 |
commit | bf4b4384590c271d1dfadf874d185c2f6130ad0e (patch) | |
tree | 8b83f49680900b3d91fbeba28f65c28ed1245dbb /spec/controllers | |
parent | 415648e2555e25d30f64f4c2642cf149f6965859 (diff) | |
download | gitlab-ce-bf4b4384590c271d1dfadf874d185c2f6130ad0e.tar.gz |
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.rb | 17 | ||||
-rw-r--r-- | spec/controllers/profiles/avatars_controller_spec.rb | 17 | ||||
-rw-r--r-- | spec/controllers/projects/avatars_controller_spec.rb | 18 |
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 |