Skip to content
This repository was archived by the owner on Jan 14, 2025. It is now read-only.

Commit a421ad5

Browse files
feat: Add unmanaged_access_codes.delete method (#67)
* Add delete method to unmanaged_access_codes + test * Fix test * Run format --------- Co-authored-by: Seam Bot <devops@getseam.com>
1 parent d6f9fa3 commit a421ad5

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

lib/seam/clients/unmanaged_access_codes.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,20 @@ def convert_to_managed(access_code_id, allow_external_modification: nil)
4141
action_attempt.wait_until_finished
4242
action_attempt
4343
end
44+
45+
def delete(access_code_id)
46+
action_attempt = request_seam_object(
47+
:post,
48+
"/access_codes/unmanaged/delete",
49+
Seam::ActionAttempt,
50+
"action_attempt",
51+
body: {
52+
access_code_id: access_code_id
53+
}
54+
)
55+
action_attempt.wait_until_finished
56+
action_attempt
57+
end
4458
end
4559
end
4660
end

spec/clients/unmanaged_access_codes_spec.rb

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@
2525
let(:unmanaged_access_code_hash) { {access_code_id: "123", device_id: device_id} }
2626

2727
before do
28-
stub_seam_request(:post, "/access_codes/unmanaged/list", {access_codes: [unmanaged_access_code_hash]}).with { |req| req.body.source == {device_id: device_id}.to_json }
28+
stub_seam_request(:post, "/access_codes/unmanaged/list",
29+
{access_codes: [unmanaged_access_code_hash]}).with do |req|
30+
req.body.source == {device_id: device_id}.to_json
31+
end
2932
end
3033

3134
let(:unmanaged_access_codes) { client.unmanaged_access_codes.list(device_id) }
@@ -65,4 +68,33 @@
6568
expect(result).to be_a(Seam::ActionAttempt)
6669
end
6770
end
71+
72+
describe "#delete" do
73+
let(:access_code_id) { "access_code_5678" }
74+
let(:action_attempt_hash) { {action_attempt_id: "5678", status: "pending"} }
75+
76+
before do
77+
stub_seam_request(
78+
:post, "/access_codes/unmanaged/delete", {action_attempt: action_attempt_hash}
79+
).with do |req|
80+
req.body.source == {access_code_id: access_code_id}.to_json
81+
end
82+
83+
stub_seam_request(
84+
:post,
85+
"/action_attempts/get",
86+
{
87+
action_attempt: {
88+
status: "success"
89+
}
90+
}
91+
).with { |req| req.body.source == {action_attempt_id: action_attempt_hash[:action_attempt_id]}.to_json }
92+
end
93+
94+
let(:result) { client.unmanaged_access_codes.delete(access_code_id) }
95+
96+
it "returns an Action Attempt" do
97+
expect(result).to be_a(Seam::ActionAttempt)
98+
end
99+
end
68100
end

0 commit comments

Comments
 (0)