From 2a7552f474d140f11a74827a5f5444fde53e332f Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Tue, 22 Jul 2025 18:57:50 +0200 Subject: [PATCH] Add controller test --- .../admin/prompt_sandboxes_controller.rb | 7 +++-- .../admin/prompt_debugs_controller_test.rb | 29 +++++++++++++++++++ .../activity_summaries_controller_test.rb | 15 ++++++++++ 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 test/controllers/admin/prompt_debugs_controller_test.rb create mode 100644 test/controllers/events/activity_summaries_controller_test.rb diff --git a/app/controllers/admin/prompt_sandboxes_controller.rb b/app/controllers/admin/prompt_sandboxes_controller.rb index 31b1aa9dc..36b693a0b 100644 --- a/app/controllers/admin/prompt_sandboxes_controller.rb +++ b/app/controllers/admin/prompt_sandboxes_controller.rb @@ -7,9 +7,10 @@ class Admin::PromptSandboxesController < AdminController end def create - cookies[:prompt] = params[:prompt] - day = Time.zone.parse(params[:day]) - redirect_to admin_prompt_sandbox_path(day: day.to_date) + @prompt = params[:prompt] + cookies[:prompt] = @prompt + @summary, @summarizable_content = summarize(@day_timeline, @prompt) + render :show end private diff --git a/test/controllers/admin/prompt_debugs_controller_test.rb b/test/controllers/admin/prompt_debugs_controller_test.rb new file mode 100644 index 000000000..d9ae77719 --- /dev/null +++ b/test/controllers/admin/prompt_debugs_controller_test.rb @@ -0,0 +1,29 @@ +require "test_helper" + +class Admin::PromptSandboxesControllerTest < ActionDispatch::IntegrationTest + setup do + sign_in_as :kevin + end + + test "show renders the form with default prompt" do + get admin_prompt_sandbox_path + + assert_response :success + assert_select "form[action=?]", admin_prompt_sandbox_path + assert_select "textarea[name=?]", "prompt" + assert_select "input[type=submit]" + end + + test "create processes prompt and renders show with summary" do + test_prompt = "Test prompt for summarization" + + post admin_prompt_sandbox_path, params: { prompt: test_prompt } + + assert_response :success + assert_select "form[action=?]", admin_prompt_sandbox_path + assert_select "textarea[name=?]", "prompt" + assert_select "input[type=submit]" + # The summary should be rendered outside the form + assert_match /summary/, response.body.downcase + end +end diff --git a/test/controllers/events/activity_summaries_controller_test.rb b/test/controllers/events/activity_summaries_controller_test.rb new file mode 100644 index 000000000..37ea10558 --- /dev/null +++ b/test/controllers/events/activity_summaries_controller_test.rb @@ -0,0 +1,15 @@ +require "test_helper" + +class Events::ActivitySummariesControllerTest < ActionDispatch::IntegrationTest + setup do + sign_in_as :kevin + end + + test "create" do + assert_difference -> { Event::ActivitySummary.count }, +1 do + perform_enqueued_jobs only: User::DayTimeline::SummarizeJob do + post events_activity_summaries_path(day: Date.current) + end + end + end +end