teamsnap_rb 2.4.0 → 2.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/stale.yml +16 -0
  3. data/.gitignore +1 -1
  4. data/.travis.yml +5 -6
  5. data/CHANGELOG.md +7 -0
  6. data/Gemfile +1 -2
  7. data/README.md +0 -1
  8. data/Rakefile +0 -5
  9. data/lib/teamsnap.rb +5 -1
  10. data/lib/teamsnap/api.rb +2 -1
  11. data/lib/teamsnap/auth_middleware.rb +2 -0
  12. data/lib/teamsnap/response.rb +5 -1
  13. data/lib/teamsnap/version.rb +1 -1
  14. data/spec/cassettes/apiv3-init.yml +850 -236
  15. data/spec/cassettes/teamsnap__api/_run/when_creating/when_successful/can_parse_the_json.yml +73 -0
  16. data/spec/cassettes/teamsnap__api/_run/when_deleting/when_successful/handles_empty_response_body.yml +38 -0
  17. data/spec/cassettes/teamsnap__client/_api/Sends_the_proper_information_to_TeamSnap_Api_run.yml +87 -0
  18. data/spec/cassettes/teamsnap__client/when_calling_via_s_on_the_client/does_not_raise_an_error_when_the_HTTP_actions_are_called.yml +24 -17
  19. data/spec/cassettes/teamsnap__client/when_calling_via_s_on_the_client/passes_them_to_the_faraday_client_using_method_missing.yml +24 -17
  20. data/spec/cassettes/teamsnap__client/when_specifying_a_headers_flag/correctly_sets_the_ghost_header_flag.yml +846 -232
  21. data/spec/cassettes/teamsnap__client/when_specifying_a_headers_flag/won_t_set_feature_headers_without_the_header_variable_present.yml +847 -232
  22. data/spec/cassettes/teamsnap__collection/_items/returns_all_items_for_a_base_collection.yml +68 -63
  23. data/spec/cassettes/teamsnap__collection/adds_find_if_search_is_available.yml +44 -27
  24. data/spec/cassettes/teamsnap__collection/adds_href_to_items.yml +132 -33
  25. data/spec/cassettes/teamsnap__collection/can_follow_plural_links.yml +421 -136
  26. data/spec/cassettes/teamsnap__collection/can_follow_singular_links.yml +175 -59
  27. data/spec/cassettes/teamsnap__collection/can_handle_links_with_no_data.yml +155 -53
  28. data/spec/cassettes/teamsnap__collection/handles_executing_an_action_via_commands.yml +132 -33
  29. data/spec/cassettes/teamsnap__collection/handles_executing_an_action_via_commands_with_multiple_params.yml +75 -35
  30. data/spec/cassettes/teamsnap__collection/handles_fetching_data_via_queries.yml +44 -27
  31. data/spec/cassettes/teamsnap__collection/handles_queries_with_no_data.yml +36 -22
  32. data/spec/cassettes/teamsnap__collection/raises_an_exception_if_find_returns_nothing.yml +36 -22
  33. data/spec/cassettes/teamsnap__collection/supports_relations_with_expected_behaviors/when_a_plural_relation_is_called/responds_with_an_array_of_objects_when_successful.yml +63 -51
  34. data/spec/cassettes/teamsnap__collection/supports_relations_with_expected_behaviors/when_a_plural_relation_is_called/responds_with_an_empty_array_when_no_objects_exist.yml +57 -47
  35. data/spec/cassettes/teamsnap__collection/supports_relations_with_expected_behaviors/when_a_singular_relation_is_called/responds_with_nil_if_it_does_NOT_exist.yml +49 -42
  36. data/spec/cassettes/teamsnap__collection/supports_relations_with_expected_behaviors/when_a_singular_relation_is_called/responds_with_the_object_if_it_exists.yml +77 -53
  37. data/spec/cassettes/teamsnap__structure/_create_collection_class/registers_new_classes_via_introspection_of_the_root_collection.yml +36 -22
  38. data/spec/cassettes/teamsnap__structure/_create_collection_class/sets_the_href_attribute_on_the_new_class.yml +36 -22
  39. data/spec/cassettes/teamsnap__structure/_init/has_all_classes_in_schema_loaded_except_for_exceptions_list_endpoints.yml +24 -17
  40. data/spec/cassettes/teamsnap_rb/_bulk_load/can_handle_an_empty_bulk_load.yml +16 -16
  41. data/spec/cassettes/teamsnap_rb/_bulk_load/can_handle_an_error_with_bulk_load_without_a_team_id.yml +14 -14
  42. data/spec/cassettes/teamsnap_rb/_bulk_load/can_use_bulk_load.yml +291 -103
  43. data/spec/cassettes/teamsnap_rb/_client_send/when_sent_a_known_via_/accepts_test_file_arg_when_creating_HMAC.yml +82 -2653
  44. data/spec/cassettes/teamsnap_rb/_client_send/when_sent_a_known_via_/calls_DELETE_on_the_given_client.yml +67 -2639
  45. data/spec/cassettes/teamsnap_rb/_client_send/when_sent_a_known_via_/calls_GET_on_the_given_client.yml +24 -17
  46. data/spec/cassettes/teamsnap_rb/_client_send/when_sent_a_known_via_/calls_PATCH_on_the_given_client.yml +67 -2639
  47. data/spec/cassettes/teamsnap_rb/_client_send/when_sent_a_known_via_/calls_POST_on_the_given_client.yml +67 -2639
  48. data/spec/cassettes/teamsnap_rb/_run/processes_the_response.yml +93 -65
  49. data/spec/cassettes/uploading_files/uploads_a_file.yml +130 -31
  50. data/spec/cassettes/uploading_files/uploads_a_tempfile.yml +130 -31
  51. data/spec/features/uploading_files_spec.rb +2 -2
  52. data/spec/spec_helper.rb +0 -13
  53. data/spec/teamsnap/apiv_spec.rb +49 -1
  54. data/spec/teamsnap/client_spec.rb +4 -4
  55. data/spec/teamsnap/collection_spec.rb +5 -5
  56. data/spec/teamsnap/item_spec.rb +1 -1
  57. data/spec/teamsnap/structure_spec.rb +2 -2
  58. data/spec/teamsnap_spec.rb +4 -4
  59. data/teamsnap_rb.gemspec +5 -5
  60. metadata +27 -14
@@ -5,12 +5,14 @@ http_interactions:
5
5
  uri: http://localhost:3000/members/upload_member_photo
6
6
  body:
7
7
  encoding: US-ASCII
8
- string: member_id=6&file=teamsnap20160811-17692-tu2gsv.png=application/octet-stream=/var/folders/0j/9mlhhlrx76n7pb4dl9gw3gm00000gn/T/teamsnap20160811-17692-tu2gsv.png
8
+ string: member_id=6&file=teamsnap20200522-98552-3s0ge3.png=application/octet-stream=/var/folders/0_/xn1lcks13mz03fwyrh7pzpwm0000gn/T/teamsnap20200522-98552-3s0ge3.png
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.9.2
11
+ - Faraday v0.17.3
12
12
  Authorization:
