aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/test/javascript/src/unit/subscriptions_test.js
diff options
context:
space:
mode:
authorrmacklin <1863540+rmacklin@users.noreply.github.com>2018-11-26 14:16:02 -0800
committerJavan Makhmali <javan@javan.us>2018-11-26 17:16:02 -0500
commit85b080365313437f646070ca214fef433c06db6a (patch)
treea2df565070129cef9f5064b565229a1a9ad96be5 /actioncable/test/javascript/src/unit/subscriptions_test.js
parent38b676181b7cce5191b1877ad6781c490d38436d (diff)
downloadrails-85b080365313437f646070ca214fef433c06db6a.tar.gz
rails-85b080365313437f646070ca214fef433c06db6a.tar.bz2
rails-85b080365313437f646070ca214fef433c06db6a.zip
Convert ActionCable tests from CoffeeScript to ES2015 and replace Blade with Karma and Rollup (#34440)
* Rename .coffee files in ActionCable test suite in prep for decaffeination * Decaffeinate ActionCable tests * Replace Blade with Karma and Rollup to run ActionCable JS tests - Add karma and qunit devDependencies - Add test script to ActionCable package - Use rollup to bundle ActionCable tests - Use karma as the ActionCable JS test runner * Replace vendored mock-socket with package devDependency in ActionCable * Move ActionCable yarn install to TravisCI before_install config * Clean up decaffeinated ActionCable tests to use consistent formatting
Diffstat (limited to 'actioncable/test/javascript/src/unit/subscriptions_test.js')
-rw-r--r--actioncable/test/javascript/src/unit/subscriptions_test.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/actioncable/test/javascript/src/unit/subscriptions_test.js b/actioncable/test/javascript/src/unit/subscriptions_test.js
new file mode 100644
index 0000000000..33af5d4d82
--- /dev/null
+++ b/actioncable/test/javascript/src/unit/subscriptions_test.js
@@ -0,0 +1,31 @@
+import consumerTest from "../test_helpers/consumer_test_helper"
+
+const {module} = QUnit
+
+module("ActionCable.Subscriptions", () => {
+ consumerTest("create subscription with channel string", ({consumer, server, assert, done}) => {
+ const channel = "chat"
+
+ server.on("message", (message) => {
+ const data = JSON.parse(message)
+ assert.equal(data.command, "subscribe")
+ assert.equal(data.identifier, JSON.stringify({channel}))
+ done()
+ })
+
+ consumer.subscriptions.create(channel)
+ })
+
+ consumerTest("create subscription with channel object", ({consumer, server, assert, done}) => {
+ const channel = {channel: "chat", room: "action"}
+
+ server.on("message", (message) => {
+ const data = JSON.parse(message)
+ assert.equal(data.command, "subscribe")
+ assert.equal(data.identifier, JSON.stringify(channel))
+ done()
+ })
+
+ consumer.subscriptions.create(channel)
+ })
+})