From 4861baafc985f532071e24929d78199c5b08f683 Mon Sep 17 00:00:00 2001 From: Brooke Kuhlmann Date: Tue, 19 May 2026 09:01:16 -0600 Subject: [PATCH] Added extension factory safe defaults Necessary to provide safe defaults which match the database schema for less setup across the specs. This change also required updating some affected specs since the new defaults caused a slight change in behavior. Milestone: patch --- spec/app/aspects/jobs/schedule_spec.rb | 2 +- spec/app/structs/extension_spec.rb | 8 ++++---- spec/app/views/parts/extension_spec.rb | 2 +- spec/features/extension_exchanges_spec.rb | 2 +- spec/support/factories/extension.rb | 6 ++++++ 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/spec/app/aspects/jobs/schedule_spec.rb b/spec/app/aspects/jobs/schedule_spec.rb index 9c219839..a1084e0e 100644 --- a/spec/app/aspects/jobs/schedule_spec.rb +++ b/spec/app/aspects/jobs/schedule_spec.rb @@ -17,7 +17,7 @@ RSpec.describe Terminus::Aspects::Jobs::Schedule do expect(sidekiq.get_all_schedules).to eq( "extension-test" => { - "cron" => "* * * * * UTC", + "cron" => "*/1 * * * * UTC", "class" => "Terminus::Jobs::Batches::Extension", "args" => [1], "description" => "The Test extension update schedule." diff --git a/spec/app/structs/extension_spec.rb b/spec/app/structs/extension_spec.rb index c1c56b0a..d498e01c 100644 --- a/spec/app/structs/extension_spec.rb +++ b/spec/app/structs/extension_spec.rb @@ -22,14 +22,14 @@ RSpec.describe Terminus::Structs::Extension do label: "Test", description: nil, kind: "poll", - mode: nil, - tags: nil, + mode: "text", + tags: [], static_body: nil, fields: [], data: {}, - days: nil, + days: [], interval: 5, - last_day_of_month: nil, + last_day_of_month: false, start_at: "2025-01-02T03:04:05+00:00", unit: "minute" ) diff --git a/spec/app/views/parts/extension_spec.rb b/spec/app/views/parts/extension_spec.rb index 0bc2126f..f7dbc692 100644 --- a/spec/app/views/parts/extension_spec.rb +++ b/spec/app/views/parts/extension_spec.rb @@ -45,11 +45,11 @@ RSpec.describe Terminus::Views::Parts::Extension do end it "answers empty array string when empty" do - allow(extension).to receive(:days).and_return([]) expect(part.formatted_days).to eq("") end it "answers empty array string when nil" do + allow(extension).to receive(:days).and_return(nil) expect(part.formatted_days).to eq("") end end diff --git a/spec/features/extension_exchanges_spec.rb b/spec/features/extension_exchanges_spec.rb index dc97e719..135885f0 100644 --- a/spec/features/extension_exchanges_spec.rb +++ b/spec/features/extension_exchanges_spec.rb @@ -35,7 +35,7 @@ RSpec.describe "Extension Exchanges", :db do exchange visit routes.path(:extension_exchanges, extension_id: extension.id) - within "td.bit-actions", text: extension.template do + within "td.bit-actions" do accept_prompt { click_button "Delete" } end diff --git a/spec/support/factories/extension.rb b/spec/support/factories/extension.rb index 8c0b4bfc..4df1d4c1 100644 --- a/spec/support/factories/extension.rb +++ b/spec/support/factories/extension.rb @@ -3,11 +3,17 @@ Factory.define :extension, relation: :extension do |factory| factory.sequence(:name) { "extension_#{it}" } factory.sequence(:label) { "Extension #{it}" } + factory.mode "text" factory.kind "poll" + factory.tags [] + factory.template "

{{source_1.label}}

" factory.data Hash.new factory.fields [] factory.start_at Time.utc(2025, 1, 1, 0, 0, 0) + factory.interval 1 factory.unit "none" + factory.days [] + factory.last_day_of_month false factory.trait :with_logo do |trait| trait.logo_data do