koala 1.8.0 → 1.9.0rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -33,83 +33,83 @@ describe "Koala::Facebook::RealtimeUpdates" do
33
33
  # basic initialization
34
34
  it "initializes properly with an app_id and an app_access_token" do
35
35
  updates = Koala::Facebook::RealtimeUpdates.new(:app_id => @app_id, :app_access_token => @app_access_token)
36
- updates.should be_a(Koala::Facebook::RealtimeUpdates)
36
+ expect(updates).to be_a(Koala::Facebook::RealtimeUpdates)
37
37
  end
38
38
 
39
39
  # attributes
40
40
  it "allows read access to app_id" do
41
41
  # in Ruby 1.9, .method returns symbols
42
- Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym).should include(:app_id)
43
- Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym).should_not include(:app_id=)
42
+ expect(Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym)).to include(:app_id)
43
+ expect(Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym)).not_to include(:app_id=)
44
44
  end
45
45
 
46
46
  it "allows read access to app_access_token" do
47
47
  # in Ruby 1.9, .method returns symbols
48
- Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym).should include(:app_access_token)
49
- Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym).should_not include(:app_access_token=)
48
+ expect(Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym)).to include(:app_access_token)
49
+ expect(Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym)).not_to include(:app_access_token=)
50
50
  end
51
51
 
52
52
  it "allows read access to secret" do
53
53
  # in Ruby 1.9, .method returns symbols
54
- Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym).should include(:secret)
55
- Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym).should_not include(:secret=)
54
+ expect(Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym)).to include(:secret)
55
+ expect(Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym)).not_to include(:secret=)
56
56
  end
57
57
 
58
58
  it "allows read access to api" do
59
59
  # in Ruby 1.9, .method returns symbols
60
- Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym).should include(:api)
61
- Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym).should_not include(:api=)
60
+ expect(Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym)).to include(:api)
61
+ expect(Koala::Facebook::RealtimeUpdates.instance_methods.map(&:to_sym)).not_to include(:api=)
62
62
  end
63
63
 
64
64
  # old graph_api accessor
65
65
  it "returns the api object when graph_api is called" do
66
66
  updates = Koala::Facebook::RealtimeUpdates.new(:app_id => @app_id, :secret => @secret)
67
- updates.graph_api.should == updates.api
67
+ expect(updates.graph_api).to eq(updates.api)
68
68
  end
69
69
 
70
70
  it "fire a deprecation warning when graph_api is called" do
71
71
  updates = Koala::Facebook::RealtimeUpdates.new(:app_id => @app_id, :secret => @secret)
72
- Koala::Utils.should_receive(:deprecate)
72
+ expect(Koala::Utils).to receive(:deprecate)
73
73
  updates.graph_api
74
74
  end
75
75
 
76
76
  # init with secret / fetching the token
77
77
  it "initializes properly with an app_id and a secret" do
78
78
  updates = Koala::Facebook::RealtimeUpdates.new(:app_id => @app_id, :secret => @secret)
79
- updates.should be_a(Koala::Facebook::RealtimeUpdates)
79
+ expect(updates).to be_a(Koala::Facebook::RealtimeUpdates)
80
80
  end
81
81
 
82
82
  it "fetches an app_token from Facebook when provided an app_id and a secret" do
83
83
  updates = Koala::Facebook::RealtimeUpdates.new(:app_id => @app_id, :secret => @secret)
84
- updates.app_access_token.should_not be_nil
84
+ expect(updates.app_access_token).not_to be_nil
85
85
  end
86
86
 
87
87
  it "uses the OAuth class to fetch a token when provided an app_id and a secret" do
88
88
  oauth = Koala::Facebook::OAuth.new(@app_id, @secret)
89
89
  token = oauth.get_app_access_token
90
- oauth.should_receive(:get_app_access_token).and_return(token)
91
- Koala::Facebook::OAuth.should_receive(:new).with(@app_id, @secret).and_return(oauth)
90
+ expect(oauth).to receive(:get_app_access_token).and_return(token)
91
+ expect(Koala::Facebook::OAuth).to receive(:new).with(@app_id, @secret).and_return(oauth)
92
92
  updates = Koala::Facebook::RealtimeUpdates.new(:app_id => @app_id, :secret => @secret)
93
93
  end
94
94
 
95
95
  it "sets up the with the app acces token" do