13
13
  - Bearer 7-js_frontend-dont_tell_the_cops
14
+ Expect:
15
+ - ''
14
16
  response:
15
17
  status:
16
18
  code: 200
@@ -18,58 +20,155 @@ http_interactions:
18
20
  headers:
19
21
  Content-Type:
20
22
  - application/vnd.collection+json
21
- Content-Length:
22
- - '12779'
23
23
  X-Content-Type-Options:
24
24
  - nosniff
25
25
  ETag:
26
- - '"f6400f3acf2c1713f7c3a640f489ba0d"'
26
+ - W/"2e86951038325aeba27a9bdc2ebec1ea"
27
27
  Cache-Control:
28
28
  - max-age=0, private, must-revalidate
29
29
  X-Request-Id:
30
- - e2ffc425-d9e7-471f-9e47-7b318d1c9b5a
30
+ - 4ee3f7d6-7b09-4da1-b5bb-71925370a30d
31
31
  X-Runtime:
32
- - '7.389259'
33
- Connection:
34
- - keep-alive
35
- Server:
36
- - thin
32
+ - '4.449560'
33
+ Vary:
34
+ - Origin
35
+ Content-Length:
36
+ - '24730'
37
37
  body:
38
38
  encoding: UTF-8
39
- string: '{"collection":{"version":"3.306.2","href":"http://localhost:3000/members","rel":"members","template":{"data":[{"name":"first_name","value":null},{"name":"last_name","value":null},{"name":"gender","value":null},{"name":"position","value":null},{"name":"is_manager","value":null},{"name":"birthday","value":null},{"name":"hide_age","value":null,"deprecated":true,"prompt":"hide_age
39
+ string: '{"collection":{"version":"3.854.0","href":"http://localhost:3000/members","rel":"members","template":{"data":[{"name":"first_name","value":null},{"name":"last_name","value":null},{"name":"gender","value":null},{"name":"position","value":null},{"name":"is_manager","value":null},{"name":"birthday","value":null},{"name":"hide_age","value":null,"deprecated":true,"prompt":"hide_age
40
40
  is deprecated and will be removed in a future version, use is_age_hidden instead."},{"name":"is_age_hidden","value":null},{"name":"hide_address","value":null,"deprecated":true,"prompt":"hide_address
41
41
  is deprecated and will be removed in a future version, use is_address_hidden
42
- instead."},{"name":"is_address_hidden","value":null},{"name":"is_non_player","value":null},{"name":"address_street1","value":null},{"name":"address_street2","value":null},{"name":"address_city","value":null},{"name":"address_state","value":null},{"name":"address_zip","value":null},{"name":"jersey_number","value":null},{"name":"team_id","value":null},{"name":"is_ownership_pending","value":null},{"name":"type","value":"member"}]},"links":[{"rel":"assignments","href":"http://localhost:3000/assignments"},{"rel":"availabilities","href":"http://localhost:3000/availabilities"},{"rel":"broadcast_email_attachments","href":"http://localhost:3000/broadcast_email_attachments"},{"rel":"broadcast_emails","href":"http://localhost:3000/broadcast_emails"},{"rel":"broadcast_alerts","href":"http://localhost:3000/broadcast_alerts"},{"rel":"contact_email_addresses","href":"http://localhost:3000/contact_email_addresses"},{"rel":"contact_phone_numbers","href":"http://localhost:3000/contact_phone_numbers"},{"rel":"contacts","href":"http://localhost:3000/contacts"},{"rel":"custom_data","href":"http://localhost:3000/custom_data"},{"rel":"custom_fields","href":"http://localhost:3000/custom_fields"},{"rel":"league_custom_data","href":"http://localhost:3000/league_custom_data"},{"rel":"league_custom_fields","href":"http://localhost:3000/league_custom_fields"},{"rel":"forum_posts","href":"http://localhost:3000/forum_posts"},{"rel":"forum_subscriptions","href":"http://localhost:3000/forum_subscriptions"},{"rel":"forum_topics","href":"http://localhost:3000/forum_topics"},{"rel":"league_registrant_documents","href":"http://localhost:3000/league_registrant_documents"},{"rel":"member_assignments","href":"http://localhost:3000/member_assignments"},{"rel":"member_balances","href":"http://localhost:3000/member_balances"},{"rel":"member_email_addresses","href":"http://localhost:3000/member_email_addresses"},{"rel":"member_files","href":"http://localhost:3000/member_files"},{"rel":"member_links","href":"http://localhost:3000/member_links"},{"rel":"member_payments","href":"http://localhost:3000/member_payments"},{"rel":"member_phone_numbers","href":"http://localhost:3000/member_phone_numbers"},{"rel":"member_preferences","href":"http://localhost:3000/members_preferences"},{"rel":"member_statistics","href":"http://localhost:3000/member_statistics"},{"rel":"message_data","href":"http://localhost:3000/message_data"},{"rel":"messages","href":"http://localhost:3000/messages"},{"rel":"statistic_data","href":"http://localhost:3000/statistic_data"},{"rel":"team","href":"http://localhost:3000/teams"},{"rel":"team_media","href":"http://localhost:3000/team_media"},{"rel":"team_medium_comments","href":"http://localhost:3000/team_medium_comments"},{"rel":"tracked_item_statuses","href":"http://localhost:3000/tracked_item_statuses"},{"rel":"user","href":"http://localhost:3000/users"},{"rel":"root","href":"http://localhost:3000/"},{"rel":"self","href":"http://localhost:3000/members/upload_member_photo"}],"queries":[{"rel":"search","href":"http://localhost:3000/members/search","data":[{"name":"team_id","value":null},{"name":"user_id","value":null},{"name":"id","value":null},{"name":"page_size","value":null,"prompt":"The
42
+ instead."},{"name":"is_address_hidden","value":null},{"name":"is_non_player","value":null},{"name":"address_street1","value":null},{"name":"address_street2","value":null},{"name":"address_city","value":null},{"name":"address_state","value":null},{"name":"address_zip","value":null},{"name":"jersey_number","value":null},{"name":"team_id","value":null},{"name":"is_ownership_pending","value":null},{"name":"source_action","value":null},{"name":"type","value":"member"}]},"links":[{"rel":"assignments","href":"http://localhost:3000/assignments"},{"rel":"availabilities","href":"http://localhost:3000/availabilities"},{"rel":"broadcast_email_attachments","href":"http://localhost:3000/broadcast_email_attachments"},{"rel":"broadcast_emails","href":"http://localhost:3000/broadcast_emails"},{"rel":"broadcast_alerts","href":"http://localhost:3000/broadcast_alerts"},{"rel":"contact_email_addresses","href":"http://localhost:3000/contact_email_addresses"},{"rel":"contact_phone_numbers","href":"http://localhost:3000/contact_phone_numbers"},{"rel":"contacts","href":"http://localhost:3000/contacts"},{"rel":"custom_data","href":"http://localhost:3000/custom_data"},{"rel":"custom_fields","href":"http://localhost:3000/custom_fields"},{"rel":"division","href":"http://localhost:3000/divisions"},{"rel":"league_custom_data","href":"http://localhost:3000/league_custom_data"},{"rel":"league_custom_fields","href":"http://localhost:3000/league_custom_fields"},{"rel":"forum_posts","href":"http://localhost:3000/forum_posts"},{"rel":"forum_subscriptions","href":"http://localhost:3000/forum_subscriptions"},{"rel":"forum_topics","href":"http://localhost:3000/forum_topics"},{"rel":"league_registrant_documents","href":"http://localhost:3000/league_registrant_documents"},{"rel":"member_assignments","href":"http://localhost:3000/member_assignments"},{"rel":"member_balances","href":"http://localhost:3000/member_balances"},{"rel":"member_email_addresses","href":"http://localhost:3000/member_email_addresses","prompt":"member_email_addresses
43
+ is deprecated and has been removed. Continued use of member_email_addresses
44
+ is not recommended it will no longer be stored."},{"rel":"member_files","href":"http://localhost:3000/member_files"},{"rel":"member_links","href":"http://localhost:3000/member_links"},{"rel":"member_payments","href":"http://localhost:3000/member_payments"},{"rel":"member_phone_numbers","href":"http://localhost:3000/member_phone_numbers","prompt":"member_phone_numbers
45
+ is deprecated and has been removed. Continued use of member_phone_numbers
46
+ is not recommended it will no longer be stored."},{"rel":"member_preferences","href":"http://localhost:3000/members_preferences"},{"rel":"member_registration_signups","href":"http://localhost:3000/member_registration_signups"},{"rel":"member_statistics","href":"http://localhost:3000/member_statistics"},{"rel":"message_data","href":"http://localhost:3000/message_data"},{"rel":"messages","href":"http://localhost:3000/messages"},{"rel":"statistic_data","href":"http://localhost:3000/statistic_data"},{"rel":"team","href":"http://localhost:3000/teams"},{"rel":"team_media","href":"http://localhost:3000/team_media"},{"rel":"team_medium_comments","href":"http://localhost:3000/team_medium_comments"},{"rel":"tracked_item_statuses","href":"http://localhost:3000/tracked_item_statuses"},{"rel":"user","href":"http://localhost:3000/users"},{"rel":"root","href":"http://localhost:3000/"},{"rel":"self","href":"http://localhost:3000/members/upload_member_photo"}],"queries":[{"rel":"search","href":"http://localhost:3000/members/search","data":[{"name":"division_id","value":null},{"name":"team_id","value":null},{"name":"user_id","value":null},{"name":"id","value":null},{"name":"can_receive_push_notifications","value":null},{"name":"page_size","value":null,"prompt":"The
43
47
  number of items to return for each page. Sending this parameter with the query
