@@ -833,111 +833,91 @@ def test_api_new_meeting_registration_nomcom_volunteer(self):
833833 def test_api_new_meeting_registration_v2 (self ):
834834 meeting = MeetingFactory (type_id = 'ietf' )
835835 person = PersonFactory ()
836- regs = [
837- {
838- 'affiliation' : "Alguma Corporação" ,
839- 'country_code' : 'PT' ,
840- 'email' : person .email ().address ,
841- 'first_name' : person .first_name (),
842- 'last_name' : person .last_name (),
843- 'meeting' : str (meeting .number ),
844- 'reg_type' : 'onsite' ,
845- 'ticket_type' : 'week_pass' ,
846- 'checkedin' : False ,
847- 'is_nomcom_volunteer' : False ,
848- 'cancelled' : False ,
849- }
850- ]
851-
836+ reg_detail = {
837+ 'email' : person .email ().address ,
838+ 'first_name' : person .first_name (),
839+ 'last_name' : person .last_name (),
840+ 'meeting' : meeting .number ,
841+ 'affiliation' : "Alguma Corporação" ,
842+ 'country_code' : 'PT' ,
843+ 'checkedin' : False ,
844+ 'is_nomcom_volunteer' : False ,
845+ 'cancelled' : False ,
846+ 'tickets' : [{'attendance_type' : 'onsite' , 'ticket_type' : 'week_pass' }],
847+ }
848+ reg_data = {'objects' : {reg_detail ['email' ]: reg_detail }}
852849 url = urlreverse ('ietf.api.views.api_new_meeting_registration_v2' )
853850 #
854851 # Test invalid key
855- r = self .client .post (url , data = json .dumps (regs ), content_type = 'application/json' , headers = {"X-Api-Key" : "invalid-token" })
852+ r = self .client .post (url , data = json .dumps (reg_data ), content_type = 'application/json' , headers = {"X-Api-Key" : "invalid-token" })
856853 self .assertEqual (r .status_code , 403 )
857854 #
858855 # Test invalid data
859- bad_regs = copy .deepcopy (regs )
860- del ( bad_regs [ 0 ][ 'email' ])
861- r = self .client .post (url , data = json .dumps (bad_regs ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
856+ bad_reg_data = copy .deepcopy (reg_data )
857+ del bad_reg_data [ 'objects' ][ reg_detail [ 'email' ]][ 'email' ]
858+ r = self .client .post (url , data = json .dumps (bad_reg_data ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
862859 self .assertEqual (r .status_code , 400 )
863860 #
864861 # Test valid POST
865- r = self .client .post (url , data = json .dumps (regs ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
862+ r = self .client .post (url , data = json .dumps (reg_data ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
866863 self .assertContains (r , "Success" , status_code = 202 )
867864 #
868865 # Check record
869- reg = regs [0 ]
870- objects = Registration .objects .filter (email = reg ['email' ], meeting__number = reg ['meeting' ])
866+ objects = Registration .objects .filter (email = reg_detail ['email' ], meeting__number = reg_detail ['meeting' ])
871867 self .assertEqual (objects .count (), 1 )
872868 obj = objects [0 ]
873869 for key in ['affiliation' , 'country_code' , 'first_name' , 'last_name' , 'checkedin' ]:
874- self .assertEqual (getattr (obj , key ), False if key == 'checkedin' else reg .get (key ) , "Bad data for field '%s'" % key )
870+ self .assertEqual (getattr (obj , key ), False if key == 'checkedin' else reg_detail .get (key ), f "Bad data for field { key } " )
875871 self .assertEqual (obj .tickets .count (), 1 )
876872 ticket = obj .tickets .first ()
877- self .assertEqual (ticket .ticket_type .slug , regs [0 ]['ticket_type' ])
878- self .assertEqual (ticket .attendance_type .slug , regs [ 0 ]['reg_type ' ])
873+ self .assertEqual (ticket .ticket_type .slug , reg_detail [ 'tickets' ] [0 ]['ticket_type' ])
874+ self .assertEqual (ticket .attendance_type .slug , reg_detail [ 'tickets' ][ 0 ]['attendance_type ' ])
879875 self .assertEqual (obj .person , person )
880876 #
881877 # Test update (switch to remote)
882- regs = [
883- {
884- 'affiliation' : "Alguma Corporação" ,
885- 'country_code' : 'PT' ,
886- 'email' : person .email ().address ,
887- 'first_name' : person .first_name (),
888- 'last_name' : person .last_name (),
889- 'meeting' : str (meeting .number ),
890- 'reg_type' : 'remote' ,
891- 'ticket_type' : 'week_pass' ,
892- 'checkedin' : False ,
893- 'is_nomcom_volunteer' : False ,
894- 'cancelled' : False ,
895- }
896- ]
897- r = self .client .post (url , data = json .dumps (regs ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
878+ reg_detail = {
879+ 'affiliation' : "Alguma Corporação" ,
880+ 'country_code' : 'PT' ,
881+ 'email' : person .email ().address ,
882+ 'first_name' : person .first_name (),
883+ 'last_name' : person .last_name (),
884+ 'meeting' : meeting .number ,
885+ 'checkedin' : False ,
886+ 'is_nomcom_volunteer' : False ,
887+ 'cancelled' : False ,
888+ 'tickets' : [{'attendance_type' : 'remote' , 'ticket_type' : 'week_pass' }],
889+ }
890+ reg_data = {'objects' : {reg_detail ['email' ]: reg_detail }}
891+ r = self .client .post (url , data = json .dumps (reg_data ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
898892 self .assertContains (r , "Success" , status_code = 202 )
899- objects = Registration .objects .filter (email = reg ['email' ], meeting__number = reg ['meeting' ])
893+ objects = Registration .objects .filter (email = reg_detail ['email' ], meeting__number = reg_detail ['meeting' ])
900894 self .assertEqual (objects .count (), 1 )
901895 obj = objects [0 ]
902896 self .assertEqual (obj .tickets .count (), 1 )
903897 ticket = obj .tickets .first ()
904- self .assertEqual (ticket .ticket_type .slug , regs [0 ]['ticket_type' ])
905- self .assertEqual (ticket .attendance_type .slug , regs [ 0 ]['reg_type ' ])
898+ self .assertEqual (ticket .ticket_type .slug , reg_detail [ 'tickets' ] [0 ]['ticket_type' ])
899+ self .assertEqual (ticket .attendance_type .slug , reg_detail [ 'tickets' ][ 0 ]['attendance_type ' ])
906900 #
907901 # Test multiple
908- regs = [
909- {
910- 'affiliation' : "Alguma Corporação" ,
911- 'country_code' : 'PT' ,
912- 'email' : person .email ().address ,
913- 'first_name' : person .first_name (),
914- 'last_name' : person .last_name (),
915- 'meeting' : str (meeting .number ),
916- 'reg_type' : 'onsite' ,
917- 'ticket_type' : 'one_day' ,
918- 'checkedin' : False ,
919- 'is_nomcom_volunteer' : False ,
920- 'cancelled' : False ,
921- },
922-
923- {
924- 'affiliation' : "Alguma Corporação" ,
925- 'country_code' : 'PT' ,
926- 'email' : person .email ().address ,
927- 'first_name' : person .first_name (),
928- 'last_name' : person .last_name (),
929- 'meeting' : str (meeting .number ),
930- 'reg_type' : 'remote' ,
931- 'ticket_type' : 'week_pass' ,
932- 'checkedin' : False ,
933- 'is_nomcom_volunteer' : False ,
934- 'cancelled' : False ,
935- }
936- ]
937-
938- r = self .client .post (url , data = json .dumps (regs ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
902+ reg_detail = {
903+ 'affiliation' : "Alguma Corporação" ,
904+ 'country_code' : 'PT' ,
905+ 'email' : person .email ().address ,
906+ 'first_name' : person .first_name (),
907+ 'last_name' : person .last_name (),
908+ 'meeting' : meeting .number ,
909+ 'checkedin' : False ,
910+ 'is_nomcom_volunteer' : False ,
911+ 'cancelled' : False ,
912+ 'tickets' : [
913+ {'attendance_type' : 'onsite' , 'ticket_type' : 'one_day' },
914+ {'attendance_type' : 'remote' , 'ticket_type' : 'week_pass' },
915+ ],
916+ }
917+ reg_data = {'objects' : {reg_detail ['email' ]: reg_detail }}
918+ r = self .client .post (url , data = json .dumps (reg_data ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
939919 self .assertContains (r , "Success" , status_code = 202 )
940- objects = Registration .objects .filter (email = reg ['email' ], meeting__number = reg ['meeting' ])
920+ objects = Registration .objects .filter (email = reg_detail ['email' ], meeting__number = reg_detail ['meeting' ])
941921 self .assertEqual (objects .count (), 1 )
942922 obj = objects [0 ]
943923 self .assertEqual (obj .tickets .count (), 2 )
@@ -948,51 +928,46 @@ def test_api_new_meeting_registration_v2(self):
948928 def test_api_new_meeting_registration_v2_cancelled (self ):
949929 meeting = MeetingFactory (type_id = 'ietf' )
950930 person = PersonFactory ()
951- regs = [
952- {
953- 'affiliation' : "Acme" ,
954- 'country_code' : 'US' ,
955- 'email' : person .email ().address ,
956- 'first_name' : person .first_name (),
957- 'last_name' : person .last_name (),
958- 'meeting' : str (meeting .number ),
959- 'reg_type' : 'onsite' ,
960- 'ticket_type' : 'week_pass' ,
961- 'checkedin' : False ,
962- 'is_nomcom_volunteer' : False ,
963- 'cancelled' : False ,
964- }
965- ]
931+ reg_detail = {
932+ 'affiliation' : "Acme" ,
933+ 'country_code' : 'US' ,
934+ 'email' : person .email ().address ,
935+ 'first_name' : person .first_name (),
936+ 'last_name' : person .last_name (),
937+ 'meeting' : meeting .number ,
938+ 'checkedin' : False ,
939+ 'is_nomcom_volunteer' : False ,
940+ 'cancelled' : False ,
941+ 'tickets' : [{'attendance_type' : 'onsite' , 'ticket_type' : 'week_pass' }],
942+ }
943+ reg_data = {'objects' : {reg_detail ['email' ]: reg_detail }}
966944 url = urlreverse ('ietf.api.views.api_new_meeting_registration_v2' )
967945 self .assertEqual (Registration .objects .count (), 0 )
968- r = self .client .post (url , data = json .dumps (regs ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
946+ r = self .client .post (url , data = json .dumps (reg_data ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
969947 self .assertContains (r , "Success" , status_code = 202 )
970948 self .assertEqual (Registration .objects .count (), 1 )
971- regs [ 0 ] ['cancelled' ] = True
972- r = self .client .post (url , data = json .dumps (regs ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
949+ reg_detail ['cancelled' ] = True
950+ r = self .client .post (url , data = json .dumps (reg_data ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
973951 self .assertContains (r , "Success" , status_code = 202 )
974952 self .assertEqual (Registration .objects .count (), 0 )
975953
976- @override_settings (APP_API_TOKENS = {"ietf.api.views.api_new_meeting_registration_v2" : ["valid-token" ]})
954+ @override_settings (APP_API_TOKENS = {"ietf.api.views.api_new_meeting_registration_v2" : ["valid-token" ]})
977955 def test_api_new_meeting_registration_v2_nomcom (self ):
978956 meeting = MeetingFactory (type_id = 'ietf' )
979957 person = PersonFactory ()
980- regs = [
981- {
982- 'affiliation' : "Acme" ,
983- 'country_code' : 'US' ,
984- 'email' : person .email ().address ,
985- 'first_name' : person .first_name (),
986- 'last_name' : person .last_name (),
987- 'meeting' : str (meeting .number ),
988- 'reg_type' : 'onsite' ,
989- 'ticket_type' : 'week_pass' ,
990- 'checkedin' : False ,
991- 'is_nomcom_volunteer' : False ,
992- 'cancelled' : False ,
993- }
994- ]
995-
958+ reg_detail = {
959+ 'affiliation' : "Acme" ,
960+ 'country_code' : 'US' ,
961+ 'email' : person .email ().address ,
962+ 'first_name' : person .first_name (),
963+ 'last_name' : person .last_name (),
964+ 'meeting' : meeting .number ,
965+ 'checkedin' : False ,
966+ 'is_nomcom_volunteer' : False ,
967+ 'cancelled' : False ,
968+ 'tickets' : [{'attendance_type' : 'onsite' , 'ticket_type' : 'week_pass' }],
969+ }
970+ reg_data = {'objects' : {reg_detail ['email' ]: reg_detail }}
996971 url = urlreverse ('ietf.api.views.api_new_meeting_registration_v2' )
997972 now = datetime .datetime .now ()
998973 if now .month > 10 :
@@ -1003,14 +978,14 @@ def test_api_new_meeting_registration_v2_nomcom(self):
1003978 nomcom = NomComFactory .create (is_accepting_volunteers = True , ** nomcom_kwargs_for_year (year ))
1004979
1005980 # first test is_nomcom_volunteer False
1006- r = self .client .post (url , data = json .dumps (regs ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
981+ r = self .client .post (url , data = json .dumps (reg_data ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
1007982 self .assertContains (r , "Success" , status_code = 202 )
1008983 # assert no Volunteers exists
1009984 self .assertEqual (Volunteer .objects .count (), 0 )
1010985
1011986 # test is_nomcom_volunteer True
1012- regs [ 0 ] ['is_nomcom_volunteer' ] = True
1013- r = self .client .post (url , data = json .dumps (regs ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
987+ reg_detail ['is_nomcom_volunteer' ] = True
988+ r = self .client .post (url , data = json .dumps (reg_data ), content_type = 'application/json' , headers = {"X-Api-Key" : "valid-token" })
1014989 self .assertContains (r , "Success" , status_code = 202 )
1015990 # assert Volunteer exists
1016991 self .assertEqual (Volunteer .objects .count (), 1 )
0 commit comments