Skip to content
Snippets Groups Projects
Commit ac00009f authored by Felipe Artur's avatar Felipe Artur
Browse files

Allow to delete tag release note

parent 10d4b20a
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -10,7 +10,14 @@ class Projects::ReleasesController < Projects::ApplicationController
end
 
def update
release.update_attributes(release_params)
# Release belongs to Tag which is not active record object,
# it exists only to save a description to each Tag.
# If description is empty we should destroy the existing record.
if release_params[:description].present?
release.update_attributes(release_params)
else
release.destroy
end
 
redirect_to namespace_project_tag_path(@project.namespace, @project, @tag.name)
end
Loading
Loading
---
title: Allow to delete tag release note
merge_request:
author:
require 'spec_helper'
describe Projects::ReleasesController do
let!(:project) { create(:project) }
let!(:user) { create(:user) }
let!(:release) { create(:release, project: project) }
let!(:tag) { release.tag }
before do
project.team << [user, :developer]
sign_in(user)
end
describe 'GET #edit' do
it 'initializes a new release' do
tag_id = release.tag
project.releases.destroy_all
get :edit, namespace_id: project.namespace.path, project_id: project.path, tag_id: tag_id
release = assigns(:release)
expect(release).not_to be_nil
expect(release).not_to be_persisted
end
it 'retrieves an existing release' do
get :edit, namespace_id: project.namespace.path, project_id: project.path, tag_id: release.tag
release = assigns(:release)
expect(release).not_to be_nil
expect(release).to be_persisted
end
end
describe 'PUT #update' do
it 'updates release note description' do
update_release('description updated')
release = project.releases.find_by_tag(tag)
expect(release.description).to eq("description updated")
end
it 'deletes release note when description is null' do
expect { update_release('') }.to change(project.releases, :count).by(-1)
end
end
def update_release(description)
put :update,
namespace_id: project.namespace.to_param,
project_id: project.to_param,
tag_id: release.tag,
release: { description: description }
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment