square.rb 44.1.0.20250924 → 45.0.1.20260122

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +9 -0
  3. data/.fernignore +20 -0
  4. data/.rubocop.yml +60 -0
  5. data/LICENSE +1 -1
  6. data/Rakefile +29 -0
  7. data/custom.gemspec.rb +19 -0
  8. data/lib/square/apple_pay/client.rb +24 -10
  9. data/lib/square/bank_accounts/client.rb +144 -31
  10. data/lib/square/bank_accounts/types/create_bank_account_request.rb +13 -0
  11. data/lib/square/bank_accounts/types/disable_bank_account_request.rb +11 -0
  12. data/lib/square/bank_accounts/types/get_by_v_1_id_bank_accounts_request.rb +1 -1
  13. data/lib/square/bank_accounts/types/list_bank_accounts_request.rb +1 -0
  14. data/lib/square/bookings/client.rb +238 -100
  15. data/lib/square/bookings/custom_attribute_definitions/client.rb +139 -67
  16. data/lib/square/bookings/custom_attribute_definitions/types/create_booking_custom_attribute_definition_request.rb +1 -3
  17. data/lib/square/bookings/custom_attribute_definitions/types/update_booking_custom_attribute_definition_request.rb +1 -3
  18. data/lib/square/bookings/custom_attributes/client.rb +168 -76
  19. data/lib/square/bookings/custom_attributes/types/bulk_delete_booking_custom_attributes_request.rb +1 -3
  20. data/lib/square/bookings/custom_attributes/types/bulk_upsert_booking_custom_attributes_request.rb +1 -3
  21. data/lib/square/bookings/location_profiles/client.rb +44 -24
  22. data/lib/square/bookings/team_member_profiles/client.rb +66 -31
  23. data/lib/square/cards/client.rb +103 -45
  24. data/lib/square/cash_drawers/client.rb +3 -1
  25. data/lib/square/cash_drawers/shifts/client.rb +121 -61
  26. data/lib/square/catalog/client.rb +203 -91
  27. data/lib/square/catalog/images/client.rb +50 -20
  28. data/lib/square/catalog/object/client.rb +66 -29
  29. data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
  30. data/lib/square/catalog/object/types/get_object_request.rb +1 -1
  31. data/lib/square/catalog/types/batch_upsert_catalog_objects_request.rb +1 -3
  32. data/lib/square/catalog/types/search_catalog_items_request.rb +3 -9
  33. data/lib/square/catalog/types/search_catalog_objects_request.rb +1 -3
  34. data/lib/square/channels/client.rb +131 -0
  35. data/lib/square/channels/types/bulk_retrieve_channels_request.rb +11 -0
  36. data/lib/square/channels/types/get_channels_request.rb +11 -0
  37. data/lib/square/channels/types/list_channels_request.rb +15 -0
  38. data/lib/square/checkout/client.rb +77 -31
  39. data/lib/square/checkout/payment_links/client.rb +120 -54
  40. data/lib/square/client.rb +18 -10
  41. data/lib/square/customers/cards/client.rb +43 -16
  42. data/lib/square/customers/client.rb +220 -97
  43. data/lib/square/customers/custom_attribute_definitions/client.rb +157 -74
  44. data/lib/square/customers/custom_attribute_definitions/types/batch_upsert_customer_custom_attributes_request.rb +1 -3
  45. data/lib/square/customers/custom_attribute_definitions/types/create_customer_custom_attribute_definition_request.rb +1 -3
  46. data/lib/square/customers/custom_attribute_definitions/types/update_customer_custom_attribute_definition_request.rb +1 -3
  47. data/lib/square/customers/custom_attributes/client.rb +117 -53
  48. data/lib/square/customers/groups/client.rb +156 -67
  49. data/lib/square/customers/segments/client.rb +62 -31
  50. data/lib/square/customers/types/bulk_create_customers_request.rb +1 -3
  51. data/lib/square/customers/types/bulk_update_customers_request.rb +1 -3
  52. data/lib/square/devices/client.rb +66 -31
  53. data/lib/square/devices/codes/client.rb +83 -38
  54. data/lib/square/disputes/client.rb +140 -60
  55. data/lib/square/disputes/evidence/client.rb +83 -39
  56. data/lib/square/employees/client.rb +66 -31
  57. data/lib/square/events/client.rb +80 -38
  58. data/lib/square/file_param.rb +77 -77
  59. data/lib/square/gift_cards/activities/client.rb +73 -31
  60. data/lib/square/gift_cards/client.rb +163 -69
  61. data/lib/square/internal/http/base_request.rb +6 -0
  62. data/lib/square/internal/http/raw_client.rb +111 -20
  63. data/lib/square/internal/iterators/cursor_item_iterator.rb +28 -0
  64. data/lib/square/internal/iterators/cursor_page_iterator.rb +51 -0
  65. data/lib/square/internal/iterators/item_iterator.rb +65 -0
  66. data/lib/square/internal/iterators/offset_item_iterator.rb +30 -0
  67. data/lib/square/internal/iterators/offset_page_iterator.rb +83 -0
  68. data/lib/square/internal/json/request.rb +2 -1
  69. data/lib/square/internal/multipart/multipart_request.rb +2 -1
  70. data/lib/square/internal/types/enum.rb +8 -0
  71. data/lib/square/internal/types/model/field.rb +11 -1
  72. data/lib/square/internal/types/model.rb +14 -4
  73. data/lib/square/internal/types/union.rb +88 -7
  74. data/lib/square/internal/types/utils.rb +20 -4
  75. data/lib/square/inventory/client.rb +100 -76
  76. data/lib/square/invoices/client.rb +228 -99
  77. data/lib/square/labor/break_types/client.rb +120 -53
  78. data/lib/square/labor/client.rb +205 -81
  79. data/lib/square/labor/employee_wages/client.rb +64 -31
  80. data/lib/square/labor/shifts/client.rb +94 -37
  81. data/lib/square/labor/team_member_wages/client.rb +64 -31
  82. data/lib/square/labor/types/bulk_publish_scheduled_shifts_request.rb +2 -6
  83. data/lib/square/labor/types/publish_scheduled_shift_request.rb +1 -3
  84. data/lib/square/labor/workweek_configs/client.rb +65 -32
  85. data/lib/square/locations/client.rb +102 -41
  86. data/lib/square/locations/custom_attribute_definitions/client.rb +135 -64
  87. data/lib/square/locations/custom_attribute_definitions/types/create_location_custom_attribute_definition_request.rb +1 -3
  88. data/lib/square/locations/custom_attribute_definitions/types/update_location_custom_attribute_definition_request.rb +1 -3
  89. data/lib/square/locations/custom_attributes/client.rb +156 -68
  90. data/lib/square/locations/custom_attributes/types/bulk_delete_location_custom_attributes_request.rb +1 -3
  91. data/lib/square/locations/custom_attributes/types/bulk_upsert_location_custom_attributes_request.rb +1 -3
  92. data/lib/square/locations/transactions/client.rb +93 -37
  93. data/lib/square/locations/types/create_checkout_request.rb +1 -3
  94. data/lib/square/loyalty/accounts/client.rb +109 -44
  95. data/lib/square/loyalty/accounts/types/search_loyalty_accounts_request.rb +1 -3
  96. data/lib/square/loyalty/client.rb +20 -8
  97. data/lib/square/loyalty/programs/client.rb +72 -29
  98. data/lib/square/loyalty/programs/promotions/client.rb +106 -46
  99. data/lib/square/loyalty/programs/promotions/types/cancel_promotions_request.rb +1 -1
  100. data/lib/square/loyalty/programs/promotions/types/get_promotions_request.rb +1 -1
  101. data/lib/square/loyalty/rewards/client.rb +96 -38
  102. data/lib/square/loyalty/rewards/types/search_loyalty_rewards_request.rb +1 -3
  103. data/lib/square/merchants/client.rb +60 -31
  104. data/lib/square/merchants/custom_attribute_definitions/client.rb +137 -65
  105. data/lib/square/merchants/custom_attribute_definitions/types/create_merchant_custom_attribute_definition_request.rb +1 -3
  106. data/lib/square/merchants/custom_attribute_definitions/types/update_merchant_custom_attribute_definition_request.rb +1 -3
  107. data/lib/square/merchants/custom_attributes/client.rb +156 -68
  108. data/lib/square/merchants/custom_attributes/types/bulk_delete_merchant_custom_attributes_request.rb +1 -3
  109. data/lib/square/merchants/custom_attributes/types/bulk_upsert_merchant_custom_attributes_request.rb +1 -3
  110. data/lib/square/o_auth/client.rb +76 -31
  111. data/lib/square/o_auth/types/obtain_token_request.rb +1 -0
  112. data/lib/square/orders/client.rb +156 -63
  113. data/lib/square/orders/custom_attribute_definitions/client.rb +137 -65
  114. data/lib/square/orders/custom_attribute_definitions/types/create_order_custom_attribute_definition_request.rb +1 -3
  115. data/lib/square/orders/custom_attribute_definitions/types/update_order_custom_attribute_definition_request.rb +1 -3
  116. data/lib/square/orders/custom_attributes/client.rb +159 -69
  117. data/lib/square/orders/custom_attributes/types/bulk_delete_order_custom_attributes_request.rb +1 -3
  118. data/lib/square/orders/custom_attributes/types/bulk_upsert_order_custom_attributes_request.rb +1 -3
  119. data/lib/square/orders/types/calculate_order_request.rb +1 -3
  120. data/lib/square/payments/client.rb +182 -70
  121. data/lib/square/payouts/client.rb +116 -54
  122. data/lib/square/refunds/client.rb +97 -40
  123. data/lib/square/refunds/types/refund_payment_request.rb +1 -3
  124. data/lib/square/sites/client.rb +26 -11
  125. data/lib/square/snippets/client.rb +73 -28
  126. data/lib/square/subscriptions/client.rb +271 -117
  127. data/lib/square/team/client.rb +81 -36
  128. data/lib/square/team_members/client.rb +119 -49
  129. data/lib/square/team_members/types/batch_create_team_members_request.rb +1 -3
  130. data/lib/square/team_members/types/batch_update_team_members_request.rb +1 -3
  131. data/lib/square/team_members/wage_setting/client.rb +48 -19
  132. data/lib/square/terminal/actions/client.rb +75 -30
  133. data/lib/square/terminal/checkouts/client.rb +76 -30
  134. data/lib/square/terminal/client.rb +60 -23
  135. data/lib/square/terminal/refunds/client.rb +78 -31
  136. data/lib/square/transfer_orders/client.rb +292 -0
  137. data/lib/square/transfer_orders/types/cancel_transfer_order_request.rb +13 -0
  138. data/lib/square/transfer_orders/types/create_transfer_order_request.rb +12 -0
  139. data/lib/square/transfer_orders/types/delete_transfer_orders_request.rb +12 -0
  140. data/lib/square/transfer_orders/types/get_transfer_orders_request.rb +11 -0
  141. data/lib/square/transfer_orders/types/receive_transfer_order_request.rb +14 -0
  142. data/lib/square/transfer_orders/types/search_transfer_orders_request.rb +13 -0
  143. data/lib/square/transfer_orders/types/start_transfer_order_request.rb +13 -0
  144. data/lib/square/transfer_orders/types/update_transfer_order_request.rb +14 -0
  145. data/lib/square/types/address.rb +2 -1
  146. data/lib/square/types/application_details.rb +1 -3
  147. data/lib/square/types/application_type.rb +23 -0
  148. data/lib/square/types/availability.rb +3 -4
  149. data/lib/square/types/bank_account.rb +1 -0
  150. data/lib/square/types/batch_create_team_members_response.rb +1 -3
  151. data/lib/square/types/batch_create_vendors_response.rb +1 -3
  152. data/lib/square/types/batch_get_catalog_objects_response.rb +1 -3
  153. data/lib/square/types/batch_get_vendors_response.rb +1 -3
  154. data/lib/square/types/batch_update_team_members_response.rb +1 -3
  155. data/lib/square/types/batch_update_vendors_response.rb +1 -3
  156. data/lib/square/types/batch_upsert_catalog_objects_response.rb +1 -3
  157. data/lib/square/types/batch_upsert_customer_custom_attributes_request_customer_custom_attribute_upsert_request.rb +2 -1
  158. data/lib/square/types/batch_upsert_customer_custom_attributes_response.rb +4 -4
  159. data/lib/square/types/batch_upsert_customer_custom_attributes_response_customer_custom_attribute_upsert_response.rb +3 -1
  160. data/lib/square/types/booking.rb +2 -6
  161. data/lib/square/types/booking_created_event.rb +2 -1
  162. data/lib/square/types/booking_custom_attribute_definition_visible_created_event.rb +2 -1
  163. data/lib/square/types/booking_custom_attribute_definition_visible_deleted_event.rb +2 -1
  164. data/lib/square/types/booking_custom_attribute_definition_visible_updated_event.rb +2 -1
  165. data/lib/square/types/booking_custom_attribute_delete_request.rb +4 -2
  166. data/lib/square/types/booking_custom_attribute_delete_response.rb +3 -1
  167. data/lib/square/types/booking_custom_attribute_upsert_request.rb +2 -1
  168. data/lib/square/types/booking_custom_attribute_upsert_response.rb +3 -1
  169. data/lib/square/types/booking_updated_event.rb +2 -1
  170. data/lib/square/types/bulk_create_customers_response.rb +1 -3
  171. data/lib/square/types/bulk_delete_booking_custom_attributes_response.rb +4 -4
  172. data/lib/square/types/bulk_delete_customers_response.rb +1 -3
  173. data/lib/square/types/bulk_delete_location_custom_attributes_request_location_custom_attribute_delete_request.rb +2 -1
  174. data/lib/square/types/bulk_delete_location_custom_attributes_response.rb +4 -4
  175. data/lib/square/types/bulk_delete_location_custom_attributes_response_location_custom_attribute_delete_response.rb +2 -1
  176. data/lib/square/types/bulk_delete_merchant_custom_attributes_request_merchant_custom_attribute_delete_request.rb +2 -1
  177. data/lib/square/types/bulk_delete_merchant_custom_attributes_response.rb +4 -4
  178. data/lib/square/types/bulk_delete_merchant_custom_attributes_response_merchant_custom_attribute_delete_response.rb +2 -1
  179. data/lib/square/types/bulk_delete_order_custom_attributes_response.rb +1 -3
  180. data/lib/square/types/bulk_publish_scheduled_shifts_response.rb +1 -3
  181. data/lib/square/types/bulk_retrieve_bookings_response.rb +1 -3
  182. data/lib/square/types/bulk_retrieve_channels_request_constants.rb +23 -0
  183. data/lib/square/types/bulk_retrieve_channels_response.rb +12 -0
  184. data/lib/square/types/bulk_retrieve_customers_response.rb +1 -3
  185. data/lib/square/types/bulk_retrieve_team_member_booking_profiles_response.rb +3 -4
  186. data/lib/square/types/bulk_update_customers_response.rb +1 -3
  187. data/lib/square/types/bulk_upsert_booking_custom_attributes_response.rb +4 -4
  188. data/lib/square/types/bulk_upsert_location_custom_attributes_request_location_custom_attribute_upsert_request.rb +2 -1
  189. data/lib/square/types/bulk_upsert_location_custom_attributes_response.rb +4 -4
  190. data/lib/square/types/bulk_upsert_location_custom_attributes_response_location_custom_attribute_upsert_response.rb +3 -1
  191. data/lib/square/types/bulk_upsert_merchant_custom_attributes_request_merchant_custom_attribute_upsert_request.rb +2 -1
  192. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response.rb +4 -4
  193. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response_merchant_custom_attribute_upsert_response.rb +3 -1
  194. data/lib/square/types/bulk_upsert_order_custom_attributes_response.rb +1 -3
  195. data/lib/square/types/business_appointment_settings.rb +4 -12
  196. data/lib/square/types/business_booking_profile.rb +2 -6
  197. data/lib/square/types/buy_now_pay_later_details.rb +1 -0
  198. data/lib/square/types/cancel_transfer_order_response.rb +11 -0
  199. data/lib/square/types/card.rb +2 -0
  200. data/lib/square/types/card_issuer_alert.rb +23 -0
  201. data/lib/square/types/catalog_category.rb +1 -3
  202. data/lib/square/types/catalog_custom_attribute_definition.rb +6 -18
  203. data/lib/square/types/catalog_custom_attribute_definition_selection_config.rb +1 -3
  204. data/lib/square/types/catalog_id_mapping.rb +1 -1
  205. data/lib/square/types/catalog_info_response.rb +1 -3
  206. data/lib/square/types/catalog_item.rb +6 -12
  207. data/lib/square/types/catalog_item_food_and_beverage_details.rb +2 -6
  208. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference.rb +2 -6
  209. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient.rb +2 -6
  210. data/lib/square/types/catalog_item_modifier_list_info.rb +6 -9
  211. data/lib/square/types/catalog_item_variation.rb +17 -13
  212. data/lib/square/types/catalog_modifier.rb +4 -4
  213. data/lib/square/types/catalog_modifier_list.rb +4 -2
  214. data/lib/square/types/catalog_modifier_override.rb +2 -2
  215. data/lib/square/types/catalog_modifier_toggle_override_type.rb +13 -0
  216. data/lib/square/types/catalog_object.rb +7 -3
  217. data/lib/square/types/catalog_object_base.rb +2 -4
  218. data/lib/square/types/catalog_object_category.rb +3 -4
  219. data/lib/square/types/catalog_object_custom_attribute_definition.rb +1 -3
  220. data/lib/square/types/catalog_object_quick_amounts_settings.rb +1 -3
  221. data/lib/square/types/catalog_object_reference.rb +1 -1
  222. data/lib/square/types/catalog_object_subscription_plan_variation.rb +1 -3
  223. data/lib/square/types/catalog_query.rb +11 -13
  224. data/lib/square/types/catalog_query_prefix.rb +2 -1
  225. data/lib/square/types/catalog_query_text.rb +2 -1
  226. data/lib/square/types/catalog_subscription_plan.rb +5 -5
  227. data/lib/square/types/catalog_subscription_plan_variation.rb +4 -2
  228. data/lib/square/types/catalog_v_1_id.rb +1 -1
  229. data/lib/square/types/catalog_version_updated_event_object.rb +1 -3
  230. data/lib/square/types/channel.rb +16 -0
  231. data/lib/square/types/channel_status.rb +12 -0
  232. data/lib/square/types/checkout.rb +1 -3
  233. data/lib/square/types/checkout_location_settings.rb +1 -3
  234. data/lib/square/types/checkout_location_settings_branding.rb +2 -6
  235. data/lib/square/types/checkout_merchant_settings.rb +1 -3
  236. data/lib/square/types/checkout_merchant_settings_payment_methods.rb +4 -12
  237. data/lib/square/types/checkout_merchant_settings_payment_methods_afterpay_clearpay.rb +2 -6
  238. data/lib/square/types/component.rb +4 -12
  239. data/lib/square/types/create_bank_account_response.rb +11 -0
  240. data/lib/square/types/create_booking_custom_attribute_definition_response.rb +4 -4
  241. data/lib/square/types/create_catalog_image_request.rb +1 -1
  242. data/lib/square/types/create_customer_custom_attribute_definition_response.rb +4 -4
  243. data/lib/square/types/create_location_custom_attribute_definition_response.rb +4 -4
  244. data/lib/square/types/create_merchant_custom_attribute_definition_response.rb +4 -4
  245. data/lib/square/types/create_order_custom_attribute_definition_response.rb +1 -3
  246. data/lib/square/types/create_transfer_order_data.rb +19 -0
  247. data/lib/square/types/create_transfer_order_line_data.rb +12 -0
  248. data/lib/square/types/create_transfer_order_response.rb +11 -0
  249. data/lib/square/types/create_webhook_subscription_response.rb +2 -1
  250. data/lib/square/types/custom_attribute.rb +1 -1
  251. data/lib/square/types/custom_attribute_definition.rb +1 -3
  252. data/lib/square/types/custom_attribute_definition_event_data_object.rb +1 -3
  253. data/lib/square/types/custom_field.rb +2 -1
  254. data/lib/square/types/customer_address_filter.rb +2 -1
  255. data/lib/square/types/customer_created_event.rb +4 -2
  256. data/lib/square/types/customer_created_event_event_context_merge.rb +2 -1
  257. data/lib/square/types/customer_creation_source_filter.rb +1 -3
  258. data/lib/square/types/customer_custom_attribute_filter.rb +2 -1
  259. data/lib/square/types/customer_custom_attribute_filter_value.rb +2 -1
  260. data/lib/square/types/customer_custom_attribute_filters.rb +7 -6
  261. data/lib/square/types/customer_custom_attribute_visible_updated_event.rb +6 -3
  262. data/lib/square/types/customer_deleted_event.rb +4 -2
  263. data/lib/square/types/customer_deleted_event_event_context_merge.rb +2 -1
  264. data/lib/square/types/customer_tax_ids.rb +4 -2
  265. data/lib/square/types/customer_updated_event.rb +4 -2
  266. data/lib/square/types/delete_booking_custom_attribute_definition_response.rb +5 -2
  267. data/lib/square/types/delete_booking_custom_attribute_response.rb +2 -1
  268. data/lib/square/types/delete_customer_custom_attribute_response.rb +2 -1
  269. data/lib/square/types/delete_location_custom_attribute_response.rb +2 -1
  270. data/lib/square/types/delete_merchant_custom_attribute_response.rb +2 -1
  271. data/lib/square/types/delete_subscription_action_response.rb +2 -1
  272. data/lib/square/types/delete_transfer_order_response.rb +10 -0
  273. data/lib/square/types/delete_webhook_subscription_response.rb +2 -1
  274. data/lib/square/types/destination_details.rb +1 -3
  275. data/lib/square/types/device_checkout_options.rb +1 -0
  276. data/lib/square/types/device_component_details_ethernet_details.rb +1 -1
  277. data/lib/square/types/device_component_details_wi_fi_details.rb +1 -1
  278. data/lib/square/types/digital_wallet_details.rb +1 -0
  279. data/lib/square/types/disable_bank_account_response.rb +11 -0
  280. data/lib/square/types/dispute.rb +2 -1
  281. data/lib/square/types/dispute_evidence_added_event.rb +2 -1
  282. data/lib/square/types/dispute_evidence_created_event.rb +2 -1
  283. data/lib/square/types/employee_wage.rb +2 -1
  284. data/lib/square/types/error_code.rb +2 -0
  285. data/lib/square/types/event_data.rb +1 -3
  286. data/lib/square/types/fulfillment.rb +4 -7
  287. data/lib/square/types/fulfillment_delivery_details.rb +1 -3
  288. data/lib/square/types/fulfillment_pickup_details.rb +1 -3
  289. data/lib/square/types/get_bank_account_response.rb +1 -1
  290. data/lib/square/types/get_booking_request.rb +23 -0
  291. data/lib/square/types/get_business_booking_profile_request.rb +23 -0
  292. data/lib/square/types/get_card_request.rb +23 -0
  293. data/lib/square/types/get_catalog_object_response.rb +1 -3
  294. data/lib/square/types/get_customer_custom_attribute_definition_response.rb +4 -4
  295. data/lib/square/types/get_customer_custom_attribute_response.rb +2 -1
  296. data/lib/square/types/get_customer_group_request.rb +23 -0
  297. data/lib/square/types/get_customer_request.rb +23 -0
  298. data/lib/square/types/get_customer_segment_request.rb +23 -0
  299. data/lib/square/types/get_dispute_evidence_request.rb +23 -0
  300. data/lib/square/types/get_dispute_request.rb +23 -0
  301. data/lib/square/types/get_employee_request.rb +23 -0
  302. data/lib/square/types/get_gift_card_request.rb +23 -0
  303. data/lib/square/types/get_inventory_adjustment_request.rb +23 -0
  304. data/lib/square/types/get_inventory_physical_count_request.rb +23 -0
  305. data/lib/square/types/get_inventory_transfer_request.rb +23 -0
  306. data/lib/square/types/get_location_request.rb +23 -0
  307. data/lib/square/types/get_loyalty_account_request.rb +23 -0
  308. data/lib/square/types/get_loyalty_program_request.rb +23 -0
  309. data/lib/square/types/get_loyalty_promotion_request.rb +23 -0
  310. data/lib/square/types/get_loyalty_reward_request.rb +23 -0
  311. data/lib/square/types/get_merchant_request.rb +23 -0
  312. data/lib/square/types/get_order_request.rb +23 -0
  313. data/lib/square/types/get_payment_link_request.rb +23 -0
  314. data/lib/square/types/get_snippet_request.rb +23 -0
  315. data/lib/square/types/get_team_member_booking_profile_request.rb +23 -0
  316. data/lib/square/types/get_team_member_booking_profile_response.rb +1 -3
  317. data/lib/square/types/get_team_member_request.rb +23 -0
  318. data/lib/square/types/get_transaction_request.rb +23 -0
  319. data/lib/square/types/get_vendor_request.rb +23 -0
  320. data/lib/square/types/get_wage_setting_request.rb +23 -0
  321. data/lib/square/types/get_webhook_subscription_request.rb +23 -0
  322. data/lib/square/types/get_webhook_subscription_response.rb +2 -1
  323. data/lib/square/types/gift_card_activity.rb +8 -24
  324. data/lib/square/types/gift_card_activity_block_reason.rb +23 -0
  325. data/lib/square/types/gift_card_activity_unblock_reason.rb +23 -0
  326. data/lib/square/types/gift_card_activity_updated_event.rb +2 -1
  327. data/lib/square/types/inventory_count_updated_event_object.rb +1 -3
  328. data/lib/square/types/invoice.rb +6 -13
  329. data/lib/square/types/invoice_accepted_payment_methods.rb +2 -1
  330. data/lib/square/types/invoice_attachment.rb +1 -1
  331. data/lib/square/types/invoice_custom_field.rb +2 -1
  332. data/lib/square/types/invoice_payment_made_event.rb +2 -1
  333. data/lib/square/types/invoice_payment_request.rb +6 -8
  334. data/lib/square/types/invoice_refunded_event.rb +2 -1
  335. data/lib/square/types/invoice_sort_field.rb +23 -0
  336. data/lib/square/types/labor_scheduled_shift_created_event_object.rb +1 -1
  337. data/lib/square/types/labor_scheduled_shift_published_event_object.rb +1 -1
  338. data/lib/square/types/labor_scheduled_shift_updated_event_object.rb +1 -1
  339. data/lib/square/types/list_bank_accounts_response.rb +1 -1
  340. data/lib/square/types/list_booking_custom_attribute_definitions_response.rb +4 -4
  341. data/lib/square/types/list_booking_custom_attributes_response.rb +3 -4
  342. data/lib/square/types/list_cash_drawer_shift_events_response.rb +1 -3
  343. data/lib/square/types/list_cash_drawer_shifts_response.rb +1 -3
  344. data/lib/square/types/list_channels_request_constants.rb +23 -0
  345. data/lib/square/types/list_channels_response.rb +11 -0
  346. data/lib/square/types/list_customer_custom_attribute_definitions_response.rb +4 -4
  347. data/lib/square/types/list_customer_custom_attributes_response.rb +3 -4
  348. data/lib/square/types/list_gift_card_activities_response.rb +1 -3
  349. data/lib/square/types/list_location_booking_profiles_response.rb +1 -3
  350. data/lib/square/types/list_location_custom_attribute_definitions_response.rb +4 -4
  351. data/lib/square/types/list_location_custom_attributes_response.rb +3 -4
  352. data/lib/square/types/list_loyalty_promotions_response.rb +1 -3
  353. data/lib/square/types/list_merchant_custom_attribute_definitions_response.rb +4 -4
  354. data/lib/square/types/list_merchant_custom_attributes_response.rb +3 -4
  355. data/lib/square/types/list_order_custom_attribute_definitions_response.rb +1 -3
  356. data/lib/square/types/list_order_custom_attributes_response.rb +1 -3
  357. data/lib/square/types/list_subscription_events_response.rb +1 -3
  358. data/lib/square/types/list_team_member_booking_profiles_response.rb +1 -3
  359. data/lib/square/types/list_team_member_wages_response.rb +1 -3
  360. data/lib/square/types/list_webhook_subscriptions_response.rb +1 -3
  361. data/lib/square/types/list_workweek_configs_response.rb +1 -3
  362. data/lib/square/types/location.rb +1 -3
  363. data/lib/square/types/location_booking_profile.rb +2 -1
  364. data/lib/square/types/location_custom_attribute_visible_updated_event.rb +6 -3
  365. data/lib/square/types/loyalty_account.rb +1 -3
  366. data/lib/square/types/loyalty_account_mapping_type.rb +23 -0
  367. data/lib/square/types/loyalty_event.rb +3 -4
  368. data/lib/square/types/loyalty_event_filter.rb +1 -3
  369. data/lib/square/types/loyalty_program.rb +4 -7
  370. data/lib/square/types/loyalty_program_accrual_rule.rb +3 -4
  371. data/lib/square/types/loyalty_program_reward_tier.rb +3 -1
  372. data/lib/square/types/loyalty_promotion_incentive.rb +2 -6
  373. data/lib/square/types/loyalty_promotion_incentive_points_addition_data.rb +2 -1
  374. data/lib/square/types/loyalty_promotion_incentive_points_multiplier_data.rb +2 -1
  375. data/lib/square/types/loyalty_promotion_trigger_limit.rb +2 -1
  376. data/lib/square/types/loyalty_reward.rb +4 -2
  377. data/lib/square/types/measurement_unit_generic.rb +23 -0
  378. data/lib/square/types/oauth_authorization_revoked_event_object.rb +1 -3
  379. data/lib/square/types/oauth_authorization_revoked_event_revocation_object.rb +1 -3
  380. data/lib/square/types/order.rb +2 -6
  381. data/lib/square/types/order_card_surcharge_treatment_type.rb +12 -0
  382. data/lib/square/types/order_custom_attribute_definition_owned_created_event.rb +2 -1
  383. data/lib/square/types/order_custom_attribute_definition_owned_deleted_event.rb +2 -1
  384. data/lib/square/types/order_custom_attribute_definition_owned_updated_event.rb +2 -1
  385. data/lib/square/types/order_custom_attribute_definition_visible_created_event.rb +2 -1
  386. data/lib/square/types/order_custom_attribute_definition_visible_deleted_event.rb +2 -1
  387. data/lib/square/types/order_custom_attribute_definition_visible_updated_event.rb +2 -1
  388. data/lib/square/types/order_custom_attribute_owned_deleted_event.rb +2 -1
  389. data/lib/square/types/order_custom_attribute_owned_updated_event.rb +2 -1
  390. data/lib/square/types/order_custom_attribute_visible_deleted_event.rb +2 -1
  391. data/lib/square/types/order_custom_attribute_visible_updated_event.rb +2 -1
  392. data/lib/square/types/order_fulfillment_updated.rb +1 -3
  393. data/lib/square/types/order_line_item.rb +4 -12
  394. data/lib/square/types/order_line_item_applied_tax.rb +1 -0
  395. data/lib/square/types/order_line_item_pricing_blocklists.rb +3 -6
  396. data/lib/square/types/order_line_item_pricing_blocklists_blocked_service_charge.rb +14 -0
  397. data/lib/square/types/order_return.rb +3 -9
  398. data/lib/square/types/order_return_line_item.rb +4 -12
  399. data/lib/square/types/order_return_service_charge.rb +3 -6
  400. data/lib/square/types/order_service_charge.rb +2 -6
  401. data/lib/square/types/payment.rb +1 -3
  402. data/lib/square/types/payment_link_related_resources.rb +1 -3
  403. data/lib/square/types/payment_refund.rb +1 -3
  404. data/lib/square/types/payout_entry.rb +24 -72
  405. data/lib/square/types/pre_populated_data.rb +2 -1
  406. data/lib/square/types/product_type.rb +23 -0
  407. data/lib/square/types/receive_transfer_order_response.rb +11 -0
  408. data/lib/square/types/reference.rb +10 -0
  409. data/lib/square/types/reference_type.rb +25 -0
  410. data/lib/square/types/refund.rb +1 -3
  411. data/lib/square/types/retrieve_booking_custom_attribute_definition_response.rb +4 -4
  412. data/lib/square/types/retrieve_booking_custom_attribute_response.rb +2 -1
  413. data/lib/square/types/retrieve_channel_response.rb +10 -0
  414. data/lib/square/types/retrieve_location_custom_attribute_definition_response.rb +4 -4
  415. data/lib/square/types/retrieve_location_custom_attribute_response.rb +2 -1
  416. data/lib/square/types/retrieve_merchant_custom_attribute_definition_response.rb +4 -4
  417. data/lib/square/types/retrieve_merchant_custom_attribute_response.rb +2 -1
  418. data/lib/square/types/retrieve_order_custom_attribute_definition_response.rb +1 -3
  419. data/lib/square/types/retrieve_transfer_order_response.rb +11 -0
  420. data/lib/square/types/scheduled_shift_filter.rb +3 -7
  421. data/lib/square/types/scheduled_shift_workday.rb +1 -3
  422. data/lib/square/types/search_availability_filter.rb +1 -3
  423. data/lib/square/types/search_catalog_items_response.rb +2 -1
  424. data/lib/square/types/search_catalog_objects_response.rb +1 -3
  425. data/lib/square/types/search_events_sort_field.rb +23 -0
  426. data/lib/square/types/search_loyalty_accounts_request_loyalty_account_query.rb +1 -3
  427. data/lib/square/types/search_loyalty_accounts_response.rb +1 -3
  428. data/lib/square/types/search_orders_date_time_filter.rb +2 -1
  429. data/lib/square/types/search_orders_fulfillment_filter.rb +2 -6
  430. data/lib/square/types/search_orders_source_filter.rb +2 -0
  431. data/lib/square/types/search_scheduled_shifts_response.rb +1 -3
  432. data/lib/square/types/search_transfer_orders_response.rb +12 -0
  433. data/lib/square/types/shift_filter.rb +3 -2
  434. data/lib/square/types/shift_query.rb +2 -1
  435. data/lib/square/types/shift_sort.rb +2 -1
  436. data/lib/square/types/shift_wage.rb +2 -1
  437. data/lib/square/types/shift_workday.rb +2 -1
  438. data/lib/square/types/snippet.rb +2 -1
  439. data/lib/square/types/standard_unit_description_group.rb +1 -3
  440. data/lib/square/types/start_transfer_order_response.rb +11 -0
  441. data/lib/square/types/subscription_event.rb +1 -3
  442. data/lib/square/types/subscription_phase.rb +2 -1
  443. data/lib/square/types/subscription_test_result.rb +5 -3
  444. data/lib/square/types/team_member_assigned_locations.rb +1 -3
  445. data/lib/square/types/team_member_booking_profile.rb +2 -1
  446. data/lib/square/types/tender.rb +2 -6
  447. data/lib/square/types/tender_buy_now_pay_later_details.rb +1 -3
  448. data/lib/square/types/terminal_refund.rb +2 -1
  449. data/lib/square/types/test_webhook_subscription_response.rb +5 -5
  450. data/lib/square/types/timecard_filter.rb +1 -1
  451. data/lib/square/types/transfer_order.rb +35 -0
  452. data/lib/square/types/transfer_order_created_event.rb +14 -0
  453. data/lib/square/types/transfer_order_created_event_data.rb +11 -0
  454. data/lib/square/types/transfer_order_created_event_object.rb +9 -0
  455. data/lib/square/types/transfer_order_deleted_event.rb +14 -0
  456. data/lib/square/types/transfer_order_deleted_event_data.rb +11 -0
  457. data/lib/square/types/transfer_order_filter.rb +12 -0
  458. data/lib/square/types/transfer_order_goods_receipt.rb +27 -0
  459. data/lib/square/types/transfer_order_goods_receipt_line_item.rb +13 -0
  460. data/lib/square/types/transfer_order_line.rb +18 -0
  461. data/lib/square/types/transfer_order_query.rb +11 -0
  462. data/lib/square/types/transfer_order_sort.rb +11 -0
  463. data/lib/square/types/transfer_order_sort_field.rb +12 -0
  464. data/lib/square/types/transfer_order_status.rb +15 -0
  465. data/lib/square/types/transfer_order_updated_event.rb +14 -0
  466. data/lib/square/types/transfer_order_updated_event_data.rb +11 -0
  467. data/lib/square/types/transfer_order_updated_event_object.rb +9 -0
  468. data/lib/square/types/update_booking_custom_attribute_definition_response.rb +4 -4
  469. data/lib/square/types/update_customer_custom_attribute_definition_response.rb +4 -4
  470. data/lib/square/types/update_location_custom_attribute_definition_response.rb +4 -4
  471. data/lib/square/types/update_merchant_custom_attribute_definition_response.rb +4 -4
  472. data/lib/square/types/update_order_custom_attribute_definition_response.rb +1 -3
  473. data/lib/square/types/update_transfer_order_data.rb +15 -0
  474. data/lib/square/types/update_transfer_order_line_data.rb +13 -0
  475. data/lib/square/types/update_transfer_order_response.rb +11 -0
  476. data/lib/square/types/update_webhook_subscription_response.rb +2 -1
  477. data/lib/square/types/update_webhook_subscription_signature_key_response.rb +3 -1
  478. data/lib/square/types/upsert_booking_custom_attribute_response.rb +2 -1
  479. data/lib/square/types/upsert_catalog_object_response.rb +1 -3
  480. data/lib/square/types/upsert_customer_custom_attribute_response.rb +2 -1
  481. data/lib/square/types/upsert_location_custom_attribute_response.rb +2 -1
  482. data/lib/square/types/upsert_merchant_custom_attribute_response.rb +2 -1
  483. data/lib/square/types/v_1_get_payment_request.rb +23 -0
  484. data/lib/square/types/v_1_get_settlement_request.rb +23 -0
  485. data/lib/square/types/v_1_order.rb +1 -3
  486. data/lib/square/types/vendor_created_event_object_operation.rb +23 -0
  487. data/lib/square/types/vendor_updated_event_object_operation.rb +23 -0
  488. data/lib/square/types/wage_setting.rb +1 -3
  489. data/lib/square/v_1_transactions/client.rb +72 -29
  490. data/lib/square/vendors/client.rb +126 -51
  491. data/lib/square/vendors/types/batch_update_vendors_request.rb +1 -3
  492. data/lib/square/version.rb +1 -1
  493. data/lib/square/webhooks/client.rb +3 -1
  494. data/lib/square/webhooks/event_types/client.rb +25 -14
  495. data/lib/square/webhooks/subscriptions/client.rb +164 -69
  496. data/lib/square.rb +106 -5
  497. data/lib/square_legacy/utilities/webhooks_helper.rb +1 -1
  498. data/reference.md +29588 -0
  499. data/wiremock/docker-compose.test.yml +14 -0
  500. data/wiremock/wiremock-mappings.json +1 -0
  501. metadata +118 -45
  502. data/lib/square/mobile/client.rb +0 -50
  503. data/lib/square/mobile/types/create_mobile_authorization_code_request.rb +0 -11
  504. data/lib/square/types/create_mobile_authorization_code_response.rb +0 -13
  505. data/test/square/integration/client_tests/test_cash_drawers.rb +0 -27
  506. data/test/square/integration/client_tests/test_catalog.rb +0 -704
  507. data/test/square/integration/client_tests/test_customers.rb +0 -65
  508. data/test/square/integration/client_tests/test_customers_groups.rb +0 -144
  509. data/test/square/integration/client_tests/test_customers_segments.rb +0 -36
  510. data/test/square/integration/client_tests/test_devices.rb +0 -67
  511. data/test/square/integration/client_tests/test_inventory.rb +0 -28
  512. data/test/square/integration/client_tests/test_locations.rb +0 -18
  513. data/test/square/integration/client_tests/test_merchants.rb +0 -40
  514. data/test/square/integration/client_tests/test_mobile.rb +0 -21
  515. data/test/square/integration/client_tests/test_orders.rb +0 -177
  516. data/test/square/integration/client_tests/test_payments.rb +0 -167
  517. data/test/square/integration/client_tests/test_refunds.rb +0 -133
  518. data/test/square/integration/client_tests/test_team_members.rb +0 -97
  519. data/test/square/integration/client_tests/test_terminal.rb +0 -107
  520. data/test/square/integration/integration_test_base.rb +0 -16
  521. data/test/square/integration/testdata/image.jpeg +0 -0
  522. data/test/square/internal/multipart/test_form_data.rb +0 -311
  523. data/test/square/internal/types/test_array.rb +0 -37
  524. data/test/square/internal/types/test_boolean.rb +0 -35
  525. data/test/square/internal/types/test_enum.rb +0 -42
  526. data/test/square/internal/types/test_hash.rb +0 -50
  527. data/test/square/internal/types/test_model.rb +0 -105
  528. data/test/square/internal/types/test_union.rb +0 -52
  529. data/test/square/internal/types/test_utils.rb +0 -216
  530. data/test/square_legacy/api/api_test_base.rb +0 -27
  531. data/test/square_legacy/api/test_catalog_api.rb +0 -57
  532. data/test/square_legacy/api/test_customers_api.rb +0 -43
  533. data/test/square_legacy/api/test_employees_api.rb +0 -34
  534. data/test/square_legacy/api/test_labor_api.rb +0 -82
  535. data/test/square_legacy/api/test_locations_api.rb +0 -22
  536. data/test/square_legacy/api/test_merchants_api.rb +0 -38
  537. data/test/square_legacy/api/test_payments_api.rb +0 -40
  538. data/test/square_legacy/api/test_refunds_api.rb +0 -42
  539. data/test/square_legacy/http_response_catcher.rb +0 -14
  540. data/test/square_legacy/webhooks/test_webhooks_helper.rb +0 -153
  541. data/test/test_helper.rb +0 -123
