public async Task HappyPath() { var email = "*****@*****.**"; var user = await _fixture.LoginAsUser(email, "test"); _mailService.Reset(); var sut = _fixture.GetClient <IIdentityApi>(); var result = await sut.ForgotPassword(new SendPasswordResetCommand(email)); result.IsSuccessStatusCode.Should().BeTrue(); _mailService.Messages.Should() .HaveSingleMailWithProperReceiverAndSender(@from: "*****@*****.**", to: email) .And.ContainProperLink(); var link = EmailContentExtractor.GetTokenFromForgotPasswordEmail(_mailService.Messages.First()); var(_, token) = EmailContentExtractor.GetQueryParams(link); var newPassword = "******"; result = await sut.ResetPassword(new ResetPasswordCommand(user.UserId, token, newPassword)); result.IsSuccessStatusCode.Should().BeTrue(); await sut.SignIn(new SignInCommand(email, newPassword)); }
public async Task HappyPath() { var sut = _fixture.GetClient <IIdentityApi>(); var command = new SignUpCommand("*****@*****.**", "TEest12!@"); var result = await sut.SignUp(command); result.IsSuccessStatusCode.Should().BeTrue(); var mailService = (FakeMailService)_fixture.GetService <IMailService>(); mailService.Messages.Should() .HaveSingleMailWithProperReceiverAndSender(@from: "*****@*****.**", to: command.Email).And .ContainProperLink(); var link = EmailContentExtractor.GetUrlFromActivationMail(mailService.Messages.First()); var(userId, token) = EmailContentExtractor.GetQueryParams(link); var result2 = await sut.ActivateAccount(new ActivateCommand(Guid.Parse(userId), token, "test_nickname")); result2.IsSuccessStatusCode.Should().BeTrue(); var user = await sut.SignIn(new SignInCommand(command.Email, command.Password)); user.Token.Should().NotBeEmpty(); var meResult = await sut.Me(user.BearerToken()); meResult.Id.Should().NotBeEmpty(); meResult.Email.Should().Be(command.Email); }