DEV: Use online/offline window events to track network connectivity (#22243)

This commit is contained in:
Mark VanLandingham
2023-06-22 09:09:28 -05:00
committed by GitHub
parent dccdbd52a3
commit fcaa9757f3
6 changed files with 79 additions and 57 deletions

View File

@@ -0,0 +1,26 @@
# frozen_string_literal: true
RSpec.describe "Network Disconnected", type: :system do
def with_network_disconnected
page.driver.browser.network_conditions = { offline: true }
yield
page.driver.browser.network_conditions = { offline: false }
end
it "NetworkConnectivity service adds class to DOM and displays offline indicator" do
SiteSetting.enable_offline_indicator = true
visit("/c")
expect(page).to have_no_css("html.network-disconnected")
expect(page).to have_no_css(".offline-indicator")
with_network_disconnected do
# Message bus connectivity services adds the disconnected class to the DOM
expect(page).to have_css("html.network-disconnected")
# Offline indicator is rendered
expect(page).to have_css(".offline-indicator")
end
end
end