@@ -1,216 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "test_helper"
4
-
5
- describe Square::Internal::Types::Utils do
6
- Utils = Square::Internal::Types::Utils
7
-
8
- module TestUtils
9
- class M < Square::Internal::Types::Model
10
- field :value, String
11
- end
12
-
13
- class UnionMemberA < Square::Internal::Types::Model
14
- literal :type, "A"
15
- field :only_on_a, String
16
- end
17
-
18
- class UnionMemberB < Square::Internal::Types::Model
19
- literal :type, "B"
20
- field :only_on_b, String
21
- end
22
-
23
- module U
24
- extend Square::Internal::Types::Union
25
-
26
- discriminant :type
27
-
28
- member -> { UnionMemberA }, key: "A"
29
- member -> { UnionMemberB }, key: "B"
30
- end
31
-
32
- SymbolStringHash = Square::Internal::Types::Hash[Symbol, String]
33
- SymbolModelHash = -> { Square::Internal::Types::Hash[Symbol, TestUtils::M] }
34
- end
35
-
36
- describe ".coerce" do
37
- describe "NilClass" do
38
- it "always returns nil" do
39
- assert_nil Utils.coerce(NilClass, "foobar")
40
- assert_nil Utils.coerce(NilClass, 1)
41
- assert_nil Utils.coerce(NilClass, Object.new)
42
- end
43
- end
44
-
45
- describe "String" do
46
- it "coerces from String, Symbol, Numeric, or Boolean" do
47
- assert_equal "foobar", Utils.coerce(String, "foobar")
48
- assert_equal "foobar", Utils.coerce(String, :foobar)
49
- assert_equal "1", Utils.coerce(String, 1)
50
- assert_equal "1.0", Utils.coerce(String, 1.0)
51
- assert_equal "true", Utils.coerce(String, true)
52
- end
53
-
54
- it "passes through value if it cannot be coerced and not strict" do
55
- obj = Object.new
56
-
57
- assert_equal obj, Utils.coerce(String, obj)
58
- end
59
-
60
- it "raises an error if value cannot be coerced and strict" do
61
- assert_raises Square::Internal::Errors::TypeError do
62
- Utils.coerce(String, Object.new, strict: true)
63
- end
64
- end
65
- end
66
-
67
- describe "Symbol" do
68
- it "coerces from Symbol, String" do
69
- assert_equal :foobar, Utils.coerce(Symbol, :foobar)
70
- assert_equal :foobar, Utils.coerce(Symbol, "foobar")
71
- end
72
-
73
- it "passes through value if it cannot be coerced and not strict" do
74
- obj = Object.new
75
-
76
- assert_equal obj, Utils.coerce(Symbol, obj)
77
- end
78
-
79
- it "raises an error if value cannot be coerced and strict" do
80
- assert_raises Square::Internal::Errors::TypeError do
81
- Utils.coerce(Symbol, Object.new, strict: true)
82
- end
83
- end
84
- end
85
-
86
- describe "Integer" do
87
- it "coerces from Numeric, String, Time" do
88
- assert_equal 1, Utils.coerce(Integer, 1)
89
- assert_equal 1, Utils.coerce(Integer, 1.0)
90
- assert_equal 1, Utils.coerce(Integer, Complex.rect(1))
91
- assert_equal 1, Utils.coerce(Integer, Rational(1))
92
- assert_equal 1, Utils.coerce(Integer, "1")
93
- assert_equal 1_713_916_800, Utils.coerce(Integer, Time.utc(2024, 4, 24))
94
- end
95
-
96
- it "passes through value if it cannot be coerced and not strict" do
97
- obj = Object.new
98
-
99
- assert_equal obj, Utils.coerce(Integer, obj)
100
- end
101
-
102
- it "raises an error if value cannot be coerced and strict" do
103
- assert_raises Square::Internal::Errors::TypeError do
104
- Utils.coerce(Integer, Object.new, strict: true)
105
- end
106
- end
107
- end
108
-
109
- describe "Float" do
110
- it "coerces from Numeric, Time" do
111
- assert_in_delta(1.0, Utils.coerce(Float, 1.0))
112
- assert_in_delta(1.0, Utils.coerce(Float, 1))
113
- assert_in_delta(1.0, Utils.coerce(Float, Complex.rect(1)))
114
- assert_in_delta(1.0, Utils.coerce(Float, Rational(1)))
115
- assert_in_delta(1_713_916_800.0, Utils.coerce(Integer, Time.utc(2024, 4, 24)))
116
- end
117
-
118
- it "passes through value if it cannot be coerced and not strict" do
119
- obj = Object.new
120
-
121
- assert_equal obj, Utils.coerce(Float, obj)
122
- end
123
-
124
- it "raises an error if value cannot be coerced and strict" do
125
- assert_raises Square::Internal::Errors::TypeError do
126
- Utils.coerce(Float, Object.new, strict: true)
127
- end
128
- end
129
- end
130
-
131
- describe "Model" do
132
- it "coerces a hash" do
133
- result = Utils.coerce(TestUtils::M, { value: "foobar" })
134
-
135
- assert_kind_of TestUtils::M, result
136
- assert_equal "foobar", result.value
137
- end
138
-
139
- it "coerces a hash when the target is a type function" do
140
- result = Utils.coerce(-> { TestUtils::M }, { value: "foobar" })
141
-
142
- assert_kind_of TestUtils::M, result
143
- assert_equal "foobar", result.value
144
- end
145
-
146
- it "will not coerce non-hashes" do
147
- assert_equal "foobar", Utils.coerce(TestUtils::M, "foobar")
148
- end
149
- end
150
-
151
- describe "Enum" do
152
- module ExampleEnum
153
- extend Square::Internal::Types::Enum
154
-
155
- FOO = :FOO
156
- BAR = :BAR
157
-
158
- finalize!
159
- end
160
-
161
- it "coerces into a Symbol version of the member value" do
162
- assert_equal :FOO, Utils.coerce(ExampleEnum, "FOO")
163
- end
164
-
165
- it "returns given value if not a member" do
166
- assert_equal "NOPE", Utils.coerce(ExampleEnum, "NOPE")
167
- end
168
- end
169
-
170
- describe "Array" do
171
- StringArray = Square::Internal::Types::Array[String]
172
- ModelArray = -> { Square::Internal::Types::Array[TestUtils::M] }
173
- UnionArray = -> { Square::Internal::Types::Array[TestUtils::U] }
174
-
175
- it "coerces an array of literals" do
176
- skip "TODO: Fix me!"
177
-
178
- assert_equal %w[a b c], Utils.coerce(StringArray, %w[a b c])
179
- assert_equal ["1", "2.0", "true"], Utils.coerce(StringArray, [1, 2.0, true])
180
- assert_equal ["1", "2.0", "true"], Utils.coerce(StringArray, Set.new([1, 2.0, true]))
181
- end
182
-
183
- it "coerces an array of Models" do
184
- assert_equal [TestUtils::M.new(value: "foobar"), TestUtils::M.new(value: "bizbaz")],
185
- Utils.coerce(ModelArray, [{ value: "foobar" }, { value: "bizbaz" }])
186
-
187
- assert_equal [TestUtils::M.new(value: "foobar"), TestUtils::M.new(value: "bizbaz")],
188
- Utils.coerce(ModelArray, [TestUtils::M.new(value: "foobar"), TestUtils::M.new(value: "bizbaz")])
189
- end
190
-
191
- it "coerces an array of model unions" do
192
- assert_equal [TestUtils::UnionMemberA.new(type: "A", only_on_a: "A"), TestUtils::UnionMemberB.new(type: "B", only_on_b: "B")],
193
- Utils.coerce(UnionArray, [{ type: "A", only_on_a: "A" }, { type: "B", only_on_b: "B" }])
194
- end
195
-
196
- it "returns given value if not an array" do
197
- skip "TODO: Fix me!"
198
-
199
- assert_equal 1, Utils.coerce(StringArray, 1)
200
- end
201
- end
202
-
203
- describe "Hash" do
204
- it "coerces the keys and values" do
205
- ssh_res = Utils.coerce(TestUtils::SymbolStringHash, { "foo" => "bar", "biz" => "2" })
206
-
207
- assert_equal "bar", ssh_res[:foo]
208
- assert_equal "2", ssh_res[:biz]
209
-
210
- smh_res = Utils.coerce(TestUtils::SymbolModelHash, { "foo" => { "value" => "foo" } })
211
-
212
- assert_equal TestUtils::M.new(value: "foo"), smh_res[:foo]
213
- end
214
- end
215
- end
216
- end
@@ -1,27 +0,0 @@
1
- require 'json'
2
- require 'minitest/autorun'
3
- require 'minitest/hell'
4
- require 'minitest/pride'
5
- require 'minitest/proveit'
6
- require 'square_legacy'
7
- require_relative '../http_response_catcher'
8
-
9
- class ApiTestBase < Minitest::Test
10
- parallelize_me!
11
- include SquareLegacy
12
- include CoreLibrary
13
-
14
- # Create configuration and set any test parameters
15
- def create_configuration
16
- Configuration.new(
17
- access_token: ENV.fetch('SQUARE_SANDBOX_TOKEN', 'AccessToken'),
18
- environment: 'sandbox', http_callback: HttpResponseCatcher.new
19
- )
20
- end
21
-
22
- # Initializes the base test controller
23
- def setup_class
24
- _config = create_configuration
25
- @client = Client.new(config: _config)
26
- end
27
- end
@@ -1,57 +0,0 @@
1
-
2
-
3
- require_relative 'api_test_base'
4
-
5
- class CatalogApiTests < ApiTestBase
6
- # Called only once for the class before any test has executed
7
- def setup
8
- setup_class
9
- @controller = @client.catalog
10
- @response_catcher = @controller.http_call_back
11
- end
12
-
13
- # Returns information about the Square Catalog API, such as batch size
14
- #limits for `BatchUpsertCatalogObjects`.
15
- def test_test_catalog_info()
16
-
17
- # Perform the API call through the SDK function
18
- result = @controller.catalog_info()
19
-
20
- # Test response code
21
- assert_equal(200, @response_catcher.response.status_code)
22
-
23
- # Test headers
24
- expected_headers = {}
25
- expected_headers['content-type'] = 'application/json'
26
-
27
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
28
- end
29
-
30
- # Returns a list of [CatalogObject](#type-catalogobject)s that includes
31
- #all objects of a set of desired types (for example, all [CatalogItem](#type-catalogitem)
32
- #and [CatalogTax](#type-catalogtax) objects) in the catalog. The `types` parameter
33
- #is specified as a comma-separated list of valid [CatalogObject](#type-catalogobject) types:
34
- #`ITEM`, `ITEM_VARIATION`, `MODIFIER`, `MODIFIER_LIST`, `CATEGORY`, `DISCOUNT`, `TAX`.
35
- #
36
- #__Important:__ ListCatalog does not return deleted catalog items. To retrieve
37
- #deleted catalog items, use SearchCatalogObjects and set `include_deleted_objects`
38
- #to `true`.
39
- def test_test_list_catalog()
40
- # Parameters for the API call
41
- cursor = nil
42
- types = nil
43
-
44
- # Perform the API call through the SDK function
45
- result = @controller.list_catalog(cursor: cursor, types: types)
46
-
47
- # Test response code
48
- assert_equal(200, @response_catcher.response.status_code)
49
-
50
- # Test headers
51
- expected_headers = {}
52
- expected_headers['content-type'] = 'application/json'
53
-
54
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
55
- end
56
-
57
- end
@@ -1,43 +0,0 @@
1
-
2
-
3
- require_relative 'api_test_base'
4
-
5
- class CustomersApiTests < ApiTestBase
6
- # Called only once for the class before any test has executed
7
- def setup
8
- setup_class
9
- @controller = @client.customers
10
- @response_catcher = @controller.http_call_back
11
- end
12
-
13
- # Creates a new customer for a business, which can have associated cards on file.
14
- #
15
- #You must provide __at least one__ of the following values in your request to this
16
- #endpoint:
17
- #
18
- #- `given_name`
19
- #- `family_name`
20
- #- `company_name`
21
- #- `email_address`
22
- #- `phone_number`
23
- #
24
- #This endpoint does not accept an idempotency key. If you accidentally create
25
- #a duplicate customer, you can delete it with the
26
- #[DeleteCustomer](#endpoint-deletecustomer) endpoint.
27
- def test_create_customer()
28
- # Parameters for the API call
29
- body = APIHelper.json_deserialize(
30
- '{"given_name":"Amelia","family_name":"Earhart","email_address":"Amelia.Ear'\
31
- 'hart@example.com","address":{"address_line_1":"500 Electric Ave","address_l'\
32
- 'ine_2":"Suite 600","locality":"New York"},"phone_number":"1-212-555-4240","'\
33
- 'reference_id":"YOUR_REFERENCE_ID","note":"a customer"}'
34
- )
35
-
36
- # Perform the API call through the SDK function
37
- result = @controller.create_customer(body: body)
38
-
39
- # Test response code
40
- assert_equal(200, @response_catcher.response.status_code)
41
- end
42
-
43
- end
@@ -1,34 +0,0 @@
1
-
2
-
3
- require_relative 'api_test_base'
4
-
5
- class EmployeesApiTests < ApiTestBase
6
- # Called only once for the class before any test has executed
7
- def setup
8
- setup_class
9
- @controller = @client.employees
10
- @response_catcher = @controller.http_call_back
11
- end
12
-
13
- # Gets a list of `Employee` objects for a business.
14
- def test_test_list_employees()
15
- # Parameters for the API call
16
- location_id = nil
17
- status = nil
18
- limit = nil
19
- cursor = nil
20
-
21
- # Perform the API call through the SDK function
22
- result = @controller.list_employees(location_id: location_id, status: status, limit: limit, cursor: cursor)
23
-
24
- # Test response code
25
- assert_equal(200, @response_catcher.response.status_code)
26
-
27
- # Test headers
28
- expected_headers = {}
29
- expected_headers['content-type'] = 'application/json'
30
-
31
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
32
- end
33
-
34
- end
@@ -1,82 +0,0 @@
1
- require_relative 'api_test_base'
2
-
3
- class LaborApiTests < ApiTestBase
4
- # Called only once for the class before any test has executed
5
- def setup
6
- setup_class
7
- @controller = @client.labor
8
- @response_catcher = @controller.http_call_back
9
- end
10
-
11
- # Returns a paginated list of `BreakType` instances for a business.
12
- def test_list_break_types()
13
- # Parameters for the API call
14
- location_id = nil
15
- limit = nil
16
- cursor = nil
17
-
18
- # Perform the API call through the SDK function
19
- result = @controller.list_break_types(location_id: location_id, limit: limit, cursor: cursor)
20
-
21
- # Test response code
22
- assert_equal(200, @response_catcher.response.status_code)
23
-
24
- # Test headers
25
- expected_headers = {}
26
- expected_headers['content-type'] = 'application/json'
27
-
28
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
29
- end
30
-
31
- # Returns a paginated list of `EmployeeWage` instances for a business.
32
- def test_list_employee_wages()
33
- # Parameters for the API call
34
- limit = nil
35
- cursor = nil
36
-
37
- # Perform the API call through the SDK function
38
- result = @controller.list_employee_wages(limit: limit, cursor: cursor)
39
-
40
- # Test response code
41
- assert_equal(200, @response_catcher.response.status_code)
42
-
43
- # Test headers
44
- expected_headers = {}
45
- expected_headers['content-type'] = 'application/json'
46
-
47
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
48
- end
49
-
50
- # Returns a list of `WorkweekConfig` instances for a business.
51
- def test_list_workweek_configs()
52
- # Parameters for the API call
53
- limit = nil
54
- cursor = nil
55
-
56
- # Perform the API call through the SDK function
57
- result = @controller.list_workweek_configs(limit: limit, cursor: cursor)
58
-
59
- # Test response code
60
- assert_equal(200, @response_catcher.response.status_code)
61
-
62
- # Test headers
63
- expected_headers = {}
64
- expected_headers['content-type'] = 'application/json'
65
-
66
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
67
- end
68
-
69
- def test_search_timecards()
70
- # Perform the API call through the SDK function
71
- result = @controller.search_timecards(body: {limit: 100})
72
-
73
- # Test response code
74
- assert_equal(200, @response_catcher.response.status_code)
75
-
76
- # Test headers
77
- expected_headers = {}
78
- expected_headers['content-type'] = 'application/json'
79
-
80
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
81
- end
82
- end
@@ -1,22 +0,0 @@
1
- require_relative 'api_test_base'
2
-
3
- class LocationsApiTests < ApiTestBase
4
- # Called only once for the class before any test has executed
5
- def setup
6
- setup_class
7
- @controller = @client.locations
8
- @response_catcher = @controller.http_call_back
9
- end
10
-
11
- # Provides details about all of the seller's [locations](https://developer.squareup.com/docs/locations-api),
12
- #including those with an inactive status. Locations are listed alphabetically by `name`.
13
- def test_list_locations
14
-
15
- # Perform the API call through the SDK function
16
- result = @controller.list_locations()
17
-
18
- # Test response code
19
- assert_equal(200, @response_catcher.response.status_code)
20
- end
21
-
22
- end
@@ -1,38 +0,0 @@
1
-
2
-
3
- require_relative 'api_test_base'
4
-
5
- class MerchantsApiTests < ApiTestBase
6
- # Called only once for the class before any test has executed
7
- def setup
8
- setup_class
9
- @controller = @client.merchants
10
- @response_catcher = @controller.http_call_back
11
- end
12
-
13
- # Returns `Merchant` information for a given access token.
14
- #
15
- #If you don't know a `Merchant` ID, you can use this endpoint to retrieve the merchant ID for an access token.
16
- #You can specify your personal access token to get your own merchant information or specify an OAuth token
17
- #to get the information for the merchant that granted you access.
18
- #
19
- #If you know the merchant ID, you can also use the [RetrieveMerchant](#endpoint-merchants-retrievemerchant)
20
- #endpoint to get the merchant information.
21
- def test_list_merchants()
22
- # Parameters for the API call
23
- cursor = nil
24
-
25
- # Perform the API call through the SDK function
26
- result = @controller.list_merchants(cursor: cursor)
27
-
28
- # Test response code
29
- assert_equal(200, @response_catcher.response.status_code)
30
-
31
- # Test headers
32
- expected_headers = {}
33
- expected_headers['content-type'] = 'application/json'
34
-
35
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
36
- end
37
-
38
- end
@@ -1,40 +0,0 @@
1
-
2
-
3
- require_relative 'api_test_base'
4
-
5
- class PaymentsApiTests < ApiTestBase
6
- # Called only once for the class before any test has executed
7
- def setup
8
- setup_class
9
- @controller = @client.payments
10
- @response_catcher = @controller.http_call_back
11
- end
12
-
13
- # Retrieves a list of payments taken by the account making the request.
14
- #
15
- #Max results per page: 100
16
- def test_test_list_payments()
17
- # Parameters for the API call
18
- begin_time = nil
19
- end_time = nil
20
- sort_order = nil
21
- cursor = nil
22
- location_id = nil
23
- total = nil
24
- last_4 = nil
25
- card_brand = nil
26
-
27
- # Perform the API call through the SDK function
28
- result = @controller.list_payments(begin_time: begin_time, end_time: end_time, sort_order: sort_order, cursor: cursor, location_id: location_id, total: total, last_4: last_4, card_brand: card_brand)
29
-
30
- # Test response code
31
- assert_equal(200, @response_catcher.response.status_code)
32
-
33
- # Test headers
34
- expected_headers = {}
35
- expected_headers['content-type'] = 'application/json'
36
-
37
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
38
- end
39
-
40
- end
@@ -1,42 +0,0 @@
1
-
2
-
3
- require_relative 'api_test_base'
4
-
5
- class RefundsApiTests < ApiTestBase
6
- # Called only once for the class before any test has executed
7
- def setup
8
- setup_class
9
- @controller = @client.refunds
10
- @response_catcher = @controller.http_call_back
11
- end
12
-
13
- # Retrieves a list of refunds for the account making the request.
14
- #
15
- #Max results per page: 100
16
- def test_test_list_payment_refunds()
17
- # Parameters for the API call
18
- begin_time = nil
19
- end_time = nil
20
- sort_order = nil
21
- cursor = nil
22
- location_id = nil
23
- status = nil
24
- source_type = nil
25
- updated_at_begin_time = nil
26
- updated_at_end_time = nil
27
- sort_field = nil
28
-
29
- # Perform the API call through the SDK function
30
- result = @controller.list_payment_refunds(begin_time: begin_time, end_time: end_time, sort_order: sort_order, cursor: cursor, location_id: location_id, status: status, source_type: source_type, updated_at_begin_time: updated_at_begin_time, updated_at_end_time: updated_at_end_time, sort_field: sort_field)
31
-
32
- # Test response code
33
- assert_equal(200, @response_catcher.response.status_code)
34
-
35
- # Test headers
36
- expected_headers = {}
37
- expected_headers['content-type'] = 'application/json'
38
-
39
- assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
40
- end
41
-
42
- end
@@ -1,14 +0,0 @@
1
- class HttpResponseCatcher < SquareLegacy::HttpCallBack
2
- attr_accessor :response
3
-
4
- def on_before_request(request)
5
- end
6
-
7
- # Catching the response
8
- def on_after_response(response)
9
- @response = response
10
- end
11
- end
12
-
13
-
14
-