@@ -290,21 +290,38 @@ func TestUpdateUserProfile(t *testing.T) {
290
290
func TestUpdateUserPassword (t * testing.T ) {
291
291
t .Parallel ()
292
292
293
- t .Run ("Success " ,func (t * testing.T ) {
293
+ t .Run ("MemberCantUpdateAdminPassword " ,func (t * testing.T ) {
294
294
t .Parallel ()
295
295
client := coderdtest .New (t ,nil )
296
- coderdtest .CreateFirstUser (t ,client )
297
- err := client .UpdateUserPassword (context .Background (),codersdk .Me , codersdk.UpdateUserPasswordRequest {
296
+ admin := coderdtest .CreateFirstUser (t ,client )
297
+ member := coderdtest .CreateAnotherUser (t ,client ,admin .OrganizationID )
298
+ err := member .UpdateUserPassword (context .Background (),admin .UserID , codersdk.UpdateUserPasswordRequest {
298
299
Password :"newpassword" ,
299
300
})
300
- require .NoError (t ,err ,"update password request should be successful" )
301
+ require .Error (t ,err ,"member should not be able to update admin password" )
302
+ })
301
303
302
- // Check if the user can login using the new password
304
+ t .Run ("AdminCanUpdateMemberPassword" ,func (t * testing.T ) {
305
+ t .Parallel ()
306
+ client := coderdtest .New (t ,nil )
307
+ admin := coderdtest .CreateFirstUser (t ,client )
308
+ member ,err := client .CreateUser (context .Background (), codersdk.CreateUserRequest {
309
+ Email :"coder@coder.com" ,
310
+ Username :"coder" ,
311
+ Password :"password" ,
312
+ OrganizationID :admin .OrganizationID ,
313
+ })
314
+ require .NoError (t ,err ,"create member" )
315
+ err = client .UpdateUserPassword (context .Background (),member .ID , codersdk.UpdateUserPasswordRequest {
316
+ Password :"newpassword" ,
317
+ })
318
+ require .NoError (t ,err ,"admin should be able to update member password" )
319
+ // Check if the member can login using the new password
303
320
_ ,err = client .LoginWithPassword (context .Background (), codersdk.LoginWithPasswordRequest {
304
- Email :coderdtest . FirstUserParams . Email ,
321
+ Email :"coder@coder.com" ,
305
322
Password :"newpassword" ,
306
323
})
307
- require .NoError (t ,err ,"login shouldbe successful " )
324
+ require .NoError (t ,err ,"member shouldlogin successfully with the new password " )
308
325
})
309
326
}
310
327