mirror of
https://github.com/discourse/discourse.git
synced 2025-02-20 11:48:26 -06:00
DEV: after has been proven problematic in other tests (#21358)
It seems more reliable to revert state at the end of the it block. In another PR I noticed that the network state was leaking in other tests when I was reverting in the after block. Also trashes a suspicious spec.
This commit is contained in:
parent
393e6b4797
commit
ed077cf3f1
@ -1,58 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
RSpec.describe "Network reconciliation", type: :system, js: true do
|
|
||||||
fab!(:current_user) { Fabricate(:user) }
|
|
||||||
fab!(:other_user) { Fabricate(:user) }
|
|
||||||
fab!(:channel_1) { Fabricate(:category_channel) }
|
|
||||||
|
|
||||||
let(:chat_page) { PageObjects::Pages::Chat.new }
|
|
||||||
let(:chat_channel_page) { PageObjects::Pages::ChatChannel.new }
|
|
||||||
|
|
||||||
before do
|
|
||||||
chat_system_bootstrap
|
|
||||||
channel_1.add(current_user)
|
|
||||||
channel_1.add(other_user)
|
|
||||||
end
|
|
||||||
|
|
||||||
context "when user recovers network" do
|
|
||||||
it "recovers state" do
|
|
||||||
using_session(:disconnected_current_user) do
|
|
||||||
sign_in(current_user)
|
|
||||||
visit("/")
|
|
||||||
page.driver.browser.network_conditions = { offline: true, latency: 0, throughput: 0 }
|
|
||||||
end
|
|
||||||
|
|
||||||
using_session(:other_user) do |session|
|
|
||||||
sign_in(other_user)
|
|
||||||
chat_page.visit_channel(channel_1)
|
|
||||||
chat_channel_page.send_message("hello @#{current_user.username}!")
|
|
||||||
session.quit
|
|
||||||
end
|
|
||||||
|
|
||||||
using_session(:connected_current_user) do |session|
|
|
||||||
sign_in(current_user)
|
|
||||||
visit("/")
|
|
||||||
expect(page).to have_css(".chat-header-icon .chat-channel-unread-indicator")
|
|
||||||
chat_page.visit_channel(channel_1)
|
|
||||||
expect(page).to have_no_css(".chat-header-icon .chat-channel-unread-indicator")
|
|
||||||
session.quit
|
|
||||||
end
|
|
||||||
|
|
||||||
using_session(:disconnected_current_user) do |session|
|
|
||||||
expect(page).to have_no_css(".chat-header-icon .chat-channel-unread-indicator")
|
|
||||||
page.driver.browser.network_conditions = { offline: false, latency: 0, throughput: 0 }
|
|
||||||
expect(page).to have_no_css(".chat-header-icon .chat-channel-unread-indicator")
|
|
||||||
|
|
||||||
# generally speaking sleep should be avoided in tests, but in this case
|
|
||||||
# we need to wait for the client to reconnect and receive the message
|
|
||||||
# right at the start the icon won't be there so checking for not will be true
|
|
||||||
# and checking for present could also be true as it might be within capybara finder delay
|
|
||||||
# which is what we are testing here and want to avoid
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
expect(page).to have_no_css(".chat-header-icon .chat-channel-unread-indicator")
|
|
||||||
session.quit
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -104,8 +104,6 @@ RSpec.describe "Shortcuts | chat composer", type: :system, js: true do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context "when last message is not editable" do
|
context "when last message is not editable" do
|
||||||
after { page.driver.browser.network_conditions = { offline: false } }
|
|
||||||
|
|
||||||
it "does not edit a message" do
|
it "does not edit a message" do
|
||||||
chat.visit_channel(channel_1)
|
chat.visit_channel(channel_1)
|
||||||
page.driver.browser.network_conditions = { offline: true }
|
page.driver.browser.network_conditions = { offline: true }
|
||||||
@ -114,6 +112,8 @@ RSpec.describe "Shortcuts | chat composer", type: :system, js: true do
|
|||||||
find(".chat-composer__input").send_keys(:arrow_up)
|
find(".chat-composer__input").send_keys(:arrow_up)
|
||||||
|
|
||||||
expect(page).to have_no_css(".chat-composer-message-details")
|
expect(page).to have_no_css(".chat-composer-message-details")
|
||||||
|
|
||||||
|
page.driver.browser.network_conditions = { offline: false }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user