Allow to destroy SDG local targets

This commit is contained in:
Senén Rodero Rodríguez
2020-11-25 15:25:51 +01:00
parent a211937744
commit 8f7809ddb4
6 changed files with 26 additions and 3 deletions

View File

@@ -24,7 +24,7 @@ class SDGManagement::LocalTargets::IndexComponent < ApplicationComponent
def actions(local_target)
render Admin::TableActionsComponent.new(
local_target,
actions: [:edit],
edit_path: edit_sdg_management_local_target_path(local_target))
edit_path: edit_sdg_management_local_target_path(local_target),
destroy_path: sdg_management_local_target_path(local_target))
end
end

View File

@@ -35,6 +35,12 @@ class SDGManagement::LocalTargetsController < SDGManagement::BaseController
end
end
def destroy
@local_target = LocalTarget.find(params[:id])
@local_target.destroy!
redirect_to sdg_management_local_targets_path, notice: t("sdg_management.local_targets.destroy.notice")
end
private
def local_target_params

View File

@@ -7,6 +7,8 @@ en:
local_targets:
create:
notice: "Local target created successfully"
destroy:
notice: "Local target deleted successfully"
edit:
title: "Edit local target"
form:

View File

@@ -7,6 +7,8 @@ es:
local_targets:
create:
notice: "Meta localizada creada correctamente"
destroy:
notice: "Meta localizada eliminada correctamente"
edit:
title: "Editar meta localizada"
form:

View File

@@ -3,5 +3,5 @@ namespace :sdg_management do
resources :goals, only: [:index]
resources :targets, only: [:index]
resources :local_targets, only: [:index, :new, :create, :edit, :update]
resources :local_targets, except: [:show]
end

View File

@@ -16,6 +16,7 @@ describe "Local Targets", :js do
expect(page).to have_title "SDG content - Local Targets"
within("table tr", text: "Affordable food") do
expect(page).to have_link "Edit"
expect(page).to have_link "Delete"
end
expect(page).to have_link "Create local target"
end
@@ -84,4 +85,16 @@ describe "Local Targets", :js do
expect(page).to have_content("1 error prevented this local target from being saved.")
end
end
describe "Destroy" do
scenario "Shows succesful notice when local target is destroyed successfully" do
create(:sdg_local_target, code: "1.1.1")
visit sdg_management_local_targets_path
accept_confirm { click_link "Delete" }
expect(page).to have_content("Local target deleted successfully")
expect(page).not_to have_content("1.1.1")
end
end
end