mirror of
https://github.com/discourse/discourse.git
synced 2025-05-30 07:11:34 +08:00
DEV: Fix failing chat spec and add unexpected failure indicator (#20299)
This commit fixes the UpdateUserLastRead spec which was checking for a message ID that did not exist -- this could fail at times since message ID 2 could exist. Better to create + destroy a message since then it's guaranteed we have a unique ID. This also attempts to clarify a step that we expect to fail which succeeds instead by adding another emoji next to the success tick and an explanation text. Also removes some uses of unless in Services::Base, we generally prefer to use alternatives, since unless can be hard to parse in a lot of cases. Co-authored-by: Loïc Guitaut <loic@discourse.org>
This commit is contained in:
@ -15,6 +15,7 @@ module Chat
|
||||
end
|
||||
|
||||
def failure_message
|
||||
set_unexpected_result
|
||||
message =
|
||||
if !step_exists?
|
||||
"Expected #{type} '#{name}' (key: '#{step}') was not found in the result object."
|
||||
@ -27,6 +28,7 @@ module Chat
|
||||
end
|
||||
|
||||
def failure_message_when_negated
|
||||
set_unexpected_result
|
||||
message = "Expected #{type} '#{name}' (key: '#{step}') to succeed but it failed."
|
||||
error_message_with_inspection(message)
|
||||
end
|
||||
@ -61,6 +63,11 @@ module Chat
|
||||
inspector = StepsInspector.new(result)
|
||||
"#{message}\n\n#{inspector.inspect}\n\n#{inspector.error}"
|
||||
end
|
||||
|
||||
def set_unexpected_result
|
||||
return unless result[step]
|
||||
result[step]["spec.unexpected_result"] = true
|
||||
end
|
||||
end
|
||||
|
||||
class FailContract < FailStep
|
||||
|
Reference in New Issue
Block a user