aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/test
diff options
context:
space:
mode:
authorRichard Macklin <richard.github@nrm.com>2018-12-01 14:48:24 -0800
committerRichard Macklin <richard.github@nrm.com>2018-12-01 14:49:43 -0800
commit2bb4fdef5efc70327c018e982ff809a29ac6708b (patch)
tree51bf25fefd24540a84bb8b27c31e02123e58881c /actioncable/test
parentaa1ba9cb244b1e03d36aaa941ae4e91c6713b77e (diff)
downloadrails-2bb4fdef5efc70327c018e982ff809a29ac6708b.tar.gz
rails-2bb4fdef5efc70327c018e982ff809a29ac6708b.tar.bz2
rails-2bb4fdef5efc70327c018e982ff809a29ac6708b.zip
Replace reference to WebSocket global with ActionCable.adapters.WebSocket
The WebSocket dependency of ActionCable.Connection was made configurable in 66901c1849efae74c8a58fe0cb36afd487c067cc However, the reference here in Connection#getState was not updated to use the configurable property. This change remedies that and adds a test to verify it. Additionally, it backfills a test to ensure that Connection#open uses the configurable property.
Diffstat (limited to 'actioncable/test')
-rw-r--r--actioncable/test/javascript/src/test.js1
-rw-r--r--actioncable/test/javascript/src/unit/connection_test.js28
2 files changed, 29 insertions, 0 deletions
diff --git a/actioncable/test/javascript/src/test.js b/actioncable/test/javascript/src/test.js
index 1fca7ab4d3..eea1c0a408 100644
--- a/actioncable/test/javascript/src/test.js
+++ b/actioncable/test/javascript/src/test.js
@@ -1,5 +1,6 @@
import "./test_helpers/index"
import "./unit/action_cable_test"
+import "./unit/connection_test"
import "./unit/consumer_test"
import "./unit/subscription_test"
import "./unit/subscriptions_test"
diff --git a/actioncable/test/javascript/src/unit/connection_test.js b/actioncable/test/javascript/src/unit/connection_test.js
new file mode 100644
index 0000000000..9b1a975bfb
--- /dev/null
+++ b/actioncable/test/javascript/src/unit/connection_test.js
@@ -0,0 +1,28 @@
+import * as ActionCable from "../../../../app/javascript/action_cable/index"
+
+const {module, test} = QUnit
+
+module("ActionCable.Connection", () => {
+ module("#getState", () => {
+ test("uses the configured WebSocket adapter", assert => {
+ ActionCable.adapters.WebSocket = { foo: 1, BAR: "42" }
+ const connection = new ActionCable.Connection({})
+ connection.webSocket = {}
+ connection.webSocket.readyState = 1
+ assert.equal(connection.getState(), "foo")
+ connection.webSocket.readyState = "42"
+ assert.equal(connection.getState(), "bar")
+ })
+ })
+
+ module("#open", () => {
+ test("uses the configured WebSocket adapter", assert => {
+ const FakeWebSocket = function() {}
+ ActionCable.adapters.WebSocket = FakeWebSocket
+ const connection = new ActionCable.Connection({})
+ connection.monitor = { start() {} }
+ connection.open()
+ assert.equal(connection.webSocket instanceof FakeWebSocket, true)
+ })
+ })
+})