@@ -709,7 +709,7 @@ def test_add_people_quota_objects(self):
709
709
rv = self .client .post ("/api/objects/" , json = people [:4 ], headers = headers )
710
710
assert rv .status_code == 405
711
711
712
- def test_objects_add_person_types (self ):
712
+ def test_add_person_types (self ):
713
713
"""Add a person and check that types are handled correctly even
714
714
when using incomplete dicts."""
715
715
handle_person = make_handle ()
@@ -739,11 +739,49 @@ def test_objects_add_person_types(self):
739
739
out = rv .json
740
740
assert len (out ) == 1
741
741
rv = self .client .get (
742
- f"/api/people/{ handle_person } ?extend=event_ref_list& locale=de" ,
742
+ f"/api/people/{ handle_person } ?locale=de" ,
743
743
headers = headers ,
744
744
)
745
745
assert rv .status_code == 200
746
746
person_dict = rv .json
747
747
assert person_dict ["primary_name" ]["first_name" ] == "John"
748
748
assert person_dict ["primary_name" ]["surname_list" ][0 ]["surname" ] == "Doe"
749
749
assert person_dict ["primary_name" ]["type" ] == "Married Name"
750
+
751
+ def test_add_event_types (self ):
752
+ handle_event = make_handle ()
753
+ event = {
754
+ "handle" : handle_event ,
755
+ "change" : 1746095141 ,
756
+ "date" : {
757
+ "format" : None ,
758
+ "calendar" : 0 ,
759
+ "modifier" : 0 ,
760
+ "quality" : 0 ,
761
+ "dateval" : [2 , 2 , 1991 , False ],
762
+ },
763
+ "_class" : "Event" ,
764
+ "type" : "Adopted" ,
765
+ }
766
+ headers = get_headers (self .client , "admin" , "123" )
767
+ rv = self .client .post ("/api/events/" , headers = headers )
768
+ rv = self .client .get ("/api/events/" , headers = headers )
769
+ handles = [obj ["handle" ] for obj in rv .json ]
770
+ # delete existing events
771
+ for handle in handles :
772
+ self .client .delete (f"/api/events/{ handle } " , headers = headers )
773
+ rv = self .client .post ("/api/events/" , json = event , headers = headers )
774
+ self .assertEqual (rv .status_code , 201 )
775
+ # check return value
776
+ out = rv .json
777
+ assert len (out ) == 1
778
+ rv = self .client .get (
779
+ f"/api/events/{ handle_event } ?locale=de&profile=self" ,
780
+ headers = headers ,
781
+ )
782
+ assert rv .status_code == 200
783
+ event_dict = rv .json
784
+ assert event_dict ["type" ] == "Adopted"
785
+ # This being correctly translated tests that the type has been correctly
786
+ # detected as a default type rather than a custom type
787
+ assert event_dict ["profile" ]["type" ] == "Adoptiert"
0 commit comments