discourse/spec/serializers/new_post_result_serializer_spec.rb
Robin Ward 7fee3c61de
Support for custom messages and redirects when creating posts (#8434)
* Support for custom messages and redirects when creating posts

When a post/topic is created Discourse serializes a `NewPostResult`
object. Normally this contains a status like `created_post` or
errors describing why the post could not be created.

There are times when a plugin might want to take the inputted post
and do something in the background. In this case, the plugin
can return a custom `message` and `route_to` attribute in the
`NewPostResult`.

If present, the message will be displayed in an alert, and when "Ok" is
clicked the user will be routed to the new URL.

* Destroy the draft in parallel
2019-11-29 09:30:54 -05:00

18 lines
462 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
describe NewPostResultSerializer do
it "includes the message and route_to if present" do
result = NewPostResult.new(:custom, true)
result.message = 'hello :)'
result.route_to = "/cool-route"
serializer = described_class.new(result)
expect(serializer.success).to eq(true)
expect(serializer.message).to eq('hello :)')
expect(serializer.route_to).to eq('/cool-route')
end
end