diff --git a/Gemfile.lock b/Gemfile.lock index 5f237a2b5..eb538ee44 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,9 +1,9 @@ GIT remote: https://github.com/18F/omniauth_login_dot_gov.git - revision: 616a865a0d2ac8b5e01c07a5809bc37a10cfc42b + revision: b4d30dc92f2659e46680161bf02550ba424d768e branch: main specs: - omniauth_login_dot_gov (2.2.0) + omniauth_login_dot_gov (3.0.0) faraday (~> 2.0) json-jwt (~> 1.11) jwt (~> 2.2) @@ -102,11 +102,11 @@ GEM public_suffix (>= 2.0.2, < 7.0) aes_key_wrap (1.1.0) ast (2.4.2) - aws-eventstream (1.3.1) - aws-partitions (1.1056.0) + aws-eventstream (1.3.2) + aws-partitions (1.1064.0) aws-record (2.13.2) aws-sdk-dynamodb (~> 1, >= 1.85.0) - aws-sdk-core (3.219.0) + aws-sdk-core (3.220.1) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -345,7 +345,7 @@ GEM mime-types (3.6.0) logger mime-types-data (~> 3.2015) - mime-types-data (3.2025.0220) + mime-types-data (3.2025.0304) mini_magick (5.2.0) benchmark logger @@ -431,7 +431,7 @@ GEM puma (6.6.0) nio4r (~> 2.0) racc (1.8.1) - rack (3.1.10) + rack (3.1.12) rack-attack (6.7.0) rack (>= 1.0, < 4) rack-cors (2.0.2) @@ -494,7 +494,7 @@ GEM psych (>= 4.0.0) redis (5.4.0) redis-client (>= 0.22.0) - redis-client (0.23.2) + redis-client (0.24.0) connection_pool redis-namespace (1.11.0) redis (>= 4) @@ -527,7 +527,7 @@ GEM rspec-support (3.13.2) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.73.1) + rubocop (1.73.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -540,7 +540,7 @@ GEM unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.38.1) parser (>= 3.3.1.0) - rubocop-rails (2.30.2) + rubocop-rails (2.30.3) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) @@ -571,12 +571,12 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sidekiq (7.3.9) - base64 - connection_pool (>= 2.3.0) - logger - rack (>= 2.2.4) - redis-client (>= 0.22.2) + sidekiq (8.0.1) + connection_pool (>= 2.5.0) + json (>= 2.9.0) + logger (>= 1.6.2) + rack (>= 3.1.0) + redis-client (>= 0.23.2) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -601,9 +601,9 @@ GEM thread_safe (0.3.6) tilt (2.6.0) timeout (0.4.3) - turbo-rails (2.0.11) - actionpack (>= 6.0.0) - railties (>= 6.0.0) + turbo-rails (2.0.13) + actionpack (>= 7.1.0) + railties (>= 7.1.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (3.1.4) diff --git a/app/controllers/admin/cx_action_plans_controller.rb b/app/controllers/admin/cx_action_plans_controller.rb deleted file mode 100644 index d2dff6c4e..000000000 --- a/app/controllers/admin/cx_action_plans_controller.rb +++ /dev/null @@ -1,63 +0,0 @@ -class Admin::CxActionPlansController < AdminController - before_action :set_cx_action_plan, only: %i[ show edit update destroy ] - - def index - @cx_action_plans = CxActionPlan.all - end - - def show - end - - def new - @service_providers = ServiceProvider.all.includes(:organization).order('organizations.name', 'service_providers.name') - @cx_action_plan = CxActionPlan.new - end - - def edit - @service_providers = ServiceProvider.all.includes(:organization).order('organizations.name', 'service_providers.name') - end - - def create - @cx_action_plan = CxActionPlan.new(cx_action_plan_params) - - respond_to do |format| - if @cx_action_plan.save - format.html { redirect_to admin_cx_action_plan_url(@cx_action_plan), notice: "Cx action plan was successfully created." } - format.json { render :show, status: :created, location: @cx_action_plan } - else - format.html { render :new, status: :unprocessable_entity } - format.json { render json: @cx_action_plan.errors, status: :unprocessable_entity } - end - end - end - - def update - respond_to do |format| - if @cx_action_plan.update(cx_action_plan_params) - format.html { redirect_to admin_cx_action_plan_url(@cx_action_plan), notice: "Cx action plan was successfully updated." } - format.json { render :show, status: :ok, location: @cx_action_plan } - else - format.html { render :edit, status: :unprocessable_entity } - format.json { render json: @cx_action_plan.errors, status: :unprocessable_entity } - end - end - end - - def destroy - @cx_action_plan.destroy - - respond_to do |format| - format.html { redirect_to cx_action_plans_url, notice: "Cx action plan was successfully destroyed." } - format.json { head :no_content } - end - end - - private - def set_cx_action_plan - @cx_action_plan = CxActionPlan.find(params[:id]) - end - - def cx_action_plan_params - params.require(:cx_action_plan).permit(:service_provider_id, :year, :delivered_current_year, :to_deliver_next_year) - end -end diff --git a/app/views/admin/cx_action_plans/_cx_action_plan.html.erb b/app/views/admin/cx_action_plans/_cx_action_plan.html.erb deleted file mode 100644 index 689c5c99a..000000000 --- a/app/views/admin/cx_action_plans/_cx_action_plan.html.erb +++ /dev/null @@ -1,22 +0,0 @@ -
-

