|
10 | 10 | def delete_all_catalog_objects(client) |
11 | 11 | catalog_objects_resp = client.catalog.list |
12 | 12 | refute_nil catalog_objects_resp |
13 | | - assert_equal catalog_objects_resp.class, Square::Types::ListCatalogResponse |
| 13 | + assert_equal Square::Internal::CursorItemIterator, catalog_objects_resp.class |
14 | 14 | object_ids = [] |
15 | | - |
16 | | - catalog_objects_resp.data.each do |catalog_object| |
| 15 | + |
| 16 | + # Iterate using the iterator pattern |
| 17 | + catalog_objects_resp.each do |catalog_object| |
17 | 18 | next unless catalog_object.id |
18 | | - |
| 19 | + |
19 | 20 | object_ids << catalog_object.id |
20 | | - |
| 21 | + |
21 | 22 | next unless catalog_object.respond_to?(:item_data) |
22 | | - |
| 23 | + |
23 | 24 | variation = catalog_object.item_data&.variations&.first |
24 | 25 | next unless variation&.id |
25 | | - |
| 26 | + |
26 | 27 | object_ids << variation.id |
27 | 28 | end |
28 | | - |
| 29 | + |
29 | 30 | _batch_delete_request = Square::Catalog::Types::BatchDeleteCatalogObjectsRequest.new( |
30 | 31 | object_ids: object_ids |
31 | 32 | ) |
@@ -302,7 +303,14 @@ def get_test_file |
302 | 303 | number_of_pages = 0 |
303 | 304 | catalog_objects_resp = client.catalog.list |
304 | 305 | number_of_pages += 1 |
305 | | - assert_equal MAX_CATALOG_PAGE_SIZE, catalog_objects_resp.data.length |
| 306 | + |
| 307 | + # Count items in first page using iterator |
| 308 | + items = [] |
| 309 | + catalog_objects_resp.each do |item| |
| 310 | + items << item |
| 311 | + break if items.length >= MAX_CATALOG_PAGE_SIZE |
| 312 | + end |
| 313 | + assert_equal MAX_CATALOG_PAGE_SIZE, items.length |
306 | 314 |
|
307 | 315 | while catalog_objects_resp.has_next_page? |
308 | 316 | sleep(1) # Wait between page requests |
@@ -447,9 +455,15 @@ def get_test_file |
447 | 455 |
|
448 | 456 | response = client.catalog.list |
449 | 457 | refute_nil response |
450 | | - assert_equal response.class, Square::Types::ListCatalogResponse |
| 458 | + assert_equal Square::Internal::CursorItemIterator, response.class |
| 459 | + |
| 460 | + # Count items using iterator |
| 461 | + count = 0 |
| 462 | + response.each do |_item| |
| 463 | + count += 1 |
| 464 | + end |
451 | 465 |
|
452 | | - puts "response items_count=#{response.data&.length || 0}" if verbose? |
| 466 | + puts "response items_count=#{count}" if verbose? |
453 | 467 | end |
454 | 468 | end |
455 | 469 |
|
|
0 commit comments