96
96
  updates = Koala::Facebook::RealtimeUpdates.new(:app_id => @app_id, :app_access_token => @app_access_token)
97
- updates.api.should be_a(Koala::Facebook::API)
98
- updates.api.access_token.should == @app_access_token
97
+ expect(updates.api).to be_a(Koala::Facebook::API)
98
+ expect(updates.api.access_token).to eq(@app_access_token)
99
99
  end
100
100
 
101
101
  end
102
102
 
103
103
  describe "#subscribe" do
104
104
  it "makes a POST to the subscription path" do
105
- @updates.api.should_receive(:graph_call).with(@updates.subscription_path, anything, "post", anything)
105
+ expect(@updates.api).to receive(:graph_call).with(@updates.subscription_path, anything, "post", anything)
106
106
  @updates.subscribe("user", "name", @subscription_path, @verify_token)
107
107
  end
108
108
 
109
109
  it "properly formats the subscription request" do
110
110
  obj = "user"
111
111
  fields = "name"
112
- @updates.api.should_receive(:graph_call).with(anything, hash_including(
112
+ expect(@updates.api).to receive(:graph_call).with(anything, hash_including(
113
113
  :object => obj,
114
114
  :fields => fields,
115
115
  :callback_url => @subscription_path,
@@ -122,7 +122,7 @@ describe "Koala::Facebook::RealtimeUpdates" do
122
122
  # see https://github.com/arsduo/koala/issues/150
123
123
  obj = "user"
124
124
  fields = "name"
125
- @updates.api.should_not_receive(:graph_call).with(anything, hash_including(:verify_token => anything), anything, anything)
125
+ expect(@updates.api).not_to receive(:graph_call).with(anything, hash_including(:verify_token => anything), anything, anything)
126
126
  @updates.subscribe("user", "name", @subscription_path)
127
127
  end
128
128
 
@@ -132,7 +132,7 @@ describe "Koala::Facebook::RealtimeUpdates" do
132
132
 
133
133
  it "accepts an options hash" do
134
134
  options = {:a => 2, :b => "c"}
135
- @updates.api.should_receive(:graph_call).with(anything, anything, anything, hash_including(options))
135
+ expect(@updates.api).to receive(:graph_call).with(anything, anything, anything, hash_including(options))
136
136
  @updates.subscribe("user", "name", @subscription_path, @verify_token, options)
137
137
  end
138
138
 
@@ -157,19 +157,19 @@ describe "Koala::Facebook::RealtimeUpdates" do
157
157
 
158
158
  describe "#unsubscribe" do
159
159
  it "makes a DELETE to the subscription path" do
160
- @updates.api.should_receive(:graph_call).with(@updates.subscription_path, anything, "delete", anything)
160
+ expect(@updates.api).to receive(:graph_call).with(@updates.subscription_path, anything, "delete", anything)
161
161
  @updates.unsubscribe("user")
162
162
  end
163
163
 
164
164
  it "includes the object if provided" do
165
165
  obj = "user"
166
- @updates.api.should_receive(:graph_call).with(anything, hash_including(:object => obj), anything, anything)
166
+ expect(@updates.api).to receive(:graph_call).with(anything, hash_including(:object => obj), anything, anything)
167
167
  @updates.unsubscribe(obj)
168
168
  end
169
169
 
170
170
  it "accepts an options hash" do
171
171
  options = {:a => 2, :b => "C"}
172
- @updates.api.should_receive(:graph_call).with(anything, anything, anything, hash_including(options))
172
+ expect(@updates.api).to receive(:graph_call).with(anything, anything, anything, hash_including(options))
173
173
  @updates.unsubscribe("user", options)
174
174
  end
175
175
 
@@ -190,26 +190,26 @@ describe "Koala::Facebook::RealtimeUpdates" do
190
190
 
191
191
  describe "#list_subscriptions" do
192
192
  it "GETs the subscription path" do
193
- @updates.api.should_receive(:graph_call).with(@updates.subscription_path, anything, "get", anything)
193
+ expect(@updates.api).to receive(:graph_call).with(@updates.subscription_path, anything, "get", anything)
194
194
  @updates.list_subscriptions
195
195
  end
196
196
 
197
197
  it "accepts options" do
198
198
  options = {:a => 3, :b => "D"}
199
- @updates.api.should_receive(:graph_call).with(anything, anything, anything, hash_including(options))
199
+ expect(@updates.api).to receive(:graph_call).with(anything, anything, anything, hash_including(options))
200
200
  @updates.list_subscriptions(options)
201
201
  end
202
202
 
203
203
  describe "in practice" do
204
204
  it "lists subscriptions properly" do
205
- @updates.list_subscriptions.should be_a(Array)
205
+ expect(@updates.list_subscriptions).to be_a(Array)
206
206
  end
207
207
  end
208
208
  end
209
209
 
210
210
  describe "#subscription_path" do
211
211
  it "returns the app_id/subscriptions" do
212
- @updates.subscription_path.should == "#{@app_id}/subscriptions"
212
+ expect(@updates.subscription_path).to eq("#{@app_id}/subscriptions")
213
213
  end
214
214
  end
215
215
 
@@ -222,23 +222,23 @@ describe "Koala::Facebook::RealtimeUpdates" do
222
222
  end
223
223
 
224
224
  it "returns false if there is no X-Hub-Signature header" do
225
- @updates.validate_update("", {}).should be_false
225
+ expect(@updates.validate_update("", {})).to be_falsey
226
226
  end
227
227
 
228
228
  it "returns false if the signature doesn't match the body" do
229
- @updates.validate_update("", {"X-Hub-Signature" => "sha1=badsha1"}).should be_false
229
+ expect(@updates.validate_update("", {"X-Hub-Signature" => "sha1=badsha1"})).to be_falsey
230
230
  end
231
231
 
232
232
  it "results true if the signature matches the body with the secret" do
233
233
  body = "BODY"
234
234
  signature = OpenSSL::HMAC.hexdigest('sha1', @secret, body).chomp
235
- @updates.validate_update(body, {"X-Hub-Signature" => "sha1=#{signature}"}).should be_true
235
+ expect(@updates.validate_update(body, {"X-Hub-Signature" => "sha1=#{signature}"})).to be_truthy
236
236
  end
237
237
 
238
238
  it "results true with alternate HTTP_X_HUB_SIGNATURE header" do
239
239
  body = "BODY"
240
240
  signature = OpenSSL::HMAC.hexdigest('sha1', @secret, body).chomp
241
- @updates.validate_update(body, {"HTTP_X_HUB_SIGNATURE" => "sha1=#{signature}"}).should be_true
241
+ expect(@updates.validate_update(body, {"HTTP_X_HUB_SIGNATURE" => "sha1=#{signature}"})).to be_truthy
242
242
  end
243
243
 
244
244
  end
@@ -246,19 +246,19 @@ describe "Koala::Facebook::RealtimeUpdates" do
246
246
  describe ".meet_challenge" do
247
247
  it "returns false if hub.mode isn't subscribe" do
248
248
  params = {'hub.mode' => 'not subscribe'}
249
- Koala::Facebook::RealtimeUpdates.meet_challenge(params).should be_false
249
+ expect(Koala::Facebook::RealtimeUpdates.meet_challenge(params)).to be_falsey
250
250
  end
251
251
 
252
252
  it "doesn't evaluate the block if hub.mode isn't subscribe" do
253
253
  params = {'hub.mode' => 'not subscribe'}
254
254
  block_evaluated = false
255
255
  Koala::Facebook::RealtimeUpdates.meet_challenge(params){|token| block_evaluated = true}
256
- block_evaluated.should be_false
256
+ expect(block_evaluated).to be_falsey
257
257
  end
258
258
 
259
259
  it "returns false if not given a verify_token or block" do
260
260
  params = {'hub.mode' => 'subscribe'}
261
- Koala::Facebook::RealtimeUpdates.meet_challenge(params).should be_false
261
+ expect(Koala::Facebook::RealtimeUpdates.meet_challenge(params)).to be_falsey
262
262
  end
263
263
 
264
264
  describe "and mode is 'subscribe'" do
@@ -273,12 +273,12 @@ describe "Koala::Facebook::RealtimeUpdates" do
273
273
  end
274
274
 
275
275
  it "returns false if the given verify token doesn't match" do
276
- Koala::Facebook::RealtimeUpdates.meet_challenge(@params, @token + '1').should be_false
276
+ expect(Koala::Facebook::RealtimeUpdates.meet_challenge(@params, @token + '1')).to be_falsey
277
277
  end
278
278
 
279
279
  it "returns the challenge if the given verify token matches" do
280
280
  @params['hub.challenge'] = 'challenge val'
281
- Koala::Facebook::RealtimeUpdates.meet_challenge(@params, @token).should == @params['hub.challenge']
281
+ expect(Koala::Facebook::RealtimeUpdates.meet_challenge(@params, @token)).to eq(@params['hub.challenge'])
282
282
  end
283
283
  end
284
284
 
@@ -289,27 +289,27 @@ describe "Koala::Facebook::RealtimeUpdates" do
289
289
 
290
290
  it "gives the block the token as a parameter" do
291
291
  Koala::Facebook::RealtimeUpdates.meet_challenge(@params) do |token|
292
- token.should == @token
292
+ expect(token).to eq(@token)
293
293
  end
294
294
  end
295
295
 
296
296
  it "returns false if the given block return false" do
297
- Koala::Facebook::RealtimeUpdates.meet_challenge(@params) do |token|
297
+ expect(Koala::Facebook::RealtimeUpdates.meet_challenge(@params) do |token|
298
298
  false
299
- end.should be_false
299
+ end).to be_falsey
300
300
  end
301
301
 
302
302
  it "returns false if the given block returns nil" do
303
- Koala::Facebook::RealtimeUpdates.meet_challenge(@params) do |token|
303
+ expect(Koala::Facebook::RealtimeUpdates.meet_challenge(@params) do |token|
304
304
  nil
305
- end.should be_false
305
+ end).to be_falsey
306
306
  end
307
307
 
308
308
  it "returns the challenge if the given block returns true" do
309
309
  @params['hub.challenge'] = 'challenge val'
310
- Koala::Facebook::RealtimeUpdates.meet_challenge(@params) do |token|
310
+ expect(Koala::Facebook::RealtimeUpdates.meet_challenge(@params) do |token|
311
311
  true
312
- end.should be_true
312
+ end).to be_truthy
313
313
  end
314
314
  end
315
315
  end
@@ -31,57 +31,57 @@ describe "Koala::Facebook::TestUsers" do
31
31
  # basic initialization
32
32
  it "initializes properly with an app_id and an app_access_token" do
33
33
  test_users = Koala::Facebook::TestUsers.new(:app_id => @app_id, :app_access_token => @app_access_token)
34
- test_users.should be_a(Koala::Facebook::TestUsers)
34
+ expect(test_users).to be_a(Koala::Facebook::TestUsers)
35
35
  end
36
36
 
37
37
  # init with secret / fetching the token
38
38
  it "initializes properly with an app_id and a secret" do
39
39
  test_users = Koala::Facebook::TestUsers.new(:app_id => @app_id, :secret => @secret)
40
- test_users.should be_a(Koala::Facebook::TestUsers)
40
+ expect(test_users).to be_a(Koala::Facebook::TestUsers)
41
41
  end
42
42
 
43
43
  it "uses the OAuth class to fetch a token when provided an app_id and a secret" do
44
44
  oauth = Koala::Facebook::OAuth.new(@app_id, @secret)
45
45
  token = oauth.get_app_access_token
46
- oauth.should_receive(:get_app_access_token).and_return(token)
47
- Koala::Facebook::OAuth.should_receive(:new).with(@app_id, @secret).and_return(oauth)
46
+ expect(oauth).to receive(:get_app_access_token).and_return(token)
47
+ expect(Koala::Facebook::OAuth).to receive(:new).with(@app_id, @secret).and_return(oauth)
48
48
  test_users = Koala::Facebook::TestUsers.new(:app_id => @app_id, :secret => @secret)
49
49
  end
50
50
 
51
51
  # attributes
52
52
  it "allows read access to app_id, app_access_token, and secret" do
53
53
  # in Ruby 1.9, .method returns symbols
54
- Koala::Facebook::TestUsers.instance_methods.map(&:to_sym).should include(:app_id)
55
- Koala::Facebook::TestUsers.instance_methods.map(&:to_sym).should_not include(:app_id=)
54
+ expect(Koala::Facebook::TestUsers.instance_methods.map(&:to_sym)).to include(:app_id)
55
+ expect(Koala::Facebook::TestUsers.instance_methods.map(&:to_sym)).not_to include(:app_id=)
56
56
  end
57
57
 
58
58
  it "allows read access to app_access_token" do
59
59
  # in Ruby 1.9, .method returns symbols
60
- Koala::Facebook::TestUsers.instance_methods.map(&:to_sym).should include(:app_access_token)
61
- Koala::Facebook::TestUsers.instance_methods.map(&:to_sym).should_not include(:app_access_token=)
60
+ expect(Koala::Facebook::TestUsers.instance_methods.map(&:to_sym)).to include(:app_access_token)
61
+ expect(Koala::Facebook::TestUsers.instance_methods.map(&:to_sym)).not_to include(:app_access_token=)
62
62
  end
63
63
 
64
64
  it "allows read access to secret" do
65
65
  # in Ruby 1.9, .method returns symbols
66
- Koala::Facebook::TestUsers.instance_methods.map(&:to_sym).should include(:secret)
67
- Koala::Facebook::TestUsers.instance_methods.map(&:to_sym).should_not include(:secret=)
66
+ expect(Koala::Facebook::TestUsers.instance_methods.map(&:to_sym)).to include(:secret)
67
+ expect(Koala::Facebook::TestUsers.instance_methods.map(&:to_sym)).not_to include(:secret=)
68
68
  end
69
69
 
70
70
  it "allows read access to api" do
71
71
  # in Ruby 1.9, .method returns symbols
72
- Koala::Facebook::TestUsers.instance_methods.map(&:to_sym).should include(:api)
73
- Koala::Facebook::TestUsers.instance_methods.map(&:to_sym).should_not include(:api=)
72
+ expect(Koala::Facebook::TestUsers.instance_methods.map(&:to_sym)).to include(:api)
73
+ expect(Koala::Facebook::TestUsers.instance_methods.map(&:to_sym)).not_to include(:api=)
74
74
  end
75
75
 
76
76
  # old graph_api accessor
77
77
  it "returns the api object when graph_api is called" do
78
78
  test_users = Koala::Facebook::TestUsers.new(:app_id => @app_id, :secret => @secret)
79
- test_users.graph_api.should == test_users.api
79
+ expect(test_users.graph_api).to eq(test_users.api)
80
80
  end
81
81
 
82
82
  it "fire a deprecation warning when graph_api is called" do
83
83
  test_users = Koala::Facebook::TestUsers.new(:app_id => @app_id, :secret => @secret)
84
- Koala::Utils.should_receive(:deprecate)
84
+ expect(Koala::Utils).to receive(:deprecate)
85
85
  test_users.graph_api
86
86
  end
87
87
  end
@@ -93,43 +93,43 @@ describe "Koala::Facebook::TestUsers" do
93
93
  it "creates a test user when not given installed" do
94
94
  result = @test_users.create(false)
95
95
  @user1 = result["id"]
96
- result.should be_a(Hash)
97
- (result["id"] && result["access_token"] && result["login_url"]).should
96
+ expect(result).to be_a(Hash)
97
+ expect(result["id"] && result["access_token"] && result["login_url"]).to be_truthy
98
98
  end
99
99
 
100
100
  it "creates a test user when not given installed, ignoring permissions" do
101
101
  result = @test_users.create(false, "read_stream")
102
102
  @user1 = result["id"]
103
- result.should be_a(Hash)
104
- (result["id"] && result["access_token"] && result["login_url"]).should
103
+ expect(result).to be_a(Hash)
104
+ expect(result["id"] && result["access_token"] && result["login_url"]).to be_truthy
105
105
  end
106
106
 
107
107
  it "accepts permissions as a string" do
108
- @test_users.graph_api.should_receive(:graph_call).with(anything, hash_including("permissions" => "read_stream,publish_stream"), anything, anything)
108
+ expect(@test_users.graph_api).to receive(:graph_call).with(anything, hash_including("permissions" => "read_stream,publish_stream"), anything, anything)
109
109
  result = @test_users.create(true, "read_stream,publish_stream")
110
110
  end
111
111
 
112
112
  it "accepts permissions as an array" do
113
- @test_users.graph_api.should_receive(:graph_call).with(anything, hash_including("permissions" => "read_stream,publish_stream"), anything, anything)
113
+ expect(@test_users.graph_api).to receive(:graph_call).with(anything, hash_including("permissions" => "read_stream,publish_stream"), anything, anything)
114
114
  result = @test_users.create(true, ["read_stream", "publish_stream"])
115
115
  end
116
116
 
117
117
  it "creates a test user when given installed and a permission" do
118
118
  result = @test_users.create(true, "read_stream")
119
119
  @user1 = result["id"]
120
- result.should be_a(Hash)
121
- (result["id"] && result["access_token"] && result["login_url"]).should
120
+ expect(result).to be_a(Hash)
121
+ expect(result["id"] && result["access_token"] && result["login_url"]).to be_truthy
122
122
  end
123
123
 
124
124
  it "lets you specify other graph arguments, like uid and access token" do
125
125
  args = {:uid => "some test user ID", :owner_access_token => "some owner access token"}
126
- @test_users.graph_api.should_receive(:graph_call).with(anything, hash_including(args), anything, anything)
126
+ expect(@test_users.graph_api).to receive(:graph_call).with(anything, hash_including(args), anything, anything)
127
127
  @test_users.create(true, nil, args)
128
128
  end
129
129
 
130
130
  it "lets you specify http options that get passed through to the graph call" do
131
131
  options = {:some_http_option => true}
132
- @test_users.graph_api.should_receive(:graph_call).with(anything, anything, anything, options)
132
+ expect(@test_users.graph_api).to receive(:graph_call).with(anything, anything, anything, options)
133
133
  @test_users.create(true, nil, {}, options)
134
134
  end
135
135
  end
@@ -142,16 +142,16 @@ describe "Koala::Facebook::TestUsers" do
142
142
 
143
143
  it "lists test users" do
144
144
  result = @test_users.list
145
- result.should be_an(Array)
145
+ expect(result).to be_an(Array)
146
146
  first_user, second_user = result[0], result[1]
147
- (first_user["id"] && first_user["access_token"] && first_user["login_url"]).should
148
- (second_user["id"] && second_user["access_token"] && second_user["login_url"]).should
147
+ expect(first_user["id"] && first_user["access_token"] && first_user["login_url"]).to be_truthy
148
+ expect(second_user["id"] && second_user["access_token"] && second_user["login_url"]).to be_truthy
149
149
  end
150
150
 
151
151
  it "accepts http options" do
152
152
  @stubbed = true
153
153
  options = {:some_http_option => true}
154
- @test_users.api.should_receive(:graph_call).with(anything, anything, anything, options)
154
+ expect(@test_users.api).to receive(:graph_call).with(anything, anything, anything, options)
155
155
  @test_users.list(options)
156
156
  end
157
157
  end
@@ -163,24 +163,24 @@ describe "Koala::Facebook::TestUsers" do
163
163
  end
164
164
 
165
165
  it "deletes a user by id" do
166
- @test_users.delete(@user1['id']).should be_true
166
+ expect(@test_users.delete(@user1['id'])).to be_truthy
167
167
  @user1 = nil
168
168
  end
169
169
 
170
170
  it "deletes a user by hash" do
171
- @test_users.delete(@user2).should be_true
171
+ expect(@test_users.delete(@user2)).to be_truthy
172
172
  @user2 = nil
173
173
  end
174
174
 
175
175
  it "does not delete users when provided a false ID" do
176
- lambda { @test_users.delete("#{@user1['id']}1") }.should raise_exception(Koala::Facebook::APIError)
176
+ expect { @test_users.delete("#{@user1['id']}1") }.to raise_exception(Koala::Facebook::APIError)
177
177
  end
178
178
 
179
179
  it "lets you specify http options that get passed through to the graph call" do
180
180
  options = {:some_http_option => true}
181
181
  # technically this goes through delete_object, but this makes it less brittle
182
182
  @stubbed = true
183
- @test_users.graph_api.should_receive(:graph_call).with(anything, anything, anything, options)
183
+ expect(@test_users.graph_api).to receive(:graph_call).with(anything, anything, anything, options)
184
184
  @test_users.delete("user", options)
185
185
  end
186
186
  end
@@ -188,24 +188,24 @@ describe "Koala::Facebook::TestUsers" do
188
188
  describe "#delete_all" do
189
189
  it "deletes the batch API to deleten all users found by the list commnand" do
190
190
  array = 200.times.collect { {"id" => rand}}
191
- @test_users.should_receive(:list).and_return(array, [])
191
+ expect(@test_users).to receive(:list).and_return(array, [])
192
192
  batch_api = double("batch API")
193
193
  allow(@test_users.api).to receive(:batch).and_yield(batch_api)
194
- array.each {|item| batch_api.should_receive(:delete_object).with(item["id"]) }
194
+ array.each {|item| expect(batch_api).to receive(:delete_object).with(item["id"]) }
195
195
  @test_users.delete_all
196
196
  end
197
197
 
198
198
  it "accepts http options that get passed to both list and the batch call" do
199
199
  options = {:some_http_option => true}
200
- @test_users.should_receive(:list).with(options).and_return([{"id" => rand}], [])
201
- @test_users.api.should_receive(:batch).with(options)
200
+ expect(@test_users).to receive(:list).with(options).and_return([{"id" => rand}], [])
201
+ expect(@test_users.api).to receive(:batch).with(options)
202
202
  @test_users.delete_all(options)
203
203
  end
204
204
 
205
205
  it "breaks if Facebook sends back the same list twice" do
206
206
  list = [{"id" => rand}]
207
207
  allow(@test_users).to receive(:list).and_return(list)
208
- @test_users.api.should_receive(:batch).once
208
+ expect(@test_users.api).to receive(:batch).once
209
209
  @test_users.delete_all
210
210
  end
211
211
 
@@ -213,7 +213,7 @@ describe "Koala::Facebook::TestUsers" do
213
213
  list1 = [{"id" => 123}]
214
214
  list2 = [{"id" => 123, "name" => "foo"}]
215
215
  allow(@test_users).to receive(:list).twice.and_return(list1, list2)
216
- @test_users.api.should_receive(:batch).once
216
+ expect(@test_users.api).to receive(:batch).once
217
217
  @test_users.delete_all
218
218
  end
219
219
  end
@@ -227,20 +227,20 @@ describe "Koala::Facebook::TestUsers" do
227
227
 
228
228
  it "makes a POST with the test user Graph API " do
229
229
  @user1 = @test_users2.create(true)
230
- @test_users2.graph_api.should_receive(:graph_call).with(anything, anything, "post", anything)
230
+ expect(@test_users2.graph_api).to receive(:graph_call).with(anything, anything, "post", anything)
231
231
  @test_users2.update(@user1, @updates)
232
232
  end
233
233
 
234
234
  it "makes a request to the test user with the update params " do
235
235
  @user1 = @test_users2.create(true)
236
- @test_users2.graph_api.should_receive(:graph_call).with(@user1["id"], @updates, anything, anything)
236
+ expect(@test_users2.graph_api).to receive(:graph_call).with(@user1["id"], @updates, anything, anything)
237
237
  @test_users2.update(@user1, @updates)
238
238
  end
239
239
 
240
240
  it "accepts an options hash" do
241
241
  options = {:some_http_option => true}
242
242
  @stubbed = true
243
- @test_users2.graph_api.should_receive(:graph_call).with(anything, anything, anything, options)
243
+ expect(@test_users2.graph_api).to receive(:graph_call).with(anything, anything, anything, options)
244
244
  @test_users2.update("foo", @updates, options)
245
245
  end
246
246
 
@@ -248,7 +248,7 @@ describe "Koala::Facebook::TestUsers" do
248
248
  @user1 = @test_users.create(true)
249
249
  @test_users.update(@user1, @updates)
250
250
  user_info = Koala::Facebook::API.new(@user1["access_token"]).get_object(@user1["id"])
251
- user_info["name"].should == @updates[:name]
251
+ expect(user_info["name"]).to eq(@updates[:name])
252
252
  end
253
253
  end
254
254
 
@@ -260,7 +260,7 @@ describe "Koala::Facebook::TestUsers" do
260
260
 
261
261
  it "makes two users into friends with string hashes" do
262
262
  result = @test_users.befriend(@user1, @user2)
263
- result.should be_true
263
+ expect(result).to be_truthy
264
264
  end
265
265
 
266
266
  it "makes two users into friends with symbol hashes" do
@@ -270,18 +270,18 @@ describe "Koala::Facebook::TestUsers" do
270
270
  @user2.each_pair {|k, v| new_user_2[k.to_sym] = v}
271
271
 
272
272
  result = @test_users.befriend(new_user_1, new_user_2)
273
- result.should be_true
273
+ expect(result).to be_truthy
274
274
  end
275
275
 
276
276
  it "does not accept user IDs anymore" do
277
- lambda { @test_users.befriend(@user1["id"], @user2["id"]) }.should raise_exception
277
+ expect { @test_users.befriend(@user1["id"], @user2["id"]) }.to raise_exception
278
278
  end
279
279
 
280
280
  it "accepts http options passed to both calls" do
281
281
  options = {:some_http_option => true}
282
282
  # should come twice, once for each user
283
283
  @stubbed = true
284
- Koala.http_service.should_receive(:make_request).with(anything, anything, anything, options).twice.and_return(Koala::HTTPService::Response.new(200, "{}", {}))
284
+ expect(Koala.http_service).to receive(:make_request).with(anything, anything, anything, options).twice.and_return(Koala::HTTPService::Response.new(200, "{}", {}))
285
285
  @test_users.befriend(@user1, @user2, options)
286
286
  end
287
287
  end
@@ -289,7 +289,7 @@ describe "Koala::Facebook::TestUsers" do
289
289
 
290
290
  describe "#test_user_accounts_path" do
291
291
  it "returns the app_id/accounts/test-users" do
292
- @test_users.test_user_accounts_path.should == "/#{@app_id}/accounts/test-users"
292
+ expect(@test_users.test_user_accounts_path).to eq("/#{@app_id}/accounts/test-users")
293
293
  end
294
294
  end
295
295
 
@@ -299,12 +299,12 @@ describe "Koala::Facebook::TestUsers" do
299
299
 
300
300
  if KoalaTest.mock_interface?
301
301
  id_counter = 999999900
302
- @test_users.stub(:create).and_return do
302
+ allow(@test_users).to receive(:create).and_return do
303
303
  id_counter += 1
304
304
  {"id" => id_counter, "access_token" => @token, "login_url" => "https://www.facebook.com/platform/test_account.."}
305
305
  end
306
- @test_users.stub(:befriend).and_return(true)
307
- @test_users.stub(:delete).and_return(true)
306
+ allow(@test_users).to receive(:befriend).and_return(true)
307
+ allow(@test_users).to receive(:delete).and_return(true)
308
308
  end
309
309
  end
310
310
 
@@ -312,15 +312,15 @@ describe "Koala::Facebook::TestUsers" do
312
312
  it "creates a 5 person network" do
313
313
  size = 5
314
314
  @network = @test_users.create_network(size)
315
- @network.should be_a(Array)
316
- @network.size.should == size
315
+ expect(@network).to be_a(Array)
316
+ expect(@network.size).to eq(size)
317
317
  end
318
318
  end
319
319
 
320
320
  it "has no built-in network size limit" do
321
321
  times = 100
322
- @test_users.should_receive(:create).exactly(times).times
323
- @test_users.stub(:befriend)
322
+ expect(@test_users).to receive(:create).exactly(times).times
323
+ allow(@test_users).to receive(:befriend)
324
324
  @test_users.create_network(times)
325
325
  end
326
326
 
@@ -328,17 +328,17 @@ describe "Koala::Facebook::TestUsers" do
328
328
  perms = ["read_stream", "offline_access"]
329
329
  installed = false
330
330
  count = 25
331
- @test_users.should_receive(:create).exactly(count).times.with(installed, perms, anything)
332
- @test_users.stub(:befriend)
331
+ expect(@test_users).to receive(:create).exactly(count).times.with(installed, perms, anything)
332
+ allow(@test_users).to receive(:befriend)
333
333
  @test_users.create_network(count, installed, perms)
334
334
  end
335
335
 
336
336
  it "accepts http options that are passed to both the create and befriend calls" do
337
337
  count = 25
338
338
  options = {:some_http_option => true}
339
- @test_users.should_receive(:create).exactly(count).times.with(anything, anything, options).and_return({})
339
+ expect(@test_users).to receive(:create).exactly(count).times.with(anything, anything, options).and_return({})
340
340
  # there are more befriends than creates, but we don't need to do the extra work to calculate out the exact #
341
- @test_users.should_receive(:befriend).at_least(count).times.with(anything, anything, options)
341
+ expect(@test_users).to receive(:befriend).at_least(count).times.with(anything, anything, options)
342
342
  @test_users.create_network(count, true, "", options)
343
343
  end
344
344
  end # when creating network