action-cable-testing 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 764d0e009091268cdcd8894568fd3a0228f3dae9cbfd77940209a9ffe1deb573
4
- data.tar.gz: 6fadaa17e4e76c952c5e47e5dc6602cd4ec2b3bf2ce88df897ded52f3c5ed48e
3
+ metadata.gz: c23fc604360442ed682c5d15aabb5ddf73975a930c9eb04e7e8d322f4585d5bd
4
+ data.tar.gz: 8fe5232fe5a87fa52e0947d5e89d91f29b8b7128e39222c4596efd4e6323ff34
5
5
  SHA512:
6
- metadata.gz: fc7b8f670f821059a7c6fc8ea7eacf7360bfc3eab60cf0f7651c3d5b04b0406d77395b62b3c4dbe3b091c426cfd57292e998ee4c79672ae24fe372fb8485c597
7
- data.tar.gz: 3dff7864524e0c04a22e608afb74548280957669f3c3d26d1411ae02f01204f2ce46061add68073c1f331d438b0a2a5740b0d6f37b2e94c1ae17286497451382
6
+ metadata.gz: 20572b174c043b0c4400392043d3abd2702901796a9f490d337e2bf13afe533a3ca8f316c8efbd300bbb1d8edc68c926f8e34e7a68e36aa40fc542ae71c5713e
7
+ data.tar.gz: 81273128fee887ed0985d52ba5ddeaac5358a394d86c05f995a042f5a29548ac83ecbac02eaff6153f393a9cc320c4e895a07bd8799f182bd0969ec7b930bf59
data/README.md CHANGED
@@ -56,12 +56,6 @@ class ExampleTest < ActionDispatch::IntegrationTest
56
56
  assert_broadcast_on("messages:#{room.id}", text: 'Hello!') do
57
57
  post "/say/#{room.id}", xhr: true, params: { message: 'Hello!' }
58
58
  end
59
-
60
- # When testing broadcast to an object outside of channel test,
61
- # channel should be explicitly specified
62
- assert_broadcast_on(room, { text: 'Hello!' }, { channel: ChatChannel } do
63
- post "/say/#{room.id}", xhr: true, params: { message: 'Hello!' }
64
- end
65
59
  end
66
60
  end
67
61
  ```
@@ -131,8 +125,6 @@ When broadcasting to an object:
131
125
 
132
126
  ```ruby
133
127
  class ChatChannelTest < ActionCable::Channel::TestCase
134
- include ActionCable::TestHelper
135
-
136
128
  def setup
137
129
  @room = Room.find 1
138
130
 
@@ -140,7 +132,7 @@ class ChatChannelTest < ActionCable::Channel::TestCase
140
132
  subscribe room_number: room.id
141
133
  end
142
134
 
143
- def test_broadcating
135
+ def test_broadcasting
144
136
  assert_broadcasts(@room, 1) do
145
137
  perform :speak, message: "I'm here!"
146
138
  end
@@ -207,6 +207,12 @@ module ActionCable
207
207
  @subscription
208
208
  end
209
209
 
210
+ # Unsubscribe the subscription under test.
211
+ def unsubscribe
212
+ check_subscribed!
213
+ subscription.unsubscribe_from_channel
214
+ end
215
+
210
216
  # Perform action on a channel.
211
217
  #
212
218
  # NOTE: Must be subscribed.
@@ -38,10 +38,15 @@ module ActionCable
38
38
  attr_reader :cookie_jar
39
39
 
40
40
  module CookiesStub
41
- # Stub signed cookies, we don't need to test encryption here
41
+ # Stub signed cookies
42
42
  def signed
43
43
  self
44
44
  end
45
+
46
+ # Stub encrypted cookies
47
+ def encrypted
48
+ self
49
+ end
45
50
  end
46
51
 
47
52
  def cookie_jar=(val)
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "action_cable/subscription_adapter/async"
4
+
3
5
  module ActionCable
4
6
  module SubscriptionAdapter
5
7
  # == Test adapter for Action Cable
@@ -8,9 +10,13 @@ module ActionCable
8
10
  # <tt>ActionCable::TestHelper</tt> it makes a great tool to test your Rails application.
9
11
  #
10
12
  # To use the test adapter set adapter value to +test+ in your +cable.yml+.
11
- class Test < Base
13
+ #
14
+ # NOTE: Test adapter extends the <tt>ActionCable::SubscriptionsAdapter::Async</tt> adapter,
15
+ # so it could be used in system tests too.
16
+ class Test < Async
12
17
  def broadcast(channel, payload)
13
18
  broadcasts(channel) << payload
19
+ super
14
20
  end
15
21
 
16
22
  def broadcasts(channel)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActionCable
4
4
  module Testing
5
- VERSION = "0.3.1"
5
+ VERSION = "0.3.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: action-cable-testing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Dementyev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-17 00:00:00.000000000 Z
11
+ date: 2018-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actioncable
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.3.5
47
+ version: 3.1.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.3.5
54
+ version: 3.1.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.5.4
89
+ version: 0.14.6
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.5.4
96
+ version: 0.14.6
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: minitest
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -183,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  version: '0'
184
184
  requirements: []
185
185
  rubyforge_project:
186
- rubygems_version: 2.7.4
186
+ rubygems_version: 2.7.7
187
187
  signing_key:
188
188
  specification_version: 4
189
189
  summary: Testing utils for Action Cable