- Service provider: - <%= cx_action_plan.service_provider_id %> -

- -

- Year: - <%= cx_action_plan.year %> -

- -

- Delivered current year: - <%= cx_action_plan.delivered_current_year %> -

- -

- To deliver next year: - <%= cx_action_plan.to_deliver_next_year %> -

- -
diff --git a/app/views/admin/cx_action_plans/_form.html.erb b/app/views/admin/cx_action_plans/_form.html.erb deleted file mode 100644 index d2a2ddec3..000000000 --- a/app/views/admin/cx_action_plans/_form.html.erb +++ /dev/null @@ -1,37 +0,0 @@ -<%= form_with(model: cx_action_plan, url: cx_action_plan.persisted? ? admin_cx_action_plan_path : admin_cx_action_plans_path, local: true, data: { turbo: false }) do |form| %> - <%- if cx_action_plan.errors.any? %> -
-

<%= pluralize(cx_action_plan.errors.count, "error") %> prohibited this cx_action_plan from being saved:

- - -
- <% end %> - -
- <%= form.label :service_provider_id, class: "usa-label" %> - <%= form.select :service_provider_id, options_for_select(@service_providers.map { |p| ["#{p.organization.abbreviation} - #{p.name}", p.id] }, cx_action_plan.service_provider_id), { prompt: "Which Service Provider?" }, { class: "usa-select" } %> -
- -
- <%= form.label :year, class: "usa-label" %> - <%= form.number_field :year, class: "usa-input" %> -
- -
- <%= form.label :delivered_current_year, class: "usa-label" %> - <%= form.text_area :delivered_current_year, class: "usa-textarea" %> -
- -
- <%= form.label :to_deliver_next_year, class: "usa-label" %> - <%= form.text_area :to_deliver_next_year, class: "usa-textarea" %> -
- -

- <%= form.submit class: "usa-button" %> -

-<% end %> diff --git a/app/views/admin/cx_action_plans/edit.html.erb b/app/views/admin/cx_action_plans/edit.html.erb deleted file mode 100644 index f826fa8ef..000000000 --- a/app/views/admin/cx_action_plans/edit.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -<% content_for :navigation_title do %> - Editing CX Action Plan -<% end %> - -

- <%= link_to admin_cx_action_plan_path(@cx_action_plan) do %> - - Back to CX Action Plan - <% end %> -

-

- -<%= render "form", cx_action_plan: @cx_action_plan %> diff --git a/app/views/admin/cx_action_plans/index.html.erb b/app/views/admin/cx_action_plans/index.html.erb deleted file mode 100644 index 640d2a596..000000000 --- a/app/views/admin/cx_action_plans/index.html.erb +++ /dev/null @@ -1,44 +0,0 @@ -<% content_for :navigation_title do %> - CX Action Plans - - <%= link_to new_admin_cx_action_plan_path, class: "usa-button usa-button-inverted float-right" do %> - - New CX Action Plan - <% end %> -<% end %> - -
- - - - - - - - - - <% @cx_action_plans.each do |cx_action_plan| %> - - - - - - - <% end %> -
- Organization name - - Service Provider name - - Year - -
- <%= cx_action_plan.service_provider.organization.name %> - - <%= cx_action_plan.service_provider.name %> - - <%= cx_action_plan.year %> - - <%= link_to 'View', admin_cx_action_plan_path(cx_action_plan) %> -
-
diff --git a/app/views/admin/cx_action_plans/new.html.erb b/app/views/admin/cx_action_plans/new.html.erb deleted file mode 100644 index b6ae15f2f..000000000 --- a/app/views/admin/cx_action_plans/new.html.erb +++ /dev/null @@ -1,11 +0,0 @@ -<% content_for :navigation_title do %> - New CX Action Plan -<% end %> -

