|
4 | 4 | let(:client) { Seam::Client.new(api_key: "some_api_key") } |
5 | 5 |
|
6 | 6 | describe "#list" do |
7 | | - let(:access_code_hash) { {access_code_id: "123"} } |
8 | | - let(:device_id) { "device_id_1234" } |
| 7 | + let(:access_code_id) { "123" } |
| 8 | + let(:access_code_hash) { {access_code_id: access_code_id} } |
9 | 9 |
|
10 | | - before do |
11 | | - stub_seam_request(:get, "/access_codes/list", |
12 | | - {access_codes: [access_code_hash]}).with(query: {device_id: device_id}) |
| 10 | + context "'device_id' param" do |
| 11 | + let(:device_id) { "device_id_1234" } |
| 12 | + |
| 13 | + before do |
| 14 | + stub_seam_request(:post, "/access_codes/list", |
| 15 | + {access_codes: [access_code_hash]}).with do |req| |
| 16 | + req.body.source == {device_id: device_id}.to_json |
| 17 | + end |
| 18 | + end |
| 19 | + |
| 20 | + let(:access_codes) { client.access_codes.list(device_id) } |
| 21 | + |
| 22 | + it "returns a list of Access codes" do |
| 23 | + expect(access_codes).to be_a(Array) |
| 24 | + expect(access_codes.first).to be_a(Seam::AccessCode) |
| 25 | + expect(access_codes.first.access_code_id).to be_a(String) |
| 26 | + end |
13 | 27 | end |
14 | 28 |
|
15 | | - let(:access_codes) { client.access_codes.list(device_id) } |
| 29 | + context "'access_code_ids' param" do |
| 30 | + before do |
| 31 | + stub_seam_request(:post, "/access_codes/list", |
| 32 | + {access_codes: [access_code_hash]}).with do |req| |
| 33 | + req.body.source == {access_code_ids: [access_code_id]}.to_json |
| 34 | + end |
| 35 | + end |
| 36 | + |
| 37 | + let(:access_codes) { client.access_codes.list(access_code_ids: [access_code_id]) } |
16 | 38 |
|
17 | | - it "returns a list of Devices" do |
18 | | - expect(access_codes).to be_a(Array) |
19 | | - expect(access_codes.first).to be_a(Seam::AccessCode) |
20 | | - expect(access_codes.first.access_code_id).to be_a(String) |
| 39 | + it "returns a list of Access codes" do |
| 40 | + expect(access_codes).to be_a(Array) |
| 41 | + expect(access_codes.first).to be_a(Seam::AccessCode) |
| 42 | + expect(access_codes.first.access_code_id).to be_a(String) |
| 43 | + end |
21 | 44 | end |
22 | 45 | end |
23 | 46 |
|
|
103 | 126 | expect(result).to be_a(Seam::ActionAttempt) |
104 | 127 | end |
105 | 128 | end |
| 129 | + |
| 130 | + describe "#update" do |
| 131 | + let(:access_code_id) { "access_code_1234" } |
| 132 | + let(:action_attempt_hash) { {action_attempt_id: "1234", status: "pending"} } |
| 133 | + |
| 134 | + before do |
| 135 | + stub_seam_request( |
| 136 | + :post, "/access_codes/update", {action_attempt: action_attempt_hash} |
| 137 | + ).with do |req| |
| 138 | + req.body.source == {access_code_id: access_code_id, type: "ongoing"}.to_json |
| 139 | + end |
| 140 | + |
| 141 | + stub_seam_request( |
| 142 | + :get, |
| 143 | + "/action_attempts/get", |
| 144 | + { |
| 145 | + action_attempt: { |
| 146 | + status: "success" |
| 147 | + } |
| 148 | + } |
| 149 | + ).with(query: {action_attempt_id: action_attempt_hash[:action_attempt_id]}) |
| 150 | + end |
| 151 | + |
| 152 | + let(:result) { client.access_codes.update(access_code_id: access_code_id, type: "ongoing") } |
| 153 | + |
| 154 | + it "returns an Access Code" do |
| 155 | + expect(result).to be_a(Seam::ActionAttempt) |
| 156 | + end |
| 157 | + end |
106 | 158 | end |
0 commit comments