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) def actions(local_target)
render Admin::TableActionsComponent.new( render Admin::TableActionsComponent.new(
local_target, 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
end end

View File

@@ -35,6 +35,12 @@ class SDGManagement::LocalTargetsController < SDGManagement::BaseController
end end
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 private
def local_target_params def local_target_params

View File

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

View File

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

View File

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

View File

@@ -16,6 +16,7 @@ describe "Local Targets", :js do
expect(page).to have_title "SDG content - Local Targets" expect(page).to have_title "SDG content - Local Targets"
within("table tr", text: "Affordable food") do within("table tr", text: "Affordable food") do
expect(page).to have_link "Edit" expect(page).to have_link "Edit"
expect(page).to have_link "Delete"
end end
expect(page).to have_link "Create local target" expect(page).to have_link "Create local target"
end end
@@ -84,4 +85,16 @@ describe "Local Targets", :js do
expect(page).to have_content("1 error prevented this local target from being saved.") expect(page).to have_content("1 error prevented this local target from being saved.")
end end
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 end