- <%= link_to admin_cx_action_plans_path do %> - - Back to CX Action Plans - <% end %> -

- -<%= render "form", cx_action_plan: @cx_action_plan %> diff --git a/app/views/admin/cx_action_plans/show.html.erb b/app/views/admin/cx_action_plans/show.html.erb deleted file mode 100644 index edd16a422..000000000 --- a/app/views/admin/cx_action_plans/show.html.erb +++ /dev/null @@ -1,46 +0,0 @@ -<% content_for :navigation_title do %> - CX Action Plan - <%= link_to edit_admin_cx_action_plan_path(@cx_action_plan), class: "usa-button usa-button-inverted float-right" do %> - - Edit - <% end %> -<% end %> -

- <%= link_to admin_cx_action_plans_path do %> - - Back to CX Action Plans - <% end %> -

- -
> -

- Organization name: - <%= @cx_action_plan.service_provider.organization.name %> -

- -

- Service provider: - <%= link_to @cx_action_plan.service_provider.name, admin_service_provider_path(@cx_action_plan.service_provider) %> -

- -

- Year: - <%= @cx_action_plan.year %> -

- -

- Delivered current year: - <%= to_markdown(@cx_action_plan.delivered_current_year) %> -

- -

- To deliver next year: - <%= to_markdown(@cx_action_plan.to_deliver_next_year) %> -