44
48
  will enable paging for the returned collection."},{"name":"page_number","value":null,"prompt":"The
45
49
  number of the page to be returned. This requires that paging be turned on
46
50
  by also providing the page_size parameter."}]},{"rel":"managers","href":"http://localhost:3000/members/managers","data":[{"name":"team_id","value":null}]},{"rel":"personas","href":"http://localhost:3000/members/personas","prompt":"Given
47
51
  a user ID, returns members directly associated with the user as well as members
48
- associated with the user via a shared access contact.","data":[{"name":"user_id","value":null}]},{"rel":"owner","href":"http://localhost:3000/members/owner","data":[{"name":"team_id","value":null}]},{"rel":"commissioners","href":"http://localhost:3000/members/commissioners","prompt":"BETA:
49
- (this query is subject to change or suddenly disappear) Given a a team_id
50
- or division_id, returns all members that are commissioners of the divisions
51
- that the team is in.","data":[{"name":"team_id","value":null},{"name":"division_id","value":null}]},{"rel":"importable_members","href":"http://localhost:3000/members/importable_members","prompt":"Given
52
+ associated with the user via a shared access contact.","data":[{"name":"user_id","value":null}]},{"rel":"owner","href":"http://localhost:3000/members/owner","data":[{"name":"team_id","value":null}]},{"rel":"commissioners","href":"http://localhost:3000/members/commissioners","prompt":"Given
53
+ a a team_id or division_id, returns all members that are commissioners of
54
+ the divisions that the team is in.","data":[{"name":"team_id","value":null},{"name":"division_id","value":null}]},{"rel":"importable_members","href":"http://localhost:3000/members/importable_members","prompt":"Given
52
55
  a user ID, returns all members associated with user''s active season teams. If
53
56
  include_archived_teams (boolean) parameter is supplied, members associated
