@@ -66,6 +66,19 @@ def mock_api_response():
6666 },
6767 ],
6868 },
69+ "https://api.tcgdex.net/v2/en/series/sm" : {
70+ "id" : "sm" ,
71+ "name" : "Sun & Moon" ,
72+ "sets" : [
73+ {
74+ "id" : "sm1" ,
75+ "name" : "Sun & Moon" ,
76+ "cardCount" : {"official" : 149 , "total" : 172 },
77+ "logo" : "https://example.com/sm1.png" ,
78+ "symbol" : "https://example.com/sm1-symbol.png" ,
79+ },
80+ ],
81+ },
6982 }
7083
7184
@@ -86,7 +99,7 @@ def test_extract_sets_data_success(mock_api_response):
8699
87100 # Assertions
88101 assert isinstance (result , pl .DataFrame ) # nosec
89- assert len (result ) == 5 # nosec (2 + 2 + 1 sets)
102+ assert len (result ) == 6 # nosec (2 + 2 + 1 + 1 sets)
90103 assert set (result .columns ) == { # nosec
91104 "series_id" ,
92105 "set_id" ,
@@ -96,8 +109,8 @@ def test_extract_sets_data_success(mock_api_response):
96109 "logo" ,
97110 "symbol" ,
98111 }
99- assert set (result ["series_id" ].to_list ()) == {"me" , "sv" , "swsh" } # nosec
100- assert set (result ["set_id" ].to_list ()) == {"me01" , "me02" , "sv01" , "sv02" , "swsh1" } # nosec
112+ assert set (result ["series_id" ].to_list ()) == {"me" , "sv" , "swsh" , "sm" } # nosec
113+ assert set (result ["set_id" ].to_list ()) == {"me01" , "me02" , "sv01" , "sv02" , "swsh1" , "sm1" } # nosec
101114
102115
103116@pytest .mark .benchmark
@@ -118,7 +131,7 @@ def test_extract_sets_data_empty_sets(mock_api_response):
118131 result = extract_sets_data ()
119132
120133 assert isinstance (result , pl .DataFrame ) # nosec
121- assert len (result ) == 3 # nosec (0 + 2 + 1 sets)
134+ assert len (result ) == 4 # nosec (0 + 2 + 1 + 1 sets)
122135 assert "me" not in result ["series_id" ].to_list () # nosec
123136
124137
@@ -150,6 +163,11 @@ def test_extract_sets_data_null_card_counts():
150163 "name" : "Sword & Shield" ,
151164 "sets" : [],
152165 },
166+ "https://api.tcgdex.net/v2/en/series/sm" : {
167+ "id" : "sm" ,
168+ "name" : "Sun & Moon" ,
169+ "sets" : [],
170+ },
153171 }
154172
155173 for url , response_data in mock_responses .items ():
0 commit comments