From bec3bbf88f76435bb29f7f869bb98c7a249e65e5 Mon Sep 17 00:00:00 2001 From: AulakhHarsh <115346020+AulakhHarsh@users.noreply.github.com> Date: Thu, 30 Jan 2025 04:59:37 +0530 Subject: [PATCH] add e2e tests for sendPasswordResetEmail cmd (#29907) --- server/cmd/mmctl/commands/user_e2e_test.go | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/server/cmd/mmctl/commands/user_e2e_test.go b/server/cmd/mmctl/commands/user_e2e_test.go index 1fbba9ec16..11aa7f3b51 100644 --- a/server/cmd/mmctl/commands/user_e2e_test.go +++ b/server/cmd/mmctl/commands/user_e2e_test.go @@ -1604,3 +1604,36 @@ func (s *MmctlE2ETestSuite) TestPreferenceDeleteCmd() { s.Require().Error(err) }) } + +func (s *MmctlE2ETestSuite) TestSendPasswordResetEmailCmd() { + s.SetupTestHelper().InitBasic() + s.RunForAllClients("all users can send password reset email", func(c client.Client) { + printer.Clean() + emailArg1 := "demo1@example.com" + emailArg2 := "demo2@example.com" + + err := sendPasswordResetEmailCmdF(c, &cobra.Command{}, []string{emailArg1, emailArg2}) + s.Require().NoError(err) + s.Require().Len(printer.GetLines(), 0) + s.Require().Len(printer.GetErrorLines(), 0) + }) + + s.RunForAllClients("send valid and invalid email", func(c client.Client) { + printer.Clean() + emailArg1 := "demo@example.com" + emailArg2 := "invalid.Email@example.com" + + var expected error + expected = multierror.Append(expected, fmt.Errorf("invalid email '%s'", emailArg2)) + + err := sendPasswordResetEmailCmdF(c, &cobra.Command{}, []string{emailArg1, emailArg2}) + s.Require().EqualError(err, expected.Error()) + s.Require().Len(printer.GetErrorLines(), 1) + }) + + s.RunForAllClients("no arguments passed", func(c client.Client) { + printer.Clean() + err := sendPasswordResetEmailCmdF(c, &cobra.Command{}, []string{}) + s.Require().EqualError(err, "expected at least one argument. See help text for details") + }) +}