@@ -1056,4 +1056,57 @@ describe("MatrixClient", function() {
1056
1056
} ) ;
1057
1057
} ) ;
1058
1058
} ) ;
1059
+
1060
+ describe ( "setPassword" , ( ) => {
1061
+ const auth = { session : 'abcdef' , type : 'foo' } ;
1062
+ const newPassword = 'newpassword' ;
1063
+ const callback = ( ) => { } ;
1064
+
1065
+ const passwordTest = ( expectedRequestContent : any , expectedCallback ?: Function ) => {
1066
+ const [ callback , method , path , queryParams , requestContent ] = client . http . authedRequest . mock . calls [ 0 ] ;
1067
+ if ( expectedCallback ) {
1068
+ expect ( callback ) . toBe ( expectedCallback ) ;
1069
+ } else {
1070
+ expect ( callback ) . toBeFalsy ( ) ;
1071
+ }
1072
+ expect ( method ) . toBe ( 'POST' ) ;
1073
+ expect ( path ) . toEqual ( '/account/password' ) ;
1074
+ expect ( queryParams ) . toBeFalsy ( ) ;
1075
+ expect ( requestContent ) . toEqual ( expectedRequestContent ) ;
1076
+ } ;
1077
+
1078
+ beforeEach ( ( ) => {
1079
+ client . http . authedRequest . mockClear ( ) . mockResolvedValue ( { } ) ;
1080
+ } ) ;
1081
+
1082
+ it ( "no logout_devices specified" , async ( ) => {
1083
+ await client . setPassword ( auth , newPassword ) ;
1084
+ passwordTest ( { auth, new_password : newPassword } ) ;
1085
+ } ) ;
1086
+
1087
+ it ( "no logout_devices specified + callback" , async ( ) => {
1088
+ await client . setPassword ( auth , newPassword , callback ) ;
1089
+ passwordTest ( { auth, new_password : newPassword } , callback ) ;
1090
+ } ) ;
1091
+
1092
+ it ( "overload logoutDevices=true" , async ( ) => {
1093
+ await client . setPassword ( auth , newPassword , true ) ;
1094
+ passwordTest ( { auth, new_password : newPassword , logout_devices : true } ) ;
1095
+ } ) ;
1096
+
1097
+ it ( "overload logoutDevices=true + callback" , async ( ) => {
1098
+ await client . setPassword ( auth , newPassword , true , callback ) ;
1099
+ passwordTest ( { auth, new_password : newPassword , logout_devices : true } , callback ) ;
1100
+ } ) ;
1101
+
1102
+ it ( "overload logoutDevices=false" , async ( ) => {
1103
+ await client . setPassword ( auth , newPassword , false ) ;
1104
+ passwordTest ( { auth, new_password : newPassword , logout_devices : false } ) ;
1105
+ } ) ;
1106
+
1107
+ it ( "overload logoutDevices=false + callback" , async ( ) => {
1108
+ await client . setPassword ( auth , newPassword , false , callback ) ;
1109
+ passwordTest ( { auth, new_password : newPassword , logout_devices : false } , callback ) ;
1110
+ } ) ;
1111
+ } ) ;
1059
1112
} ) ;
0 commit comments