mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 09:42:07 +08:00
FIX: creating an automation without script should error (#28752)
This commit ensure we are properly showing an error to the end user and not just a vague 500.
This commit is contained in:
parent
1a96269be0
commit
67ce50c141
|
@ -27,7 +27,8 @@ module DiscourseAutomation
|
|||
DiscourseAutomation::Automation.new(
|
||||
automation_params.merge(last_updated_by_id: current_user.id),
|
||||
)
|
||||
if automation.scriptable.forced_triggerable
|
||||
|
||||
if automation.scriptable&.forced_triggerable
|
||||
automation.trigger = scriptable.forced_triggerable[:triggerable].to_s
|
||||
end
|
||||
|
||||
|
|
20
plugins/automation/spec/system/new_automation_spec.rb
Normal file
20
plugins/automation/spec/system/new_automation_spec.rb
Normal file
|
@ -0,0 +1,20 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
describe "DiscourseAutomation | New automation", type: :system, js: true do
|
||||
fab!(:admin)
|
||||
|
||||
before do
|
||||
SiteSetting.discourse_automation_enabled = true
|
||||
sign_in(admin)
|
||||
end
|
||||
|
||||
let(:new_automation_page) { PageObjects::Pages::NewAutomation.new }
|
||||
|
||||
context "when the script is not selected" do
|
||||
it "shows an error" do
|
||||
new_automation_page.visit.fill_name("aaaaa").create
|
||||
|
||||
expect(new_automation_page).to have_error(I18n.t("errors.messages.blank"))
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,26 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module PageObjects
|
||||
module Pages
|
||||
class NewAutomation < PageObjects::Pages::Base
|
||||
def visit
|
||||
super("/admin/plugins/discourse-automation/new")
|
||||
self
|
||||
end
|
||||
|
||||
def fill_name(name)
|
||||
find_field("automation-name").fill_in(with: name)
|
||||
self
|
||||
end
|
||||
|
||||
def create
|
||||
find(".create-automation").click
|
||||
self
|
||||
end
|
||||
|
||||
def has_error?(message)
|
||||
find(".form-errors").has_text?(message)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user