Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,6 @@
.Trashes
ehthumbs.db
Thumbs.db

# Test scripts
scripts/
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ events = client.console.event_log(
```ruby
response = client.console.list_pass_template_pairs(page: 1, per_page: 20)

response['pass_template_pairs'].each do |pair|
response['card_template_pairs'].each do |pair|
puts "#{pair.name} (#{pair.id})"
puts " iOS: #{pair.ios_template&.name}"
puts " Android: #{pair.android_template&.name}"
Expand Down Expand Up @@ -477,7 +477,8 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/access
| PUT /v1/console/card-templates/{id} | `console.update_template()` | Y |
| GET /v1/console/card-templates/{id} | `console.read_template()` | Y |
| GET /v1/console/card-templates/{id}/logs | `console.get_logs()` / `console.event_log()` | Y |
| GET /v1/console/pass-template-pairs | `console.list_pass_template_pairs()` | Y |
| GET /v1/console/card-template-pairs | `console.list_pass_template_pairs()` | Y |
| POST /v1/console/card-template-pairs | `console.create_pass_template_pair()` | Y |
| POST /v1/console/card-templates/{id}/ios_preflight | `console.ios_preflight()` | Y |
| GET /v1/console/ledger-items | `console.list_ledger_items()` / `console.ledger_items()` | Y |
| GET /v1/console/webhooks | `console.webhooks.list()` | Y |
Expand Down
3 changes: 1 addition & 2 deletions lib/accessgrid/access_cards.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,7 @@ def delete(card_id)
def manage_state(card_id, action)
response = @client.make_request(
:post,
"/v1/key-cards/#{card_id}/#{action}",
{}
"/v1/key-cards/#{card_id}/#{action}"
)
Card.new(response)
end
Expand Down
11 changes: 8 additions & 3 deletions lib/accessgrid/console.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,20 @@ def event_log(params)
end

def list_pass_template_pairs(params = {})
response = @client.make_request(:get, '/v1/console/pass-template-pairs', nil, params)
response = @client.make_request(:get, '/v1/console/card-template-pairs', nil, params)

if response['pass_template_pairs']
response['pass_template_pairs'] = response['pass_template_pairs'].map { |pair| PassTemplatePair.new(pair) }
if response['card_template_pairs']
response['card_template_pairs'] = response['card_template_pairs'].map { |pair| PassTemplatePair.new(pair) }
end

response
end

def create_pass_template_pair(params)
response = @client.make_request(:post, '/v1/console/card-template-pairs', params)
PassTemplatePair.new(response)
end

def list_ledger_items(params = {})
response = @client.make_request(:get, '/v1/console/ledger-items', nil, params)

Expand Down
36 changes: 18 additions & 18 deletions spec/console_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@
describe '#list_pass_template_pairs' do
let(:pairs_response) do
{
pass_template_pairs: [
card_template_pairs: [
{
id: 'pair_1',
name: 'Employee Badge Pair',
Expand All @@ -353,67 +353,67 @@
it 'returns pass template pairs' do
stub_api_request(
:get,
'/v1/console/pass-template-pairs',
'/v1/console/card-template-pairs',
body: pairs_response,
query: generate_sig_payload(id: :'pass-template-pairs')
query: generate_sig_payload(id: :'card-template-pairs')
)

response = console.list_pass_template_pairs

expect(response).to be_a(Hash)
expect(response['pass_template_pairs']).to be_an(Array)
expect(response['pass_template_pairs'].length).to eq(2)
expect(response['card_template_pairs']).to be_an(Array)
expect(response['card_template_pairs'].length).to eq(2)

first_pair = response['pass_template_pairs'].first
first_pair = response['card_template_pairs'].first
expect(first_pair).to be_a(AccessGrid::PassTemplatePair)
expect(first_pair.id).to eq('pair_1')
expect(first_pair.ios_template).to be_a(AccessGrid::TemplateInfo)
expect(first_pair.android_template).to be_a(AccessGrid::TemplateInfo)
end

it 'accepts pagination params' do
query = { page: 2, per_page: 10 }.merge(generate_sig_payload(id: :'pass-template-pairs'))
query = { page: 2, per_page: 10 }.merge(generate_sig_payload(id: :'card-template-pairs'))

stub_api_request(
:get,
'/v1/console/pass-template-pairs',
'/v1/console/card-template-pairs',
body: pairs_response,
query: query
)

response = console.list_pass_template_pairs(page: 2, per_page: 10)

expect(response['pass_template_pairs']).to be_an(Array)
expect(response['card_template_pairs']).to be_an(Array)
end

it 'handles empty response' do
empty_response = { pass_template_pairs: [], pagination: { current_page: 1, total_pages: 0 } }
empty_response = { card_template_pairs: [], pagination: { current_page: 1, total_pages: 0 } }

stub_api_request(
:get,
'/v1/console/pass-template-pairs',
'/v1/console/card-template-pairs',
body: empty_response,
query: generate_sig_payload(id: :'pass-template-pairs')
query: generate_sig_payload(id: :'card-template-pairs')
)

response = console.list_pass_template_pairs

expect(response['pass_template_pairs']).to eq([])
expect(response['card_template_pairs']).to eq([])
end

it 'handles nil pass_template_pairs in response' do
nil_response = { pass_template_pairs: nil }
it 'handles nil card_template_pairs in response' do
nil_response = { card_template_pairs: nil }

stub_api_request(
:get,
'/v1/console/pass-template-pairs',
'/v1/console/card-template-pairs',
body: nil_response,
query: generate_sig_payload(id: :'pass-template-pairs')
query: generate_sig_payload(id: :'card-template-pairs')
)

response = console.list_pass_template_pairs

expect(response['pass_template_pairs']).to be_nil
expect(response['card_template_pairs']).to be_nil
end
end

Expand Down