mirror of
https://github.com/discourse/discourse.git
synced 2024-11-30 23:35:44 +08:00
731282c2ec
It's very hard to repro but under specific circumstances I suspect it was possible for this sequence to happen: - set message TEXT - cooking starts - set message COOKED through another mean (like a message bus) - the cooking started sooner finished and erases the cooked set at the step before causing the message to have the incorrect cooked
46 lines
1.3 KiB
Ruby
46 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe "Chat message onebox", type: :system, js: true do
|
|
let(:chat_page) { PageObjects::Pages::Chat.new }
|
|
let(:channel_page) { PageObjects::Pages::ChatChannel.new }
|
|
|
|
fab!(:current_user) { Fabricate(:user) }
|
|
fab!(:channel_1) { Fabricate(:category_channel) }
|
|
|
|
before do
|
|
chat_system_bootstrap
|
|
channel_1.add(current_user)
|
|
sign_in(current_user)
|
|
end
|
|
|
|
context "when sending a message with a link" do
|
|
before do
|
|
SiteSetting.enable_inline_onebox_on_all_domains = true
|
|
|
|
full_onebox_html = <<~HTML.chomp
|
|
<aside class="onebox wikipedia" data-onebox-src="https://en.wikipedia.org/wiki/Hyperlink">
|
|
<article class="onebox-body">
|
|
<p>This is a test</p>
|
|
</article>
|
|
</aside>
|
|
HTML
|
|
Oneboxer
|
|
.stubs(:cached_onebox)
|
|
.with("https://en.wikipedia.org/wiki/Hyperlink")
|
|
.returns(full_onebox_html)
|
|
|
|
stub_request(:get, "https://en.wikipedia.org/wiki/Hyperlink").to_return(
|
|
status: 200,
|
|
body: "<html><head><title>a</title></head></html>",
|
|
)
|
|
end
|
|
|
|
it "is oneboxed" do
|
|
chat_page.visit_channel(channel_1)
|
|
channel_page.send_message("https://en.wikipedia.org/wiki/Hyperlink")
|
|
|
|
expect(page).to have_content("This is a test", wait: 20)
|
|
end
|
|
end
|
|
end
|