zendesk_api 0.0.9
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.
- data/.gitignore +7 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/.yardopts +1 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +59 -0
- data/LICENSE +19 -0
- data/Rakefile +49 -0
- data/Readme.md +178 -0
- data/lib/zendesk_api.rb +10 -0
- data/lib/zendesk_api/actions.rb +176 -0
- data/lib/zendesk_api/association.rb +267 -0
- data/lib/zendesk_api/client.rb +150 -0
- data/lib/zendesk_api/collection.rb +233 -0
- data/lib/zendesk_api/configuration.rb +52 -0
- data/lib/zendesk_api/core_ext/inflection.rb +13 -0
- data/lib/zendesk_api/core_ext/modulize.rb +10 -0
- data/lib/zendesk_api/core_ext/snakecase.rb +12 -0
- data/lib/zendesk_api/lru_cache.rb +38 -0
- data/lib/zendesk_api/middleware/request/etag_cache.rb +38 -0
- data/lib/zendesk_api/middleware/request/retry.rb +39 -0
- data/lib/zendesk_api/middleware/request/upload.rb +32 -0
- data/lib/zendesk_api/middleware/response/callback.rb +19 -0
- data/lib/zendesk_api/middleware/response/deflate.rb +18 -0
- data/lib/zendesk_api/middleware/response/gzip.rb +18 -0
- data/lib/zendesk_api/middleware/response/parse_iso_dates.rb +29 -0
- data/lib/zendesk_api/rescue.rb +44 -0
- data/lib/zendesk_api/resource.rb +133 -0
- data/lib/zendesk_api/resources/forum.rb +51 -0
- data/lib/zendesk_api/resources/misc.rb +66 -0
- data/lib/zendesk_api/resources/playlist.rb +64 -0
- data/lib/zendesk_api/resources/ticket.rb +76 -0
- data/lib/zendesk_api/resources/user.rb +44 -0
- data/lib/zendesk_api/track_changes.rb +72 -0
- data/lib/zendesk_api/trackie.rb +8 -0
- data/lib/zendesk_api/verbs.rb +43 -0
- data/lib/zendesk_api/version.rb +3 -0
- data/live/Readme.md +4 -0
- data/live/activity_spec.rb +5 -0
- data/live/audit_spec.rb +5 -0
- data/live/bookmark_spec.rb +11 -0
- data/live/category_spec.rb +12 -0
- data/live/collection_spec.rb +68 -0
- data/live/crm_spec.rb +11 -0
- data/live/custom_role_spec.rb +5 -0
- data/live/forum_spec.rb +14 -0
- data/live/forum_subscription_spec.rb +12 -0
- data/live/group_membership_spec.rb +18 -0
- data/live/group_spec.rb +14 -0
- data/live/identity_spec.rb +14 -0
- data/live/locale_spec.rb +11 -0
- data/live/macro_spec.rb +5 -0
- data/live/mobile_device_spec.rb +11 -0
- data/live/organization_spec.rb +12 -0
- data/live/satisfaction_rating_spec.rb +6 -0
- data/live/setting_spec.rb +5 -0
- data/live/suspended_ticket_spec.rb +8 -0
- data/live/ticket_field_spec.rb +12 -0
- data/live/ticket_metrics_spec.rb +6 -0
- data/live/ticket_spec.rb +88 -0
- data/live/topic_comment_spec.rb +13 -0
- data/live/topic_spec.rb +18 -0
- data/live/topic_subscription_spec.rb +12 -0
- data/live/topic_vote_spec.rb +13 -0
- data/live/upload_spec.rb +9 -0
- data/live/user_spec.rb +13 -0
- data/live/view_spec.rb +6 -0
- data/spec/association_spec.rb +210 -0
- data/spec/client_spec.rb +149 -0
- data/spec/collection_spec.rb +302 -0
- data/spec/configuration_spec.rb +24 -0
- data/spec/create_resource_spec.rb +39 -0
- data/spec/data_resource_spec.rb +229 -0
- data/spec/fixtures/Argentina.gif +0 -0
- data/spec/fixtures/Argentina2.gif +0 -0
- data/spec/fixtures/credentials.yml.example +3 -0
- data/spec/fixtures/test_resources.rb +8 -0
- data/spec/fixtures/zendesk.rb +88 -0
- data/spec/lru_cache_spec.rb +26 -0
- data/spec/macros/resource_macros.rb +157 -0
- data/spec/middleware/request/etag_cache_spec.rb +17 -0
- data/spec/middleware/request/retry_spec.rb +47 -0
- data/spec/middleware/request/test.jpg +0 -0
- data/spec/middleware/request/upload_spec.rb +74 -0
- data/spec/middleware/response/callback_spec.rb +17 -0
- data/spec/middleware/response/deflate_spec.rb +15 -0
- data/spec/middleware/response/gzip_spec.rb +19 -0
- data/spec/middleware/response/parse_iso_dates_spec.rb +44 -0
- data/spec/playlist_spec.rb +95 -0
- data/spec/read_resource_spec.rb +37 -0
- data/spec/rescue_spec.rb +94 -0
- data/spec/resource_spec.rb +332 -0
- data/spec/spec_helper.rb +120 -0
- data/spec/string_spec.rb +7 -0
- data/spec/trackie_spec.rb +39 -0
- data/zendesk_api.gemspec +38 -0
- metadata +364 -0
@@ -0,0 +1,332 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ZendeskAPI::Resource do
|
4
|
+
context "#update" do
|
5
|
+
context "class method" do
|
6
|
+
let(:id) { 1 }
|
7
|
+
subject { ZendeskAPI::TestResource }
|
8
|
+
|
9
|
+
before(:each) do
|
10
|
+
stub_json_request(:put, %r{test_resources/#{id}})
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should return instance of resource" do
|
14
|
+
subject.update(client, :id => id).should be_true
|
15
|
+
end
|
16
|
+
|
17
|
+
context "with client error" do
|
18
|
+
before(:each) do
|
19
|
+
stub_request(:put, %r{test_resources/#{id}}).to_return(:status => 500)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should handle it properly" do
|
23
|
+
expect { silence_logger{ subject.update(client, :id => id).should be_false } }.to_not raise_error
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context "#destroy" do
|
30
|
+
context "class method" do
|
31
|
+
let(:id) { 1 }
|
32
|
+
subject { ZendeskAPI::TestResource }
|
33
|
+
|
34
|
+
before(:each) do
|
35
|
+
stub_json_request(:delete, %r{test_resources/#{id}})
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should return instance of resource" do
|
39
|
+
subject.destroy(client, :id => id).should be_true
|
40
|
+
end
|
41
|
+
|
42
|
+
context "with client error" do
|
43
|
+
before(:each) do
|
44
|
+
stub_request(:delete, %r{test_resources/#{id}}).to_return(:status => 500)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should handle it properly" do
|
48
|
+
expect { silence_logger{ subject.destroy(client, :id => id).should be_false } }.to_not raise_error
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context "instance method" do
|
54
|
+
subject { ZendeskAPI::TestResource.new(client, :id => 1) }
|
55
|
+
|
56
|
+
before(:each) do
|
57
|
+
stub_request(:delete, %r{test_resources}).to_return(:status => 200)
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should return true and set destroyed" do
|
61
|
+
subject.destroy.should be_true
|
62
|
+
subject.destroyed?.should be_true
|
63
|
+
subject.destroy.should be_false
|
64
|
+
end
|
65
|
+
|
66
|
+
context "with client error" do
|
67
|
+
before(:each) do
|
68
|
+
stub_request(:delete, %r{test_resources}).to_return(:status => 500)
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should return false and not set destroyed" do
|
72
|
+
silence_logger{ subject.destroy.should be_false }
|
73
|
+
subject.destroyed?.should be_false
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
context "#save!" do
|
80
|
+
subject { ZendeskAPI::TestResource.new(client, :id => 1) }
|
81
|
+
|
82
|
+
before(:each) do
|
83
|
+
subject.should_receive(:save).and_return(false)
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should raise if save fails" do
|
87
|
+
expect { subject.save! }.to raise_error
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
context "#save" do
|
92
|
+
let(:id) { 1 }
|
93
|
+
let(:attr) { { :param => "test" } }
|
94
|
+
subject { ZendeskAPI::TestResource.new(client, attr.merge(:id => id)) }
|
95
|
+
|
96
|
+
before :each do
|
97
|
+
stub_json_request(:put, %r{test_resources/#{id}}, json(:test_resource => { :param => "abc" }))
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should not save if already destroyed" do
|
101
|
+
subject.should_receive(:destroyed?).and_return(true)
|
102
|
+
subject.save.should be_false
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should not be a new record with an id" do
|
106
|
+
subject.new_record?.should be_false
|
107
|
+
end
|
108
|
+
|
109
|
+
it "should put on save" do
|
110
|
+
subject.save.should be_true
|
111
|
+
subject[:param].should == "abc"
|
112
|
+
end
|
113
|
+
|
114
|
+
context "with unused associations" do
|
115
|
+
before do
|
116
|
+
ZendeskAPI::TestResource.associations.clear
|
117
|
+
ZendeskAPI::TestResource.has :child, :class => :test_child
|
118
|
+
ZendeskAPI::TestResource.has_many :children, :class => :test_child
|
119
|
+
end
|
120
|
+
|
121
|
+
it "should not touch them" do
|
122
|
+
subject.save.should == true
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
context "with client error" do
|
127
|
+
before :each do
|
128
|
+
stub_request(:put, %r{test_resources/1}).to_return(:status => 500)
|
129
|
+
end
|
130
|
+
|
131
|
+
it "should be properly handled" do
|
132
|
+
expect { silence_logger { subject.save.should be_false } }.to_not raise_error
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
context "new record" do
|
137
|
+
subject { ZendeskAPI::TestResource.new(client, attr) }
|
138
|
+
|
139
|
+
before :each do
|
140
|
+
stub_json_request(:post, %r{test_resources}, json(:test_resource => attr.merge(:id => id)), :status => 201)
|
141
|
+
end
|
142
|
+
|
143
|
+
it "should be true without an id" do
|
144
|
+
subject.new_record?.should be_true
|
145
|
+
end
|
146
|
+
|
147
|
+
it "should be false after creating" do
|
148
|
+
subject.save.should be_true
|
149
|
+
subject.new_record?.should be_false
|
150
|
+
subject.id.should == id
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
context "with nested associations to save" do
|
155
|
+
context "has" do
|
156
|
+
before(:each) do
|
157
|
+
ZendeskAPI::TestResource.associations.clear
|
158
|
+
ZendeskAPI::TestResource.has :child, :class => :test_child
|
159
|
+
stub_json_request(:put, %r{test_resources})
|
160
|
+
subject.child = { :id => 2 }
|
161
|
+
end
|
162
|
+
|
163
|
+
it "should call save on the association" do
|
164
|
+
subject.child.foo = "bar"
|
165
|
+
subject.child.should_receive(:save)
|
166
|
+
subject.save
|
167
|
+
end
|
168
|
+
|
169
|
+
it "should not call save on the association if they are synced" do
|
170
|
+
subject.child.should_not_receive(:save)
|
171
|
+
subject.save
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
context "has_many" do
|
176
|
+
before(:each) do
|
177
|
+
ZendeskAPI::TestResource.associations.clear
|
178
|
+
ZendeskAPI::TestResource.has_many :children, :class => :test_child
|
179
|
+
|
180
|
+
stub_json_request(:put, %r{test_resources})
|
181
|
+
stub_json_request(:get, %r{children}, json(:test_children => []))
|
182
|
+
end
|
183
|
+
|
184
|
+
it "should reset children_ids on save" do
|
185
|
+
subject.children = [2, 3]
|
186
|
+
subject.children_ids = [1]
|
187
|
+
subject.save
|
188
|
+
subject.children_ids.should == [2,3]
|
189
|
+
end
|
190
|
+
|
191
|
+
it "should not save the associated objects when there are no changes" do
|
192
|
+
subject.children = [2]
|
193
|
+
subject.children.first.should_not_receive(:save)
|
194
|
+
subject.save
|
195
|
+
end
|
196
|
+
|
197
|
+
it "should save the associated objects when it is new" do
|
198
|
+
subject.children = [{:foo => "bar"}]
|
199
|
+
subject.children.first.should_receive(:save)
|
200
|
+
subject.save
|
201
|
+
end
|
202
|
+
|
203
|
+
it "should not save the associated objects when it is set via full hash" do
|
204
|
+
subject.children = [{:id => 1, :foo => "bar"}]
|
205
|
+
subject.children.first.should_not_receive(:save)
|
206
|
+
subject.save
|
207
|
+
end
|
208
|
+
|
209
|
+
it "should save the associated objects when it is changes" do
|
210
|
+
subject.children = [{:id => 1}]
|
211
|
+
subject.children.first.foo = "bar"
|
212
|
+
subject.children.first.should_receive(:save)
|
213
|
+
subject.save
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
context "inline" do
|
218
|
+
before(:each) do
|
219
|
+
class ZendeskAPI::NilResource
|
220
|
+
def to_param; "TESTDATA"; end
|
221
|
+
end
|
222
|
+
|
223
|
+
ZendeskAPI::TestResource.associations.clear
|
224
|
+
ZendeskAPI::TestResource.has :nil, :class => :nil_resource, :inline => true
|
225
|
+
|
226
|
+
subject.nil = { :abc => :def }
|
227
|
+
subject.save_associations
|
228
|
+
end
|
229
|
+
|
230
|
+
it "should save param data" do
|
231
|
+
subject.attributes[:nil].should == "TESTDATA"
|
232
|
+
end
|
233
|
+
end
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
%w{put post delete}.each do |verb|
|
238
|
+
context "on #{verb}" do
|
239
|
+
let(:method) { "test_#{verb}_method" }
|
240
|
+
before(:each) do
|
241
|
+
ZendeskAPI::TestResource.send(verb, method)
|
242
|
+
end
|
243
|
+
|
244
|
+
context "class method" do
|
245
|
+
subject { ZendeskAPI::TestResource }
|
246
|
+
|
247
|
+
it "should create a method of the same name" do
|
248
|
+
subject.instance_methods.map(&:to_s).should include(method)
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
context "instance method" do
|
253
|
+
subject { ZendeskAPI::TestResource.new(client, :id => 1) }
|
254
|
+
|
255
|
+
before(:each) do
|
256
|
+
stub_json_request(verb.to_sym, %r{test_resources/1/#{method}}, json(:test_resources => [{ :id => 1, :method => method }]))
|
257
|
+
end
|
258
|
+
|
259
|
+
it "should return true" do
|
260
|
+
subject.send(method).should be_true
|
261
|
+
end
|
262
|
+
|
263
|
+
it "should update the attributes if they exist" do
|
264
|
+
subject.send(method)
|
265
|
+
subject[:method].should == method
|
266
|
+
end
|
267
|
+
|
268
|
+
context "with client error" do
|
269
|
+
before(:each) do
|
270
|
+
stub_request(verb.to_sym, %r{test_resources/1/#{method}}).to_return(:status => 500)
|
271
|
+
end
|
272
|
+
|
273
|
+
it "should return false" do
|
274
|
+
expect { silence_logger{ subject.send(method).should be_false } }.to_not raise_error
|
275
|
+
end
|
276
|
+
end
|
277
|
+
end
|
278
|
+
end
|
279
|
+
end
|
280
|
+
|
281
|
+
context "#inspect" do
|
282
|
+
it "should display nicely" do
|
283
|
+
ZendeskAPI::User.new(client, :foo => :bar).inspect.should == "#<ZendeskAPI::User {\"foo\"=>:bar}>"
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
287
|
+
context "#==" do
|
288
|
+
it "is same when id is same" do
|
289
|
+
ZendeskAPI::TestResource.new(client, :id => 1, "bar" => "baz").should == ZendeskAPI::TestResource.new(client, :id => 1, "foo" => "bar")
|
290
|
+
end
|
291
|
+
|
292
|
+
it "is same when object_id is same" do
|
293
|
+
object = ZendeskAPI::TestResource.new(client, "bar" => "baz")
|
294
|
+
object.should == object
|
295
|
+
end
|
296
|
+
|
297
|
+
it "is different when both have no id" do
|
298
|
+
ZendeskAPI::TestResource.new(client).should_not == ZendeskAPI::TestResource.new(client)
|
299
|
+
end
|
300
|
+
|
301
|
+
it "is different when id is different" do
|
302
|
+
ZendeskAPI::TestResource.new(client, :id => 2).should_not == ZendeskAPI::TestResource.new(client, :id => 1)
|
303
|
+
end
|
304
|
+
|
305
|
+
it "is different when class is different" do
|
306
|
+
ZendeskAPI::TestResource.new(client, :id => 2).should_not == ZendeskAPI::TestResource::TestChild.new(client, :id => 2)
|
307
|
+
end
|
308
|
+
|
309
|
+
it "is different when other is no resource" do
|
310
|
+
ZendeskAPI::TestResource.new(client, :id => 2).should_not == nil
|
311
|
+
end
|
312
|
+
|
313
|
+
it "warns about weird comparissons" do
|
314
|
+
object = ZendeskAPI::TestResource.new(client, :id => 2)
|
315
|
+
object.should_receive(:warn)
|
316
|
+
object.should_not == "xxx"
|
317
|
+
end
|
318
|
+
end
|
319
|
+
|
320
|
+
context "#new" do
|
321
|
+
it "builds with hash" do
|
322
|
+
object = ZendeskAPI::TestResource.new(client, {})
|
323
|
+
object.attributes.should == {}
|
324
|
+
end
|
325
|
+
|
326
|
+
it "fails to build with nil (e.g. empty response from server)" do
|
327
|
+
expect{
|
328
|
+
ZendeskAPI::TestResource.new(client, nil)
|
329
|
+
}.to raise_error(/Expected a Hash/i)
|
330
|
+
end
|
331
|
+
end
|
332
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,120 @@
|
|
1
|
+
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
2
|
+
$:.unshift(File.join(File.dirname(__FILE__), "macros"))
|
3
|
+
|
4
|
+
ENV['TZ'] = 'CET' # something that is not local and not utc so we find all the bugs
|
5
|
+
|
6
|
+
if RUBY_VERSION =~ /1.9/ && ENV["COVERAGE"]
|
7
|
+
require 'simplecov'
|
8
|
+
SimpleCov.start do
|
9
|
+
add_filter "spec/"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
require 'zendesk_api'
|
14
|
+
require 'vcr'
|
15
|
+
require 'logger'
|
16
|
+
require 'stringio'
|
17
|
+
require 'json'
|
18
|
+
|
19
|
+
require 'resource_macros'
|
20
|
+
require 'fixtures/zendesk'
|
21
|
+
require 'fixtures/test_resources'
|
22
|
+
|
23
|
+
# tests fail when this is included in a Module (someone else also defines client)
|
24
|
+
def client
|
25
|
+
credentials = File.join(File.dirname(__FILE__), "fixtures", "credentials.yml")
|
26
|
+
@client ||= begin
|
27
|
+
client = ZendeskAPI::Client.new do |config|
|
28
|
+
if File.exist?(credentials)
|
29
|
+
data = YAML.load(File.read(credentials))
|
30
|
+
config.username = data["username"]
|
31
|
+
config.password = data["password"]
|
32
|
+
config.url = data["url"]
|
33
|
+
|
34
|
+
if data["url"].start_with?("http://")
|
35
|
+
config.allow_http = true
|
36
|
+
end
|
37
|
+
else
|
38
|
+
puts "using default credentials: live specs will fail."
|
39
|
+
puts "add your credentials to spec/fixtures/credentials.yml (see: spec/fixtures/credentials.yml.example)"
|
40
|
+
config.username = "please.change"
|
41
|
+
config.password = "me"
|
42
|
+
config.url = "https://my.zendesk.com/api/v2"
|
43
|
+
end
|
44
|
+
|
45
|
+
config.retry = true
|
46
|
+
end
|
47
|
+
|
48
|
+
client.config.logger.level = (ENV["LOG"] ? Logger::INFO : Logger::WARN)
|
49
|
+
client.config.cache.size = 0
|
50
|
+
|
51
|
+
client
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
module TestHelper
|
56
|
+
def silence_logger
|
57
|
+
old_level = client.config.logger.level
|
58
|
+
client.config.logger.level = 6
|
59
|
+
yield
|
60
|
+
ensure
|
61
|
+
client.config.logger.level = old_level
|
62
|
+
end
|
63
|
+
|
64
|
+
def silence_stderr
|
65
|
+
$stderr = File.new( '/dev/null', 'w' )
|
66
|
+
yield
|
67
|
+
ensure
|
68
|
+
$stderr = STDERR
|
69
|
+
end
|
70
|
+
|
71
|
+
def json(body = {})
|
72
|
+
JSON.dump(body)
|
73
|
+
end
|
74
|
+
|
75
|
+
def stub_json_request(verb, path_matcher, body = json, options = {})
|
76
|
+
stub_request(verb, path_matcher).to_return(Hashie::Mash.new(
|
77
|
+
:body => body, :headers => { :content_type => "application/json" }
|
78
|
+
).deep_merge(options))
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
RSpec.configure do |c|
|
83
|
+
# so we can use `:vcr` rather than `:vcr => true`;
|
84
|
+
# in RSpec 3 this will no longer be necessary.
|
85
|
+
c.treat_symbols_as_metadata_keys_with_true_values = true
|
86
|
+
|
87
|
+
c.before(:each) do
|
88
|
+
ZendeskAPI::TestResource.associations.clear
|
89
|
+
ZendeskAPI::TestResource.has_many :children, :class => :test_child
|
90
|
+
end
|
91
|
+
|
92
|
+
c.before(:each) do
|
93
|
+
WebMock.reset!
|
94
|
+
end
|
95
|
+
|
96
|
+
c.around(:each, :silence_logger) do |example|
|
97
|
+
silence_logger{ example.call }
|
98
|
+
end
|
99
|
+
|
100
|
+
c.around(:each, :prevent_logger_changes) do |example|
|
101
|
+
begin
|
102
|
+
old_logger = client.config.logger
|
103
|
+
example.call
|
104
|
+
ensure
|
105
|
+
client.config.logger = old_logger
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
c.extend VCR::RSpec::Macros
|
110
|
+
c.extend ResourceMacros
|
111
|
+
c.include TestHelper
|
112
|
+
end
|
113
|
+
|
114
|
+
VCR.configure do |c|
|
115
|
+
c.cassette_library_dir = File.join(File.dirname(__FILE__), "fixtures", "cassettes")
|
116
|
+
c.default_cassette_options = { :record => :new_episodes, :decode_compressed_response => true }
|
117
|
+
c.hook_into :webmock
|
118
|
+
end
|
119
|
+
|
120
|
+
include WebMock::API
|