mirror of
https://github.com/discourse/discourse.git
synced 2026-08-07 11:45:21 -05:00
DEV: correctly returns contract error (#32645)
If a user was using invalid values for the contract we would return "Unexpected error", which is incorrect given we know the exact error. The user will now get the following exception: "Page size must be less than or equal to 50"
This commit is contained in:
@@ -83,6 +83,7 @@ module ChatSDK
|
||||
},
|
||||
) do
|
||||
on_success { |messages:| messages }
|
||||
on_failed_contract { |contract| raise contract.errors.full_messages.join(", ") }
|
||||
on_failed_policy(:can_view_thread) { raise "Guardian can't view thread" }
|
||||
on_failed_policy(:target_message_exists) { raise "Target message doesn't exist" }
|
||||
on_failure { raise "Unexpected error" }
|
||||
|
||||
@@ -126,6 +126,14 @@ describe ChatSDK::Thread do
|
||||
end
|
||||
end
|
||||
|
||||
context "when page_size is too large" do
|
||||
it "fails" do
|
||||
expect { described_class.messages(**params, page_size: 9999) }.to raise_error(
|
||||
"Page size must be less than or equal to 50",
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context "when target_message doesn’t exist" do
|
||||
it "fails" do
|
||||
expect { described_class.messages(**params, target_message_id: -999) }.to raise_error(
|
||||
|
||||
Reference in New Issue
Block a user