Skip to content

Commit 6f68579

Browse files
committed
Adds tests for run_request method
1 parent 6900d76 commit 6f68579

File tree

2 files changed

+150
-2
lines changed

2 files changed

+150
-2
lines changed

spec/cassettes/conversation.yml

Lines changed: 119 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

spec/layer/connection_spec.rb

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
before do
55
@layer = Layer::Api::Client.new
66
@conn = @layer.connection
7+
@default_headers = @layer.default_layer_headers.reject{|k, v| k == 'If-None-Match'}
78
end
89

910
describe ".connection" do
@@ -14,8 +15,7 @@
1415
it "should return a connection containing default layer headers" do
1516
# Remove If-None-Match header since it's always going to be random
1617
# and we can't compare it
17-
default_headers = @layer.default_layer_headers.reject{|k, v| k == 'If-None-Match'}
18-
expect(@conn.headers).to include(default_headers)
18+
expect(@conn.headers).to include(@default_headers)
1919
expect(@conn.headers).to include("If-None-Match")
2020
end
2121

@@ -29,4 +29,33 @@
2929
expect(@conn.object_id).to eq(new_conn.object_id)
3030
end
3131
end
32+
33+
describe ".run_request" do
34+
it "should successfully add default layer headers to request" do
35+
VCR.use_cassette('conversation') do
36+
request = @layer.run_request(:get, 'users/test/blocks')
37+
expect(request.env.request_headers).to include(@default_headers)
38+
expect(request.env.request_headers).to include("If-None-Match")
39+
end
40+
end
41+
42+
it "should make request to url that is supplied as param" do
43+
VCR.use_cassette('conversation') do
44+
request_url = 'users/test/blocks'
45+
request = @layer.run_request(:get, request_url)
46+
request_actual = request.env.url.to_s.sub("#{@layer.base_url}/", "")
47+
48+
expect(request_actual).to eq (request_url)
49+
end
50+
end
51+
52+
it "should use the http method that is supplied as a param" do
53+
VCR.use_cassette('announcement') do
54+
method = :post
55+
request = @layer.run_request(method, 'announcements', announcement_params)
56+
57+
expect(request.env.method).to eq(method)
58+
end
59+
end
60+
end
3261
end

0 commit comments

Comments
 (0)