From 527bf9d3d31e23679c65e0fcf9104c321e72f8c3 Mon Sep 17 00:00:00 2001 From: Carlos Tadeu Panato Junior Date: Fri, 11 May 2018 18:58:03 +0200 Subject: [MM-9720] fix bugs when trying to change for a in use email and check the number of parameters (#8772) --- cmd/commands/user.go | 6 +++++- cmd/commands/user_test.go | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'cmd') diff --git a/cmd/commands/user.go b/cmd/commands/user.go index da3fb454b..7397cfb2e 100644 --- a/cmd/commands/user.go +++ b/cmd/commands/user.go @@ -422,6 +422,10 @@ func updateUserEmailCmdF(command *cobra.Command, args []string) error { } defer a.Shutdown() + if len(args) != 2 { + return errors.New("Expected two arguments. See help text for details.") + } + newEmail := args[1] if !model.IsValidEmail(newEmail) { @@ -440,7 +444,7 @@ func updateUserEmailCmdF(command *cobra.Command, args []string) error { user.Email = newEmail _, errUpdate := a.UpdateUser(user, true) if errUpdate != nil { - return errUpdate + return errors.New(errUpdate.Message) } return nil diff --git a/cmd/commands/user_test.go b/cmd/commands/user_test.go index a1081c5d3..8691ac803 100644 --- a/cmd/commands/user_test.go +++ b/cmd/commands/user_test.go @@ -104,7 +104,19 @@ func TestChangeUserEmail(t *testing.T) { // should fail because using an invalid email require.Error(t, cmd.RunCommand(t, "user", "email", th.BasicUser.Username, "wrong$email.com")) + // should fail because missing one parameter + require.Error(t, cmd.RunCommand(t, "user", "email", th.BasicUser.Username)) + + // should fail because missing both parameters + require.Error(t, cmd.RunCommand(t, "user", "email")) + + // should fail because have more than 2 parameters + require.Error(t, cmd.RunCommand(t, "user", "email", th.BasicUser.Username, "new@email.com", "extra!")) + // should fail because user not found require.Error(t, cmd.RunCommand(t, "user", "email", "invalidUser", newEmail)) + // should fail because email already in use + require.Error(t, cmd.RunCommand(t, "user", "email", th.BasicUser.Username, th.BasicUser2.Email)) + } -- cgit v1.2.3-1-g7c22