@@ -776,10 +776,10 @@ def test_form_basic(self):
776
776
model_choice_field_values [2 ],
777
777
])
778
778
779
+ # Submit and wait for one of the error messages to disappear (indicating that the form has been re-rendered)
780
+ invalid_feedback = self .page .locator (".errorlist" ).all ()[0 ]
779
781
self .page .wait_for_selector ("input[type=submit]" ).click (delay = CLICK_DELAY )
780
-
781
- # Wait for one of the error messages to disappear (indicating that the form has been re-rendered)
782
- expect (self .page .locator (".errorlist" ).all ()[0 ]).not_to_be_attached ()
782
+ expect (invalid_feedback ).not_to_be_attached ()
783
783
# Make sure no errors remain
784
784
assert len (self .page .query_selector_all (".errorlist" )) == 0
785
785
@@ -801,82 +801,25 @@ def test_form_bootstrap(self):
801
801
self .page .wait_for_selector ("#id_boolean_field" )
802
802
self .page .wait_for_selector ("#id_char_field" )
803
803
self .page .wait_for_selector ("#id_choice_field" )
804
- self .page .wait_for_selector ("#id_date_field" )
805
- self .page .wait_for_selector ("#id_date_time_field" )
806
- self .page .wait_for_selector ("#id_decimal_field" )
807
- self .page .wait_for_selector ("#id_duration_field" )
808
- self .page .wait_for_selector ("#id_email_field" )
809
- self .page .wait_for_selector ("#id_file_path_field" )
810
- self .page .wait_for_selector ("#id_float_field" )
811
- self .page .wait_for_selector ("#id_generic_ip_address_field" )
812
- self .page .wait_for_selector ("#id_integer_field" )
813
- self .page .wait_for_selector ("#id_float_field" )
814
- self .page .wait_for_selector ("#id_json_field" )
815
- self .page .wait_for_selector ("#id_multiple_choice_field" )
816
- self .page .wait_for_selector ("#id_null_boolean_field" )
817
- self .page .wait_for_selector ("#id_regex_field" )
818
- self .page .wait_for_selector ("#id_slug_field" )
819
- self .page .wait_for_selector ("#id_time_field" )
820
- self .page .wait_for_selector ("#id_typed_choice_field" )
821
- self .page .wait_for_selector ("#id_typed_multiple_choice_field" )
822
- self .page .wait_for_selector ("#id_url_field" )
823
- self .page .wait_for_selector ("#id_uuid_field" )
824
- self .page .wait_for_selector ("#id_combo_field" )
825
- self .page .wait_for_selector ("#id_password_field" )
826
- self .page .wait_for_selector ("#id_model_choice_field" )
827
- self .page .wait_for_selector ("#id_model_multiple_choice_field" )
828
804
829
805
sleep (1 )
830
806
self .page .wait_for_selector ("button[type=submit]" ).click (delay = CLICK_DELAY )
831
807
self .page .wait_for_selector (".invalid-feedback" )
832
808
833
- # Submitting an empty form should result in 22 error elements.
809
+ # Submitting an empty form should result in 2 error elements.
834
810
# The number of errors may change if/when new test form elements are created.
835
- assert len (self .page .query_selector_all (".invalid-feedback" )) == 22
811
+ assert len (self .page .query_selector_all (".invalid-feedback" )) == 2
836
812
837
813
# Fill out the form
838
814
self .page .wait_for_selector ("#id_boolean_field" ).click (delay = CLICK_DELAY )
839
815
expect (self .page .locator ("#id_boolean_field" )).to_be_checked ()
840
-
841
816
self .page .locator ("#id_char_field" ).type ("test" , delay = CLICK_DELAY )
842
817
self .page .locator ("#id_choice_field" ).select_option ("2" )
843
- self .page .locator ("#id_date_field" ).type ("2021-01-01" , delay = CLICK_DELAY )
844
- self .page .locator ("#id_date_time_field" ).type ("2021-01-01 01:01:00" , delay = CLICK_DELAY )
845
- self .page .locator ("#id_decimal_field" ).type ("0.123" , delay = CLICK_DELAY )
846
- self .page .locator ("#id_duration_field" ).type ("1" , delay = CLICK_DELAY )
847
- self .
page .
locator (
"#id_email_field" ).
type (
"[email protected] " ,
delay = CLICK_DELAY )
848
- file_path_field_options = self .page .query_selector_all ("#id_file_path_field option" )
849
- file_path_field_values : list [str ] = [option .get_attribute ("value" ) for option in file_path_field_options ]
850
- self .page .locator ("#id_file_path_field" ).select_option (file_path_field_values [1 ])
851
- self .page .locator ("#id_float_field" ).type ("1.2345" , delay = CLICK_DELAY )
852
- self .page .locator ("#id_generic_ip_address_field" ).type ("127.0.0.1" , delay = CLICK_DELAY )
853
- self .page .locator ("#id_integer_field" ).type ("123" , delay = CLICK_DELAY )
854
- self .page .locator ("#id_json_field" ).clear ()
855
- self .page .locator ("#id_json_field" ).type ('{"key": "value"}' , delay = CLICK_DELAY )
856
- self .page .locator ("#id_multiple_choice_field" ).select_option (["2" , "3" ])
857
- self .page .locator ("#id_null_boolean_field" ).select_option ("false" )
858
- self .page .locator ("#id_regex_field" ).type ("12" , delay = CLICK_DELAY )
859
- self .page .locator ("#id_slug_field" ).type ("my-slug-text" , delay = CLICK_DELAY )
860
- self .page .locator ("#id_time_field" ).type ("01:01:00" , delay = CLICK_DELAY )
861
- self .page .locator ("#id_typed_choice_field" ).select_option ("2" )
862
- self .page .locator ("#id_typed_multiple_choice_field" ).select_option (["1" , "2" ])
863
- self .page .locator ("#id_url_field" ).type ("http://example.com" , delay = CLICK_DELAY )
864
- self .page .locator ("#id_uuid_field" ).type ("550e8400-e29b-41d4-a716-446655440000" , delay = CLICK_DELAY )
865
- self .
page .
locator (
"#id_combo_field" ).
type (
"[email protected] " ,
delay = CLICK_DELAY )
866
- self .page .locator ("#id_password_field" ).type ("password" , delay = CLICK_DELAY )
867
-
868
- model_choice_field_options = self .page .query_selector_all ("#id_model_multiple_choice_field option" )
869
- model_choice_field_values : list [str ] = [option .get_attribute ("value" ) for option in model_choice_field_options ]
870
- self .page .locator ("#id_model_choice_field" ).select_option (model_choice_field_values [0 ])
871
- self .page .locator ("#id_model_multiple_choice_field" ).select_option ([
872
- model_choice_field_values [1 ],
873
- model_choice_field_values [2 ],
874
- ])
875
818
819
+ # Submit and wait for one of the error messages to disappear (indicating that the form has been re-rendered)
820
+ invalid_feedback = self .page .locator (".invalid-feedback" ).all ()[0 ]
876
821
self .page .wait_for_selector ("button[type=submit]" ).click (delay = CLICK_DELAY )
877
-
878
- # Wait for one of the error messages to disappear (indicating that the form has been re-rendered)
879
- expect (self .page .locator (".invalid-feedback" ).all ()[0 ]).not_to_be_attached ()
822
+ expect (invalid_feedback ).not_to_be_attached ()
880
823
# Make sure no errors remain
881
824
assert len (self .page .query_selector_all (".invalid-feedback" )) == 0
882
825
0 commit comments