54
- with archived teams will be returned as well.","data":[{"name":"user_id","value":null},{"name":"include_archived_teams","value":null}]}],"commands":[{"rel":"disable_member","href":"http://localhost:3000/members/disable_member","data":[{"name":"member_id","value":null}]},{"rel":"upload_member_photo","href":"http://localhost:3000/members/upload_member_photo","data":[{"name":"member_id","value":null},{"name":"file","value":null},{"name":"x","value":null},{"name":"y","value":null},{"name":"width","value":null},{"name":"height","value":null}]},{"rel":"remove_member_photo","href":"http://localhost:3000/members/remove_member_photo","data":[{"name":"member_id","value":null}]},{"rel":"generate_member_thumbnail","href":"http://localhost:3000/members/generate_member_thumbnail","data":[{"name":"member_id","value":null},{"name":"x","value":null},{"name":"y","value":null},{"name":"width","value":null},{"name":"height","value":null}]},{"rel":"import_from_team","href":"http://localhost:3000/members/import_from_team","prompt":"Given
57
+ with archived teams will be returned as well.","data":[{"name":"user_id","value":null},{"name":"include_archived_teams","value":null}]},{"rel":"division_search","href":"http://localhost:3000/members/division_search","prompt":"Searches
58
+ the division and subdivision for the members meeting the search criteria.","data":[{"name":"division_id","value":null,"prompt":"Id
59
+ of the division and descendants to search"},{"name":"is_unassigned","value":null,"prompt":"true/false
60
+ - For all members in a division that aren''t assigned to a team. Not used
61
+ if blank."},{"name":"is_activated","value":null,"prompt":"true/false - For
62
+ all members in a division that have a user. Not used if blank."},{"name":"is_commissioner","value":null,"prompt":"true/false
63
+ - For all members in a division that are or are not a commissioner. Not used
64
+ if blank."},{"name":"is_ownership_pending","value":null,"prompt":"true/false
65
+ - Find all members in a division that are or are not pending ownership. Not
66
+ used if blank."},{"name":"page_size","value":null,"prompt":"The number of
67
+ items to return for each page. Sending this parameter with the query will
68
+ enable paging for the returned collection."},{"name":"page_number","value":null,"prompt":"The
69
+ number of the page to be returned. This requires that paging be turned on
70
+ by also providing the page_size parameter."}]},{"rel":"advanced_division_search","href":"http://localhost:3000/members/advanced_division_search","prompt":"Searches
71
+ the division and subdivision for the members meeting the search criteria.
72
+ Searches using this endpoint accept additional parameters. You can search
73
+ for equality by formatting the string as ''operator:equals,value:<SEARCH STRING>''.
74
+ You can also search inquality by using not_equals as ''operator:not_equals,value:<SEARCH
75
+ STRING>''. You may search for additional parameters by sending them as an
76
+ array, for instance: ?birthday[]=operator:less_than,value:2016-02-02&birthday[]=operator:greater_than,value:2010-02-02.
77
+ Other operators are less_than_or_equal and greater_than_or_equal","data":[{"name":"division_id","value":null,"prompt":"Id
78
+ of the division and descendants to search"},{"name":"id","value":null,"prompt":"Id
79
+ of the member to search"},{"name":"user_id","value":null,"prompt":"Id of the
80
+ user to search"},{"name":"is_commissioner","value":null,"prompt":"true/false
81
+ - For all members in a division that are or are not a commissioner. Not used
82
+ if blank."},{"name":"birthday","value":null,"prompt":"date - Accepts advanced
83
+ search operators ''less_than'' and ''greater_than''."},{"name":"team_id","value":null,"prompt":"integer
84
+ - Find all members in a division with the specified team_id(s)."},{"name":"is_coach","value":null,"prompt":"true/false
85
+ - Find all members in a division that are or are not a coach. Not used if
86
+ blank."},{"name":"is_manager","value":null,"prompt":"true/false - Find all
87
+ members in a division that are or are not a team manager. Not used if blank."},{"name":"is_non_player","value":null,"prompt":"true/false
88
+ - Find all members in a division that are or are not a players. Not used if
89
+ blank."},{"name":"is_owner","value":null,"prompt":"true/false - Find all members
90
+ in a division that are or are not owners. Not used if blank."},{"name":"is_ownership_pending","value":null,"prompt":"true/false
91
+ - Find all members in a division that are or are not pending ownership. Not
92
+ used if blank."},{"name":"gender","value":null,"prompt":"Male/Female - Find
93
+ all members in a division with the specified gender."},{"name":"first_name","value":null,"prompt":"string
94
+ - Accepts advanced search operators ''equals'', ''contains'' and ''starts_with''."},{"name":"last_name","value":null,"prompt":"string
95
+ - Accepts advanced search operators ''equals'', ''contains'' and ''starts_with''."},{"name":"email","value":null,"prompt":"string
96
+ - Accepts advanced search operators ''equals'', ''contains'' and ''starts_with''."},{"name":"custom_field","value":null,"prompt":"string
97
+ - Required advanced search parameter of ''id'' that should be the id of the
98
+ custom field to be searched on. Accepts advanced search operators ''equals'',
99
+ ''contains'' and ''starts_with''."},{"name":"registration_form_id","value":null,"prompt":"string
100
+ - Find all members in a division with the specified registration_form_id."},{"name":"registration_form_line_item_id","value":null,"prompt":"string
101
+ - Find all members in a division who have selected the specified registration_form_line_item_id."},{"name":"registration_form_line_item_option_id","value":null,"prompt":"string
102
+ - Find all members in a division who have selected a given registration_form_line_item_option_id."},{"name":"is_assigned","value":null,"prompt":"true/false
103
+ - For all members in a division that are assigned to a team. Not used if blank."},{"name":"is_activated","value":null,"prompt":"true/false
104
+ - For all members in a division that have a user. Not used if blank."},{"name":"checkout_type","value":null,"prompt":"string
105
+ - Search for a registration checkout type. Valid values are: \"1\" - In Progress,
106
+ \"2\" - Pay Now, \"3\" - Installment Plan, \"4\" - Pay Offline, \"5\" - No
107
+ Fees"},{"name":"signup_status","value":null,"prompt":"string - Search for
108
+ a registration based on it''s signup status. Value values are: \"authorized\"
109
+ - Authorized, \"refunded\" - Refunded, \"failed\" - Failed, \"active\" - Active,
110
+ \"canceled\" - Canceled, \"charged_back\" - Charged Back, \"on_checkout\"
111
+ - On Checkout, \"paid\" - Paid"},{"name":"search_subdivisions","value":null,"prompt":"true/false
112
+ - Search all the subdivisions of the division provided. True by default."},{"name":"batch_invoice_id","value":null,"prompt":"Id
113
+ of batch invoice to search"},{"name":"invoice_status","value":null,"prompt":"string
114
+ - Search for all members based on a selected batch_invoice_id invoice status,
115
+ valid values are: \"open\", \"submitted\", \"pending\", \"paid\", \"canceled\""},{"name":"pending_assignments","value":null,"prompt":"string
116
+ - Search pending assignments for members. \"include\", \"exclude\", \"only\".
117
+ \"exclude\" is the default"},{"name":"page_size","value":null,"prompt":"The
118
+ number of items to return for each page. Sending this parameter with the query
119
+ will enable paging for the returned collection."},{"name":"page_number","value":null,"prompt":"The
120
+ number of the page to be returned. This requires that paging be turned on
121
+ by also providing the page_size parameter."}]}],"commands":[{"rel":"disable_member","href":"http://localhost:3000/members/disable_member","data":[{"name":"member_id","value":null}]},{"rel":"upload_member_photo","href":"http://localhost:3000/members/upload_member_photo","data":[{"name":"member_id","value":null},{"name":"file","value":null},{"name":"x","value":null},{"name":"y","value":null},{"name":"width","value":null},{"name":"height","value":null}]},{"rel":"remove_member_photo","href":"http://localhost:3000/members/remove_member_photo","data":[{"name":"member_id","value":null}]},{"rel":"set_commissioner_access","href":"http://localhost:3000/members/set_commissioner_access","data":[{"name":"member_id","value":null},{"name":"division_id","value":null}]},{"rel":"generate_member_thumbnail","href":"http://localhost:3000/members/generate_member_thumbnail","data":[{"name":"member_id","value":null},{"name":"x","value":null},{"name":"y","value":null},{"name":"width","value":null},{"name":"height","value":null}]},{"rel":"import_from_team","href":"http://localhost:3000/members/import_from_team","prompt":"Given
55
122
  source_member_ids (array) and a destination_team_id, source members and related
56
123
  member data will be imported to the destination team. Newly created members
57
124
  will be returned.","data":[{"name":"source_member_ids","value":null},{"name":"destination_team_id","value":null},{"name":"send_invites","value":null,"prompt":"Whether
58
125
  or not to create and send invitations for each imported member. Valid values
59
- are either ''true'' or ''false'' and will default to ''false''"}]},{"rel":"division_search","href":"http://localhost:3000/members/division_search","prompt":"BETA:
60
- (This endpoint subject to change) Searches the division and subdivision for
61
- the members meeting the search criteria.","data":[{"name":"division_id","value":null,"prompt":"Id
62
- of the division and descendants to search"},{"name":"is_unassigned","value":null,"prompt":"true/false
63
- - For all members in a division that aren''t assigned to a team. Not used
64
- if blank."},{"name":"is_activated","value":null,"prompt":"true/false - For
65
- all members in a division that have a user. Not used if blank."}]}],"items":[{"href":"http://localhost:3000/members/6","data":[{"name":"id","value":6},{"name":"type","value":"member"},{"name":"address_city","value":null},{"name":"address_state","value":null},{"name":"address_street1","value":null},{"name":"address_street2","value":null},{"name":"address_zip","value":null},{"name":"birthday","value":""},{"name":"first_name","value":"Plato"},{"name":"gender","value":null},{"name":"has_facebook_post_scores_enabled","value":false},{"name":"hide_address","value":null,"deprecated":true,"prompt":"hide_address
126
+ are either ''true'' or ''false'' and will default to ''false''"}]},{"rel":"bulk_delete","href":"http://localhost:3000/members/bulk_delete","prompt":"Delete
127
+ one or many members.","data":[{"name":"member_id","value":null,"prompt":"The
128
+ id of the member to be deleted, this can either be passed as a comma-delimited
129
+ list of integers or as an array if the post data is JSON."}]},{"rel":"move_member","href":"http://localhost:3000/members/move_member","prompt":"Move
130
+ one or many members to a new division and/or team.","data":[{"name":"member_id","value":null,"prompt":"The
131
+ id of the member or members to be moved, this can either be passed as a comma-delimited
132
+ list of integers or as an array if the post data is JSON."},{"name":"division_id","value":null},{"name":"team_id","value":null},{"name":"pending","value":null}]},{"rel":"move_pending_member","href":"http://localhost:3000/members/move_pending_member","prompt":"Move
133
+ one or many pending members to their division and/or team.","data":[{"name":"member_id","value":null,"prompt":"The
134
+ id of the pending member or pending members to be moved, this can either be
135
+ passed as a comma-delimited list of integers or as an array if the post data
136
+ is JSON."},{"name":"division_id","value":null,"prompt":"The id of the division
137
+ or divisions to determine pending members, this can either be passed as a
138
+ comma-delimited list of integers or as an array if the post data is JSON."},{"name":"team_id","value":null,"prompt":"The
139
+ id of the team or teams to determine pending members, this can either be passed
140
+ as a comma-delimited list of integers or as an array if the post data is JSON."}]},{"rel":"delete_pending_member","href":"http://localhost:3000/members/delete_pending_member","prompt":"Delete
141
+ one or many pending members from a division and/or team.","data":[{"name":"member_id","value":null,"prompt":"The
142
+ id of the pending member or pending members to be moved, this can either be
143
+ passed as a comma-delimited list of integers or as an array if the post data
144
+ is JSON."},{"name":"division_id","value":null,"prompt":"The id of the division
145
+ or divisions to determine pending members, this can either be passed as a
146
+ comma-delimited list of integers or as an array if the post data is JSON."},{"name":"team_id","value":null,"prompt":"The
147
+ id of the team or teams to determine pending members, this can either be passed
148
+ as a comma-delimited list of integers or as an array if the post data is JSON."}]}],"items":[{"href":"http://localhost:3000/members/6","data":[{"name":"id","value":6,"type":"String"},{"name":"type","value":"member","type":"String"},{"name":"address_city","value":null,"type":"String"},{"name":"address_state","value":null,"type":"String"},{"name":"address_street1","value":null,"type":"String"},{"name":"address_street2","value":null,"type":"String"},{"name":"address_zip","value":null,"type":"String"},{"name":"birthday","value":"","type":"String"},{"name":"division_id","value":1,"type":"String"},{"name":"first_name","value":"Reggie","type":"String"},{"name":"gender","value":null,"type":"String"},{"name":"has_facebook_post_scores_enabled","value":false,"type":"Boolean","deprecated":true,"prompt":"has_facebook_post_scores_enabled
149
+ is deprecated and has been removed. Continued use of has_facebook_post_scores_enabled
150
+ is not recommended it will no longer be stored."},{"name":"hide_address","value":null,"type":"Boolean","deprecated":true,"prompt":"hide_address
66
151
  is deprecated and will be removed in a future version, use is_address_hidden
67
- instead."},{"name":"is_address_hidden","value":null},{"name":"hide_age","value":null,"deprecated":true,"prompt":"hide_age
68
- is deprecated and will be removed in a future version, use is_age_hidden instead."},{"name":"is_age_hidden","value":null},{"name":"is_commissioner","value":false},{"name":"invitation_code","value":null},{"name":"invitation_declined","value":null},{"name":"is_activated","value":true},{"name":"is_pushable","value":false},{"name":"is_alertable","value":true},{"name":"is_emailable","value":true},{"name":"is_invitable","value":false},{"name":"is_invited","value":false},{"name":"is_manager","value":false},{"name":"is_non_player","value":false},{"name":"is_owner","value":false},{"name":"is_ownership_pending","value":null},{"name":"jersey_number","value":null},{"name":"last_logged_in_at","value":null,"deprecated":true,"prompt":"%{field}
69
- is deprecated and has been removed. Continued use of %{field} is not recommended
70
- it will no longer be stored."},{"name":"last_name","value":"Player"},{"name":"position","value":null},{"name":"team_id","value":1},{"name":"user_id","value":9},{"name":"updated_at","value":"2016-08-11T18:51:24Z","type":"DateTime"},{"name":"created_at","value":"2016-08-10T23:47:22Z","type":"DateTime"}],"links":[{"rel":"assignments","href":"http://localhost:3000/assignments/search?member_id=6"},{"rel":"availabilities","href":"http://localhost:3000/availabilities/search?member_id=6"},{"rel":"broadcast_email_attachments","href":"http://localhost:3000/broadcast_email_attachments/search?member_id=6"},{"rel":"broadcast_emails","href":"http://localhost:3000/broadcast_emails/search?member_id=6"},{"rel":"broadcast_alerts","href":"http://localhost:3000/broadcast_alerts/search?member_id=6"},{"rel":"contact_email_addresses","href":"http://localhost:3000/contact_email_addresses/search?member_id=6"},{"rel":"contact_phone_numbers","href":"http://localhost:3000/contact_phone_numbers/search?member_id=6"},{"rel":"contacts","href":"http://localhost:3000/contacts/search?member_id=6"},{"rel":"custom_data","href":"http://localhost:3000/custom_data/search?member_id=6"},{"rel":"custom_fields","href":"http://localhost:3000/custom_fields/search?team_id=1"},{"rel":"league_custom_data","href":"http://localhost:3000/league_custom_data/search?member_id=6"},{"rel":"league_custom_fields","href":"http://localhost:3000/league_custom_fields/search?team_id=1"},{"rel":"forum_posts","href":"http://localhost:3000/forum_posts/search?member_id=6"},{"rel":"forum_subscriptions","href":"http://localhost:3000/forum_subscriptions/search?member_id=6"},{"rel":"forum_topics","href":"http://localhost:3000/forum_topics/search?team_id=1"},{"rel":"league_registrant_documents","href":"http://localhost:3000/league_registrant_documents/search?member_id=6"},{"rel":"member_assignments","href":"http://localhost:3000/member_assignments/search?member_id=6"},{"rel":"member_balances","href":"http://localhost:3000/member_balances/search?member_id=6"},{"rel":"member_email_addresses","href":"http://localhost:3000/member_email_addresses/search?member_id=6"},{"rel":"member_files","href":"http://localhost:3000/member_files/search?member_id=6"},{"rel":"member_links","href":"http://localhost:3000/member_links/search?member_id=6"},{"rel":"member_payments","href":"http://localhost:3000/member_payments/search?member_id=6"},{"rel":"member_phone_numbers","href":"http://localhost:3000/member_phone_numbers/search?member_id=6"},{"rel":"member_photo","href":"http://9720728c11b014fc3f7c-401599d8c2efd31ed32bcf970d759503.r67.cf1.rackcdn.com/roster_full_photos/6/original/926ebbdd-140f-41e9-88fe-1ee19b227104.png"},{"rel":"member_photo_file","href":"http://localhost:3000/member_photo_files/6-1470941482"},{"rel":"member_photos","href":"http://localhost:3000/member_photos/search?member_id=6"},{"rel":"member_preferences","href":"http://localhost:3000/members_preferences/6"},{"rel":"member_statistics","href":"http://localhost:3000/member_statistics/search?member_id=6"},{"rel":"member_thumbnail","href":"http://9720728c11b014fc3f7c-401599d8c2efd31ed32bcf970d759503.r67.cf1.rackcdn.com/roster_thumb_photos/6/thumb/926ebbdd-140f-41e9-88fe-1ee19b227104.png"},{"rel":"message_data","href":"http://localhost:3000/message_data/search?member_id=6"},{"rel":"messages","href":"http://localhost:3000/messages/search?member_id=6"},{"rel":"statistic_data","href":"http://localhost:3000/statistic_data/search?member_id=6"},{"rel":"team","href":"http://localhost:3000/teams/1"},{"rel":"team_media","href":"http://localhost:3000/team_media/search?member_id=6"},{"rel":"team_medium_comments","href":"http://localhost:3000/team_medium_comments/search?member_id=6"},{"rel":"tracked_item_statuses","href":"http://localhost:3000/tracked_item_statuses/search?member_id=6"},{"rel":"user","href":"http://localhost:3000/users/9"}],"rel":"member-6"}]}}'
152
+ instead."},{"name":"is_address_hidden","value":null,"type":"Boolean"},{"name":"hide_age","value":null,"type":"Boolean","deprecated":true,"prompt":"hide_age
153
+ is deprecated and will be removed in a future version, use is_age_hidden instead."},{"name":"is_age_hidden","value":null,"type":"Boolean"},{"name":"invitation_code","value":null,"type":"String","deprecated":true,"prompt":"invitation_code
154
+ is deprecated and will be removed in a future version, use is_invited instead."},{"name":"invitation_declined","value":null,"type":"Boolean","deprecated":true,"prompt":"%{old}
155
+ is deprecated and will be removed in a future version, use %{new} instead."},{"name":"is_activated","value":true,"type":"Boolean"},{"name":"is_commissioner","value":false,"type":"Boolean"},{"name":"is_league_owner","value":false,"type":"Boolean"},{"name":"is_pushable","value":false,"type":"Boolean"},{"name":"is_selectable_for_chat","value":false,"type":"Boolean","deprecated":true,"prompt":"is_selectable_for_chat
156
+ is deprecated and has been removed. Continued use of is_selectable_for_chat
157
+ is not recommended it will no longer be stored."},{"name":"is_shown_unreachable_for_chat_banner","value":true,"type":"Boolean"},{"name":"is_alertable","value":false,"type":"Boolean"},{"name":"is_emailable","value":false,"type":"Boolean"},{"name":"is_invitable","value":false,"type":"Boolean","deprecated":true,"prompt":"is_invitable
158
+ is deprecated and has been removed. Continued use of is_invitable is not
159
+ recommended it will no longer be stored."},{"name":"is_invited","value":false,"type":"Boolean","deprecated":true,"prompt":"is_invited
160
+ is deprecated and has been removed. Continued use of is_invited is not recommended
161
+ it will no longer be stored."},{"name":"is_coach","value":false,"type":"Boolean"},{"name":"is_manager","value":false,"type":"Boolean"},{"name":"is_non_player","value":false,"type":"Boolean"},{"name":"is_owner","value":false,"type":"Boolean"},{"name":"is_ownership_pending","value":null,"type":"Boolean"},{"name":"is_pending","value":false,"type":"Boolean"},{"name":"is_editable","value":false,"type":"Boolean"},{"name":"is_deletable","value":false,"type":"Boolean"},{"name":"jersey_number","value":null,"type":"String"},{"name":"last_logged_in_at","value":null,"type":"DateTime","deprecated":true,"prompt":"last_logged_in_at
162
+ is deprecated and has been removed. Continued use of last_logged_in_at is
163
+ not recommended it will no longer be stored."},{"name":"last_name","value":"Player","type":"String"},{"name":"position","value":null,"type":"String"},{"name":"pending_team_id","value":null,"type":"String"},{"name":"pending_division_id","value":null,"type":"String"},{"name":"registration_form_id","value":1,"type":"String"},{"name":"team_id","value":null,"type":"String"},{"name":"user_id","value":7,"type":"String","deprecated":true,"prompt":"user_id
164
+ is deprecated and has been removed. Continued use of user_id is not recommended
165
+ it will no longer be stored."},{"name":"person_uuid","value":null,"type":"String"},{"name":"role_uuid","value":null,"type":"String"},{"name":"updated_at","value":"2020-05-22T19:58:43Z","type":"DateTime"},{"name":"created_at","value":"2020-05-22T19:56:09Z","type":"DateTime"},{"name":"source_member_id","value":null,"type":"String"},{"name":"phone_numbers","value":[],"type":"Array[String]"},{"name":"email_addresses","value":[],"type":"Array[String]"}],"links":[{"rel":"assignments","href":"http://localhost:3000/assignments/search?member_id=6"},{"rel":"availabilities","href":"http://localhost:3000/availabilities/search?member_id=6"},{"rel":"broadcast_email_attachments","href":"http://localhost:3000/broadcast_email_attachments/search?member_id=6"},{"rel":"broadcast_emails","href":"http://localhost:3000/broadcast_emails/search?member_id=6"},{"rel":"broadcast_alerts","href":"http://localhost:3000/broadcast_alerts/search?member_id=6"},{"rel":"contact_email_addresses","href":"http://localhost:3000/contact_email_addresses/search?member_id=6"},{"rel":"contact_phone_numbers","href":"http://localhost:3000/contact_phone_numbers/search?member_id=6"},{"rel":"contacts","href":"http://localhost:3000/contacts/search?member_id=6"},{"rel":"custom_data","href":"http://localhost:3000/custom_data/search?member_id=6"},{"rel":"custom_fields","href":"http://localhost:3000/custom_fields/search?"},{"rel":"division","href":"http://localhost:3000/divisions/1"},{"rel":"invoice_recipients_invoices_aggregates","href":"http://localhost:3000/invoice_recipients_invoices_aggregates/search?member_id=6"},{"rel":"league_custom_data","href":"http://localhost:3000/league_custom_data/search?member_id=6"},{"rel":"league_custom_fields","href":"http://localhost:3000/league_custom_fields/search?"},{"rel":"forum_posts","href":"http://localhost:3000/forum_posts/search?member_id=6"},{"rel":"forum_subscriptions","href":"http://localhost:3000/forum_subscriptions/search?member_id=6"},{"rel":"forum_topics","href":"http://localhost:3000/forum_topics/search?"},{"rel":"league_registrant_documents","href":"http://localhost:3000/league_registrant_documents/search?member_id=6"},{"rel":"member_assignments","href":"http://localhost:3000/member_assignments/search?member_id=6"},{"rel":"member_balances","href":"http://localhost:3000/member_balances/search?member_id=6"},{"rel":"member_email_addresses","href":"http://localhost:3000/member_email_addresses/search?member_id=6","prompt":"member_email_addresses
166
+ is deprecated and has been removed. Continued use of member_email_addresses
167
+ is not recommended it will no longer be stored."},{"rel":"member_files","href":"http://localhost:3000/member_files/search?member_id=6"},{"rel":"member_links","href":"http://localhost:3000/member_links/search?member_id=6"},{"rel":"member_payments","href":"http://localhost:3000/member_payments/search?member_id=6"},{"rel":"member_phone_numbers","href":"http://localhost:3000/member_phone_numbers/search?member_id=6","prompt":"member_phone_numbers
168
+ is deprecated and has been removed. Continued use of member_phone_numbers
169
+ is not recommended it will no longer be stored."},{"rel":"member_photo","href":"http://9720728c11b014fc3f7c-401599d8c2efd31ed32bcf970d759503.r67.cf1.rackcdn.com/roster_full_photos/6/original/f825635a-d839-4d25-9f0f-30635c2d8cba.png"},{"rel":"member_photo_file","href":"http://localhost:3000/member_photo_files/6-1590177522"},{"rel":"member_photos","href":"http://localhost:3000/member_photos/search?member_id=6"},{"rel":"member_preferences","href":"http://localhost:3000/members_preferences/6"},{"rel":"member_registration_signups","href":"http://localhost:3000/member_registration_signups/search?member_id=6"},{"rel":"member_statistics","href":"http://localhost:3000/member_statistics/search?member_id=6"},{"rel":"member_thumbnail","href":"http://9720728c11b014fc3f7c-401599d8c2efd31ed32bcf970d759503.r67.cf1.rackcdn.com/roster_thumb_photos/6/thumb/f825635a-d839-4d25-9f0f-30635c2d8cba.png"},{"rel":"message_data","href":"http://localhost:3000/message_data/search?member_id=6"},{"rel":"messages","href":"http://localhost:3000/messages/search?member_id=6"},{"rel":"registration_form","href":"http://localhost:3000/registration_forms/1"},{"rel":"statistic_data","href":"http://localhost:3000/statistic_data/search?member_id=6"},{"rel":"team","href":"http://localhost:3000/teams/"},{"rel":"team_media","href":"http://localhost:3000/team_media/search?member_id=6"},{"rel":"team_medium_comments","href":"http://localhost:3000/team_medium_comments/search?member_id=6"},{"rel":"tracked_item_statuses","href":"http://localhost:3000/tracked_item_statuses/search?member_id=6"},{"rel":"user","href":"http://localhost:3000/users/7"}],"rel":"member-6"}]}}'
71
170
  http_version: '1.1'
72
171
  adapter_metadata:
73
172
  effective_url: http://localhost:3000/members/upload_member_photo
74
- recorded_at: Thu, 11 Aug 2016 18:51:24 GMT
75
- recorded_with: VCR 2.9.3
173
+ recorded_at: Fri, 22 May 2020 19:58:44 GMT
174
+ recorded_with: VCR 5.1.0
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
  require "teamsnap"
3
3
 
4
4
  RSpec.describe "uploading files", :vcr => true do
5
- let(:client_id) { "classic" }
5
+ let(:client_id) { "classic_service" }
6
6
  let(:client_secret) { "dont_tell_the_cops" }
7
7
 
8
8
  let(:client) {
@@ -16,7 +16,7 @@ RSpec.describe "uploading files", :vcr => true do
16
16
  VCR.use_cassette("apiv3-init") do
17
17
  TeamSnap.init(
18
18
  :url => ROOT_TEST_URL,
19
- :client_id => "classic",
19
+ :client_id => "classic_service",
20
20
  :client_secret => "dont_tell_the_cops"
21
21
  )
22
22
  end
@@ -1,18 +1,5 @@
1
- require "simplecov"
2
- require "coveralls"
3
1
  require "awesome_print"
4
2
  require "rack/test"
5
-
6
- Coveralls.wear!
7
-
8
- SimpleCov::Formatter::MultiFormatter[
9
- SimpleCov::Formatter::HTMLFormatter,
10
- Coveralls::SimpleCov::Formatter
11
- ]
12
- SimpleCov.start do
13
- add_filter "vendor"
14
- end
15
-
16
3
  require "vcr"
17
4
  require "pry"
18
5
 
@@ -2,7 +2,55 @@ require "spec_helper"
2
2
  require "teamsnap"
3
3
 
4
4
  RSpec.describe "teamsnap__api", :vcr => true do
5
- context ".parse_error" do
5
+ describe ".run" do
6
+ before(:all) do
7
+ VCR.use_cassette("apiv3-init") do
8
+ TeamSnap.init(
9
+ :url => ROOT_TEST_URL,
10
+ :client_id => "classic_service",
11
+ :client_secret => "dont_tell_the_cops"
12
+ )
13
+ end
14
+ end
15
+
16
+ context "when creating" do
17
+ context "when successful" do
18
+ it "can parse the json" do
19
+ response = TeamSnap::Api.run(
20
+ TeamSnap.root_client,
21
+ :create,
22
+ TeamSnap::Event,
23
+ {
24
+ :start_date => "2020-12-31",
25
+ :team_id => 1,
26
+ :location_id => 1,
27
+ :name => "Practice"
28
+ },
29
+ true
30
+ )
31
+ expect(response.status).to eq(201)
32
+ expect(response.collection.fetch(:items).count).to eq(1)
33
+ end
34
+ end
35
+ end
36
+
37
+ context "when deleting" do
38
+ context "when successful" do
39
+ it "handles empty response body" do
40
+ expect {
41
+ TeamSnap::Api.run(
42
+ TeamSnap.root_client,
43
+ :delete,
44
+ TeamSnap::Event,
45
+ 1
46
+ )
47
+ }.to_not raise_error
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ describe ".parse_error" do
6
54
  it "returns error message on a 403 and an empty body" do
7
55
  response = Faraday::Response.new(
8
56
  :status => 403,
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
  require "teamsnap"
3
3
 
4
4
  RSpec.describe "teamsnap__client", :vcr => true do
5
- let(:client_id) { "classic" }
5
+ let(:client_id) { "classic_service" }
6
6
  let(:client_secret) { "dont_tell_the_cops" }
7
7
 
8
8
  describe ".set_faraday_client" do
@@ -11,7 +11,7 @@ RSpec.describe "teamsnap__client", :vcr => true do
11
11
  TeamSnap::Client.set_faraday_client(
12
12
  "localhost:3000",
13
13
  nil,
14
- "classic",
14
+ "classic_service",
15
15
  "dont_tell_the_cops"
16
16
  )
17
17
  end
@@ -61,14 +61,14 @@ RSpec.describe "teamsnap__client", :vcr => true do
61
61
  VCR.use_cassette("apiv3-init") do
62
62
  TeamSnap.init(
63
63
  :url => ROOT_TEST_URL,
64
- :client_id => "classic",
64
+ :client_id => "classic_service",
65
65
  :client_secret => "dont_tell_the_cops"
66
66
  )
67
67
  end
68
68
  end
69
69
 
70
70
  it "Sends the proper information to TeamSnap::Api.run" do
71
- expect(TeamSnap::Api).to receive(:run).with(TeamSnap.root_client, :find, TeamSnap::Team, 1, false)
71
+ expect(TeamSnap::Api).to receive(:run).with(TeamSnap.root_client, :find, TeamSnap::Team, 1, false).and_call_original
72
72
  TeamSnap.root_client.api(:find, TeamSnap::Team, 1)
73
73
  end
74
74
  end
@@ -6,7 +6,7 @@ RSpec.describe "teamsnap__collection", :vcr => true do
6
6
  VCR.use_cassette("apiv3-init") do
7
7
  TeamSnap.init(
8
8
  :url => ROOT_TEST_URL,
9
- :client_id => "classic",
9
+ :client_id => "classic_service",
10
10
  :client_secret => "dont_tell_the_cops"
11
11
  )
12
12
  end
@@ -46,12 +46,12 @@ RSpec.describe "teamsnap__collection", :vcr => true do
46
46
 
47
47
  ms = TeamSnap::Team.invite(
48
48
  user_client,
49
- :team_id => 1, :member_id => [9, 11], :notify_as_member_id => 3,
49
+ :team_id => 1, :member_id => [75, 76], :notify_as_member_id => 3,
50
50
  :introduction => "Welcome! This is our team\n ...the superstars!"
51
51
  )
52
52
 
53
53
  expect(ms.size).to eq(2)
54
- expect(ms.map(&:id)).to eq([9, 11])
54
+ expect(ms.map(&:id)).to eq([75, 76])
55
55
  expect(ms.map(&:is_invited)).to eq([true, true])
56
56
  end
57
57
 
@@ -97,7 +97,7 @@ RSpec.describe "teamsnap__collection", :vcr => true do
97
97
  end
98
98
 
99
99
  it "can follow singular links" do
100
- m = TeamSnap::Member.find(TeamSnap.root_client, 3)
100
+ m = TeamSnap::Member.find(TeamSnap.root_client, 69)
101
101
  t = m.team
102
102
 
103
103
  expect(t.id).to eq(1)
@@ -114,7 +114,7 @@ RSpec.describe "teamsnap__collection", :vcr => true do
114
114
  t = TeamSnap::Team.find(TeamSnap.root_client, 1)
115
115
  ms = t.members
116
116
 
117
- expect(ms.size).to eq(17)
117
+ expect(ms.size).to eq(13)
118
118
  end
119
119
 
120
120
  it "adds href to items" do
@@ -6,7 +6,7 @@ RSpec.describe "teamsnap__item", :vcr => true do
6
6
  VCR.use_cassette("apiv3-init") do
7
7
  TeamSnap.init(
8
8
  :url => ROOT_TEST_URL,
9
- :client_id => "classic",
9
+ :client_id => "classic_service",
10
10
  :client_secret => "dont_tell_the_cops"
11
11
  )
12
12
  end
@@ -7,7 +7,7 @@ RSpec.describe "teamsnap__structure", :vcr => true do
7
7
  let(:client) {
8
8
  client = TeamSnap::Client.new({
9
9
  :url => ROOT_TEST_URL,
10
- :client_id => "classic",
10
+ :client_id => "classic_service",
11
11
  :client_secret => "dont_tell_the_cops"
12
12
  })
13
13
  }
@@ -42,7 +42,7 @@ RSpec.describe "teamsnap__structure", :vcr => true do
42
42
  VCR.use_cassette("apiv3-init") do
43
43
  TeamSnap.init(
44
44
  :url => ROOT_TEST_URL,
45
- :client_id => "classic",
45
+ :client_id => "classic_service",
46
46
  :client_secret => "dont_tell_the_cops"
47
47
  )
48
48
  end
@@ -9,7 +9,7 @@ RSpec.describe "teamsnap_rb", :vcr => true do
9
9
  headers: { "content-type" => "application/json" },
10
10
  body: { :collection => { :links => [] } }.to_json
11
11
  ) }
12
- let(:client_id) { "classic" }
12
+ let(:client_id) { "classic_service" }
13
13
  let(:client_secret) { "dont_tell_the_cops" }
14
14
 
15
15
  describe ".init" do
@@ -199,7 +199,7 @@ RSpec.describe "teamsnap_rb", :vcr => true do
199
199
  VCR.use_cassette("apiv3-init") do
200
200
  TeamSnap.init(
201
201
  :url => ROOT_TEST_URL,
202
- :client_id => "classic",
202
+ :client_id => "classic_service",
203
203
  :client_secret => "dont_tell_the_cops"
204
204
  )
205
205
  end
@@ -213,12 +213,12 @@ RSpec.describe "teamsnap_rb", :vcr => true do
213
213
  )
