diff options
author | Javan Makhmali <javan@javan.us> | 2016-11-20 17:08:54 -0500 |
---|---|---|
committer | Javan Makhmali <javan@javan.us> | 2016-11-21 09:50:00 -0500 |
commit | 7083fa27a4151e063b750249ae7902104a897968 (patch) | |
tree | 3f99ac7b04a6667e25c956f94277690242336096 /actioncable/test/javascript/src/unit/subscription_test.coffee | |
parent | 6f30cb35596775b2b98bba05448f25ccbac0a2c0 (diff) | |
download | rails-7083fa27a4151e063b750249ae7902104a897968.tar.gz rails-7083fa27a4151e063b750249ae7902104a897968.tar.bz2 rails-7083fa27a4151e063b750249ae7902104a897968.zip |
Add more Action Cable JavaScript tests
Diffstat (limited to 'actioncable/test/javascript/src/unit/subscription_test.coffee')
-rw-r--r-- | actioncable/test/javascript/src/unit/subscription_test.coffee | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/actioncable/test/javascript/src/unit/subscription_test.coffee b/actioncable/test/javascript/src/unit/subscription_test.coffee new file mode 100644 index 0000000000..07027ed170 --- /dev/null +++ b/actioncable/test/javascript/src/unit/subscription_test.coffee @@ -0,0 +1,40 @@ +{module, test} = QUnit +{consumerTest} = ActionCable.TestHelpers + +module "ActionCable.Subscription", -> + consumerTest "#initialized callback", ({server, consumer, assert, done}) -> + consumer.subscriptions.create "chat", + initialized: -> + assert.ok true + done() + + consumerTest "#connected callback", ({server, consumer, assert, done}) -> + subscription = consumer.subscriptions.create "chat", + connected: -> + assert.ok true + done() + + server.broadcastTo(subscription, message_type: "confirmation") + + consumerTest "#disconnected callback", ({server, consumer, assert, done}) -> + subscription = consumer.subscriptions.create "chat", + disconnected: -> + assert.ok true + done() + + server.broadcastTo subscription, message_type: "confirmation", -> + server.close() + + consumerTest "#perform", ({consumer, server, assert, done}) -> + subscription = consumer.subscriptions.create "chat", + connected: -> + @perform(publish: "hi") + + server.on "message", (message) -> + data = JSON.parse(message) + assert.equal data.identifier, subscription.identifier + assert.equal data.command, "message" + assert.deepEqual data.data, JSON.stringify(action: { publish: "hi" }) + done() + + server.broadcastTo(subscription, message_type: "confirmation") |