@@ -922,98 +922,139 @@ describe('field group api', () => {
922
922
it ( 'should remap the name of field options correctly' , ( ) => {
923
923
const form = new FormApi ( {
924
924
defaultValues : {
925
- account : {
926
- password : '' ,
927
- confirmPassword : '' ,
925
+ user : {
926
+ profile : {
927
+ personal : {
928
+ firstName : '' ,
929
+ lastName : '' ,
930
+ email : '' ,
931
+ } ,
932
+ preferences : {
933
+ theme : 'light' ,
934
+ notifications : true ,
935
+ } ,
936
+ } ,
937
+ settings : {
938
+ privacy : {
939
+ shareData : false ,
940
+ allowMarketing : true ,
941
+ } ,
942
+ } ,
943
+ } ,
944
+ alternateProfile : {
945
+ firstName : '' ,
946
+ lastName : '' ,
947
+ email : '' ,
928
948
} ,
929
- userPassword : '' ,
930
- userConfirmPassword : '' ,
931
949
} ,
932
950
} )
933
951
form . mount ( )
934
952
935
953
const fieldGroupString = new FieldGroupApi ( {
936
954
form,
937
- fields : 'account ' ,
938
- defaultValues : { password : '' } ,
955
+ fields : 'user.profile.personal ' ,
956
+ defaultValues : { firstName : '' } ,
939
957
} )
940
958
fieldGroupString . mount ( )
941
959
942
960
const props1 = {
943
- name : 'password ' ,
961
+ name : 'firstName ' ,
944
962
}
945
963
const remappedProps1 = fieldGroupString . getFormFieldOptions ( props1 )
946
- expect ( remappedProps1 . name ) . toBe ( 'account.password ' )
964
+ expect ( remappedProps1 . name ) . toBe ( 'user.profile.personal.firstName ' )
947
965
948
966
const fieldGroupObject = new FieldGroupApi ( {
949
967
form,
950
968
fields : {
951
- password : 'userPassword' ,
952
- confirmPassword : 'userConfirmPassword' ,
969
+ firstName : 'alternateProfile.firstName' ,
970
+ lastName : 'alternateProfile.lastName' ,
971
+ email : 'alternateProfile.email' ,
953
972
} ,
954
- defaultValues : { password : '' } ,
973
+ defaultValues : { firstName : '' } ,
955
974
} )
956
975
fieldGroupObject . mount ( )
957
976
958
977
const props2 = {
959
- name : 'password ' ,
978
+ name : 'firstName ' ,
960
979
}
961
980
const remappedProps2 = fieldGroupObject . getFormFieldOptions ( props2 )
962
- expect ( remappedProps2 . name ) . toBe ( 'userPassword ' )
981
+ expect ( remappedProps2 . name ) . toBe ( 'alternateProfile.firstName ' )
963
982
} )
964
983
965
984
it ( 'should remap listener paths with its remapFieldProps method' , ( ) => {
966
985
const form = new FormApi ( {
967
986
defaultValues : {
968
- account : {
969
- password : '' ,
970
- confirmPassword : '' ,
987
+ user : {
988
+ profile : {
989
+ personal : {
990
+ firstName : '' ,
991
+ lastName : '' ,
992
+ email : '' ,
993
+ } ,
994
+ preferences : {
995
+ theme : 'light' ,
996
+ notifications : true ,
997
+ } ,
998
+ } ,
999
+ settings : {
1000
+ privacy : {
1001
+ shareData : false ,
1002
+ allowMarketing : true ,
1003
+ } ,
1004
+ } ,
1005
+ } ,
1006
+ alternateProfile : {
1007
+ firstName : '' ,
1008
+ lastName : '' ,
1009
+ email : '' ,
971
1010
} ,
972
- userPassword : '' ,
973
- userConfirmPassword : '' ,
974
1011
} ,
975
1012
} )
976
1013
form . mount ( )
977
1014
978
1015
const fieldGroupString = new FieldGroupApi ( {
979
1016
form,
980
- fields : 'account ' ,
981
- defaultValues : { password : '' , confirmPassword : '' } ,
1017
+ fields : 'user.profile.personal ' ,
1018
+ defaultValues : { firstName : '' , lastName : '' , email : '' } ,
982
1019
} )
983
1020
fieldGroupString . mount ( )
984
1021
985
1022
const props1 = {
986
- name : 'confirmPassword ' ,
1023
+ name : 'email ' ,
987
1024
validators : {
988
- onChangeListenTo : [ 'password ' ] ,
989
- onBlurListenTo : [ 'confirmPassword ' ] ,
1025
+ onChangeListenTo : [ 'firstName ' ] ,
1026
+ onBlurListenTo : [ 'lastName ' ] ,
990
1027
} ,
991
1028
}
992
1029
const remappedProps1 = fieldGroupString . getFormFieldOptions ( props1 )
993
1030
expect ( remappedProps1 . validators . onChangeListenTo ) . toEqual ( [
994
- 'account.password ' ,
1031
+ 'user.profile.personal.firstName ' ,
995
1032
] )
996
1033
expect ( remappedProps1 . validators . onBlurListenTo ) . toEqual ( [
997
- 'account.confirmPassword ' ,
1034
+ 'user.profile.personal.lastName ' ,
998
1035
] )
999
1036
1000
1037
const fieldGroupObject = new FieldGroupApi ( {
1001
1038
form,
1002
1039
fields : {
1003
- password : 'userPassword' ,
1004
- confirmPassword : 'userConfirmPassword' ,
1040
+ firstName : 'alternateProfile.firstName' ,
1041
+ lastName : 'alternateProfile.lastName' ,
1042
+ email : 'alternateProfile.email' ,
1005
1043
} ,
1006
- defaultValues : { password : '' , confirmPassword : '' } ,
1044
+ defaultValues : { firstName : '' , lastName : '' , email : '' } ,
1007
1045
} )
1008
1046
fieldGroupObject . mount ( )
1009
1047
1010
1048
const props2 = {
1011
- name : 'confirmPassword ' ,
1049
+ name : 'email ' ,
1012
1050
validators : {
1013
- onChangeListenTo : [ 'password ' ] ,
1051
+ onChangeListenTo : [ 'firstName' , 'lastName '] ,
1014
1052
} ,
1015
1053
}
1016
1054
const remappedProps2 = fieldGroupObject . getFormFieldOptions ( props2 )
1017
- expect ( remappedProps2 . validators . onChangeListenTo ) . toEqual ( [ 'userPassword' ] )
1055
+ expect ( remappedProps2 . validators . onChangeListenTo ) . toEqual ( [
1056
+ 'alternateProfile.firstName' ,
1057
+ 'alternateProfile.lastName' ,
1058
+ ] )
1018
1059
} )
1019
1060
} )
0 commit comments