@@ -11,18 +11,25 @@ class TestBaseEndpointClient(TestCase):
1111 def setUpClass (cls ) -> None :
1212 cls .max_pages = 2
1313 cls .limit = 5
14- cls .sample_client = EventsEndpoint (
14+ cls .sample_client_kwargs = dict (
1515 client_params = ClientParams (max_pages = cls .max_pages , limit = cls .limit ),
1616 asset_contract_address = "0x76be3b62873462d2142405439777e971754e8e77" ,
1717 token_id = str (10152 ),
1818 event_type = EventType .SUCCESSFUL ,
1919 )
20+ cls .sample_client = EventsEndpoint (** cls .sample_client_kwargs )
2021 cls .sample_pages = list (cls .sample_client .get_pages ())
2122
2223 def test_remaining_pages_true_if_http_response_is_none (self ):
2324 self .sample_client ._http_response = None
2425 self .assertTrue (self .sample_client .remaining_pages ())
2526
27+ def test_remaining_pages_does_not_raise_if_client_params_all_none (self ):
28+ updated_kwargs = self .sample_client_kwargs | dict (client_params = ClientParams (max_pages = None , api_key = None ))
29+ client = EventsEndpoint (** updated_kwargs )
30+ next (client .get_pages ())
31+ client .remaining_pages () # assert not raises
32+
2633 def test_get_pages_resets_processed_pages_and_offset_attr_on_new_calls (self ):
2734 for _ in range (2 ):
2835 next (self .sample_client .get_pages ())
@@ -52,3 +59,13 @@ def test_pagination_works(self):
5259 self .assertEqual (len (id_list_2 ), 12 ) # updated limit * max_pages+1
5360 self .assertGreater (len (id_list_1 ), len (id_list_2 ))
5461 self .assertTrue (id_list_1 [i ] == id_list_2 [i ] for i in range (len (id_list_2 )))
62+
63+ def test_pagination_does_not_return_duplicates_between_different_pages (self ):
64+ raise NotImplementedError
65+ self .sample_client .client_params = ClientParams (limit = 5 , offset = 0 , max_pages = 1 )
66+ page_1_event_ids = [e .event_id for e in self .sample_client .get_pages ()]
67+ self .sample_client .client_params = ClientParams (limit = 5 , offset = 5 , max_pages = 1 )
68+ page_2_event_ids = self .sample_client .get_pages ()
69+ self .sample_client .client_params = ClientParams (limit = 5 , offset = 10 , max_pages = 1 )
70+ page_3_event_ids = self .sample_client .get_pages ()
71+ ...
0 commit comments