From a8a3f334ce23ef72cd9bbf07ad76ae8de58237a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sen=C3=A9n=20Rodero=20Rodr=C3=ADguez?= Date: Wed, 8 May 2019 19:50:49 +0200 Subject: [PATCH] Add edit and update actions --- .../admin/local_census_records_controller.rb | 9 ++++++ .../admin/local_census_records/edit.html.erb | 10 ++++++ config/locales/en/admin.yml | 4 +++ config/locales/es/admin.yml | 4 +++ .../admin/local_census_records_spec.rb | 32 +++++++++++++++++++ 5 files changed, 59 insertions(+) create mode 100644 app/views/admin/local_census_records/edit.html.erb diff --git a/app/controllers/admin/local_census_records_controller.rb b/app/controllers/admin/local_census_records_controller.rb index 190b28d31..5d91077b4 100644 --- a/app/controllers/admin/local_census_records_controller.rb +++ b/app/controllers/admin/local_census_records_controller.rb @@ -16,6 +16,15 @@ class Admin::LocalCensusRecordsController < Admin::BaseController end end + def update + if @local_census_record.update(local_census_record_params) + redirect_to admin_local_census_records_path, + notice: t("admin.local_census_records.update.notice") + else + render :edit + end + end + private def local_census_record_params diff --git a/app/views/admin/local_census_records/edit.html.erb b/app/views/admin/local_census_records/edit.html.erb new file mode 100644 index 000000000..bc0ff68b3 --- /dev/null +++ b/app/views/admin/local_census_records/edit.html.erb @@ -0,0 +1,10 @@ +
+ +
+ <%= back_link_to admin_local_census_records_path %> + +

<%= t("admin.local_census_records.edit.editing") %>

+ + <%= render "form" %> +
+
diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index 5d078a2e3..1dda1b0e5 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -1682,3 +1682,7 @@ en: creating: Creating new local census record create: notice: New local census record created successfully! + edit: + editing: Editing local census record + update: + notice: Local census record updated successfully! diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 151a05196..66670f844 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -1680,3 +1680,7 @@ es: creating: Creando nuevo registro de censo local create: notice: ¡Nuevo registro de censo local creado correctamente! + edit: + editing: Editando registro del censo local + update: + notice: ¡Registro del censo local actualizado correctamente! \ No newline at end of file diff --git a/spec/features/admin/local_census_records_spec.rb b/spec/features/admin/local_census_records_spec.rb index 1b646ea13..32c02bf9b 100644 --- a/spec/features/admin/local_census_records_spec.rb +++ b/spec/features/admin/local_census_records_spec.rb @@ -101,4 +101,36 @@ feature "Admin local census records" do expect(page).to have_content "07003" end end + + context "Update" do + let!(:local_census_record) { create(:local_census_record) } + + scenario "Should show validation errors" do + visit edit_admin_local_census_record_path(local_census_record) + + fill_in :local_census_record_document_number, with: "" + click_on "Save" + + expect(page).to have_content "1 error prevented this Local Census Record from being saved." + expect(page).to have_content "can't be blank", count: 1 + end + + scenario "Should show successful notice after valid update" do + visit edit_admin_local_census_record_path(local_census_record) + + fill_in :local_census_record_document_type, with: "NIE" + fill_in :local_census_record_document_number, with: "#NIE_NUMBER" + select "1982" , from: :local_census_record_date_of_birth_1i + select "August" , from: :local_census_record_date_of_birth_2i + select "8" , from: :local_census_record_date_of_birth_3i + fill_in :local_census_record_postal_code, with: "07007" + click_on "Save" + + expect(page).to have_content "Local census record updated successfully!" + expect(page).to have_content "NIE" + expect(page).to have_content "#NIE_NUMBER" + expect(page).to have_content "1982-08-08" + expect(page).to have_content "07007" + end + end end