-
- -
-
- <%= button_to "Destroy", admin_cx_action_plan_path(@cx_action_plan), class: "usa-button usa-button--secondary float-right", method: :delete %> -
-
diff --git a/config/routes.rb b/config/routes.rb index 67e235504..5498ffeb4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -47,7 +47,6 @@ resources :forms, only: %i[index show] resources :websites, only: [:index] resources :service_providers, only: [:index] - resources :cx_action_plans, only: %i[index show] resources :services, only: %i[index show] resources :personas, only: [:index] resources :users, only: [:index] @@ -105,7 +104,6 @@ delete 'remove_service_provider_manager', to: 'service_providers#remove_service_provider_manager', as: :remove_service_provider_manager end end - resources :cx_action_plans resources :services do collection do get 'catalog', to: 'services#catalog', as: :catalog diff --git a/db/migrate/20250307211304_rm_cx_action_plans.rb b/db/migrate/20250307211304_rm_cx_action_plans.rb new file mode 100644 index 000000000..38ac95dda --- /dev/null +++ b/db/migrate/20250307211304_rm_cx_action_plans.rb @@ -0,0 +1,5 @@ +class RmCxActionPlans < ActiveRecord::Migration[8.0] + def change + drop_table :cx_action_plans + end +end diff --git a/db/schema.rb b/db/schema.rb index cd63ff1f6..543986efe 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.0].define(version: 2025_02_27_193906) do +ActiveRecord::Schema[8.0].define(version: 2025_03_07_211304) do # These are extensions that must be enabled in order to support this database enable_extension "pg_catalog.plpgsql" @@ -69,15 +69,6 @@ t.index ["user_id"], name: "index_collections_on_user_id" end - create_table "cx_action_plans", force: :cascade do |t| - t.integer "service_provider_id" - t.integer "year" - t.text "delivered_current_year" - t.text "to_deliver_next_year" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - end - create_table "cx_collection_detail_uploads", force: :cascade do |t| t.integer "user_id" t.integer "cx_collection_detail_id" diff --git a/spec/requests/admin/cx_action_plans_spec.rb b/spec/requests/admin/cx_action_plans_spec.rb deleted file mode 100644 index a4ee7f117..000000000 --- a/spec/requests/admin/cx_action_plans_spec.rb +++ /dev/null @@ -1,141 +0,0 @@ -require 'rails_helper' - -# This spec was generated by rspec-rails when you ran the scaffold generator. -# It demonstrates how one might use RSpec to test the controller code that -# was generated by Rails when you ran the scaffold generator. -# -# It assumes that the implementation code is generated by the rails scaffold -# generator. If you are using any extension libraries to generate different -# controller code, this generated spec may or may not pass. -# -# It only uses APIs available in rails and/or rspec-rails. There are a number -# of tools you can use to make these specs even more expressive, but we're -# sticking to rails and rspec-rails APIs to keep things simple and stable. - -RSpec.describe "/admin/cx_action_plans", type: :request do - - # This should return the minimal set of attributes required to create a valid - # CxActionPlan. As you add validations to CxActionPlan, be sure to - # adjust the attributes here as well. - let(:valid_attributes) { - skip("Add a hash of attributes valid for your model") - } - - let(:invalid_attributes) { - skip("Add a hash of attributes invalid for your model") - } - - describe "GET /index" do - it "renders a successful response" do - CxActionPlan.create! valid_attributes - get admin_cx_action_plans_url - expect(response).to be_successful - end - end - - describe "GET /show" do - it "renders a successful response" do - cx_action_plan = CxActionPlan.create! valid_attributes - get admin_cx_action_plan_url(cx_action_plan) - expect(response).to be_successful - end - end - - describe "GET /new" do - let(:user) { FactoryBot.create(:user, :admin) } - - before do - sign_in(user) - end - - it "renders a successful response" do - get new_admin_cx_action_plan_url - expect(response).to be_successful - end - end - - describe "GET /edit" do - it "renders a successful response" do - cx_action_plan = CxActionPlan.create! valid_attributes - get edit_admin_cx_action_plan_url(cx_action_plan) - expect(response).to be_successful - end - end - - describe "POST /create" do - context "with valid parameters" do - it "creates a new CxActionPlan" do - expect { - post admin_cx_action_plans_url, params: { cx_action_plan: valid_attributes } - }.to change(CxActionPlan, :count).by(1) - end - - it "redirects to the created cx_action_plan" do - post admin_cx_action_plans_url, params: { cx_action_plan: valid_attributes } - expect(response).to redirect_to(cx_action_plan_url(CxActionPlan.last)) - end - end - - context "with invalid parameters" do - it "does not create a new CxActionPlan" do - expect { - post admin_cx_action_plans_url, params: { cx_action_plan: invalid_attributes } - }.to change(CxActionPlan, :count).by(0) - end - - - it "renders a response with 422 status (i.e. to display the 'new' template)" do - post admin_cx_action_plans_url, params: { cx_action_plan: invalid_attributes } - expect(response).to have_http_status(:unprocessable_entity) - end - - end - end - - describe "PATCH /update" do - context "with valid parameters" do - let(:new_attributes) { - skip("Add a hash of attributes valid for your model") - } - - it "updates the requested cx_action_plan" do - cx_action_plan = CxActionPlan.create! valid_attributes - patch admin_cx_action_plan_url(cx_action_plan), params: { cx_action_plan: new_attributes } - cx_action_plan.reload - skip("Add assertions for updated state") - end - - it "redirects to the cx_action_plan" do - cx_action_plan = CxActionPlan.create! valid_attributes - patch admin_cx_action_plan_url(cx_action_plan), params: { cx_action_plan: new_attributes } - cx_action_plan.reload - expect(response).to redirect_to(cx_action_plan_url(cx_action_plan)) - end - end - - context "with invalid parameters" do - - it "renders a response with 422 status (i.e. to display the 'edit' template)" do - cx_action_plan = CxActionPlan.create! valid_attributes - patch cx_action_plan_url(cx_action_plan), params: { cx_action_plan: invalid_attributes } - expect(response).to have_http_status(:unprocessable_entity) - end - - end - end - - describe "DELETE /destroy" do - it "destroys the requested cx_action_plan" do - cx_action_plan = CxActionPlan.create! valid_attributes - expect { - delete cx_action_plan_url(cx_action_plan) - }.to change(CxActionPlan, :count).by(-1) - end - - it "redirects to the cx_action_plans list" do - cx_action_plan = CxActionPlan.create! valid_attributes - delete cx_action_plan_url(cx_action_plan) - expect(response).to redirect_to(cx_action_plans_url) - end - end -end