214
214
 
215
215
  expect(cs).to_not be_empty
216
- expect(cs.size).to eq(18)
216
+ expect(cs.size).to eq(14)
217
217
  expect(cs[0]).to be_a(TeamSnap::Team)
218
218
  expect(cs[0].id).to eq(1)
219
219
  cs[3..17].each.with_index(4) do |c, idx|
220
220
  expect(c).to be_a(TeamSnap::Member)
221
- expect(c.id).to eq(idx)
221
+ # expect(c.id).to eq(idx)
222
222
  end
223
223
  end
224
224
 
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["oss@teamsnap.com"]
11
11
  spec.summary = %q{A gem to interact with TeamSnap's API}
12
12
  spec.description = %q{A gem to interact with TeamSnap's API}
13
- spec.homepage = "http://developer.teamsnap.com/"
13
+ spec.homepage = "https://developer.teamsnap.com/"
14
14
  spec.license = "MIT"
15
15
  spec.required_ruby_version = ">= 2.3"
16
16
 
@@ -20,12 +20,12 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_development_dependency "rake"
23
- spec.add_development_dependency "bundler", "~> 1.17.2"
24
- spec.add_development_dependency "rspec", "~> 3.8.0"
25
- spec.add_development_dependency "vcr", "~> 5.0.0"
23
+ spec.add_development_dependency "bundler", "~> 1.17"
24
+ spec.add_development_dependency "rspec", "~> 3.9"
25
+ spec.add_development_dependency "vcr", "~> 5.0"
26
26
 
27
27
  spec.add_dependency "faraday", "~> 0.17", "< 1.0"
28
- spec.add_dependency "typhoeus", "~> 1.3.0"
28
+ spec.add_dependency "typhoeus", ">= 1.3", "< 1.5"
29
29
  spec.add_dependency "inflecto", "~> 0.0.2"
30
30
  spec.add_dependency "virtus", "~> 1.0.4"
31
31
  end