@@ -674,6 +674,7 @@ async def test_select_fields() -> None:
674674 page = BigPage (response )
675675 assert page .fields_to_ignore == ["z" ]
676676 assert await page .to_item () == BigItem (x = 1 , y = 2 , z = None )
677+ assert page .call_counter == {"x" : 1 , "y" : 1 }
677678 assert await item_from_select_fields (page ) == BigItem (x = 1 , y = 2 , z = None )
678679 assert page .call_counter == {"x" : 2 , "y" : 2 }
679680
@@ -682,20 +683,23 @@ async def test_select_fields() -> None:
682683 page = BigPage (response , select_fields = SelectFields (None ))
683684 assert page .fields_to_ignore == ["z" ]
684685 assert await page .to_item () == BigItem (x = 1 , y = 2 , z = None )
686+ assert page .call_counter == {"x" : 1 , "y" : 1 }
685687 assert await item_from_select_fields (page ) == BigItem (x = 1 , y = 2 , z = None )
686688 assert page .call_counter == {"x" : 2 , "y" : 2 }
687689
688690 # Same case as above but given an empty dict
689691 page = BigPage (response , select_fields = SelectFields ({}))
690692 assert page .fields_to_ignore == ["z" ]
691693 assert await page .to_item () == BigItem (x = 1 , y = 2 , z = None )
694+ assert page .call_counter == {"x" : 1 , "y" : 1 }
692695 assert await item_from_select_fields (page ) == BigItem (x = 1 , y = 2 , z = None )
693696 assert page .call_counter == {"x" : 2 , "y" : 2 }
694697
695698 # Select all fields
696699 page = BigPage (response , select_fields = SelectFields ({"*" : True }))
697700 assert page .fields_to_ignore == []
698701 assert await page .to_item () == BigItem (x = 1 , y = 2 , z = 3 )
702+ assert page .call_counter == {"x" : 1 , "y" : 1 , "z" : 1 }
699703 assert await item_from_select_fields (page ) == BigItem (x = 1 , y = 2 , z = 3 )
700704 assert page .call_counter == {"x" : 2 , "y" : 2 , "z" : 2 }
701705
@@ -713,13 +717,15 @@ async def test_select_fields() -> None:
713717 page = BigPage (response , select_fields = SelectFields ({"*" : False , "x" : True }))
714718 assert page .fields_to_ignore == ["y" , "z" ]
715719 assert await page .to_item () == BigItem (x = 1 , y = None , z = None )
720+ assert page .call_counter == {"x" : 1 }
716721 assert await item_from_select_fields (page ) == BigItem (x = 1 , y = None , z = None )
717722 assert page .call_counter == {"x" : 2 }
718723
719724 # Include all fields but one
720725 page = BigPage (response , select_fields = SelectFields ({"*" : True , "y" : False }))
721726 assert page .fields_to_ignore == ["y" ]
722727 assert await page .to_item () == BigItem (x = 1 , y = None , z = 3 )
728+ assert page .call_counter == {"x" : 1 , "z" : 1 }
723729 assert await item_from_select_fields (page ) == BigItem (x = 1 , y = None , z = 3 )
724730 assert page .call_counter == {"x" : 2 , "z" : 2 }
725731
@@ -730,6 +736,7 @@ async def test_select_fields() -> None:
730736 )
731737 assert page .fields_to_ignore == []
732738 assert await page .to_item () == BigItem (x = 1 , y = 2 , z = 3 )
739+ assert page .call_counter == {"x" : 1 , "y" : 1 , "z" : 1 }
733740 assert await item_from_select_fields (page ) == BigItem (x = 1 , y = 2 , z = 3 )
734741 assert page .call_counter == {"x" : 2 , "y" : 2 , "z" : 2 }
735742
@@ -738,6 +745,7 @@ async def test_select_fields() -> None:
738745 assert page .fields_to_ignore == ["x" , "z" ]
739746 with pytest .raises (TypeError , match = expected_type_error_msg ):
740747 await page .to_item ()
748+ assert page .call_counter == {"y" : 1 }
741749 with pytest .raises (TypeError , match = expected_type_error_msg ):
742750 await item_from_select_fields (page )
743751 assert page .call_counter == {"y" : 2 }
0 commit comments