public async Task ResetPasswordReturnsAView() { var mediator = new Mock<IMediator>(); var userManager = CreateApplicationUserMock(); var user = new ApplicationUser() { Id = "1234", Email = "*****@*****.**", UserName = "******" }; mediator.Setup(x => x.Send(It.Is<UserByUserIdQuery>(q => q.UserId == user.Id))) .Returns(user); string code = "passcode"; userManager.Setup(u => u.GeneratePasswordResetTokenAsync(user)).ReturnsAsync(code); var controller = new SiteController(userManager.Object, null, mediator.Object); controller.SetDefaultHttpContext(); controller.Url = GetMockUrlHelper("any"); var result = (ViewResult)await controller.ResetPassword(user.Id); Assert.IsType<ViewResult>(result); }
public async Task ResetPasswordAddsCorrectSuccessMessagetoViewBagWhenUserIsNotNull() { var mediator = new Mock<IMediator>(); var userManager = CreateApplicationUserMock(); var user = new ApplicationUser() { Id = "1234", Email = "*****@*****.**", UserName = "******" }; mediator.Setup(x => x.Send(It.Is<UserByUserIdQuery>(q => q.UserId == user.Id))) .Returns(user); string code = "passcode"; userManager.Setup(u => u.GeneratePasswordResetTokenAsync(user)).ReturnsAsync(code); var controller = new SiteController(userManager.Object, null, mediator.Object); controller.SetDefaultHttpContext(); controller.Url = GetMockUrlHelper("any"); var result = await controller.ResetPassword(user.Id); Assert.Equal($"Sent password reset email for {user.UserName}.", controller.ViewBag.SuccessMessage); }
public async Task ResetPasswordSendsSendResetPasswordEmailWithCorrectDataWhenUserIsNotNull() { var mediator = new Mock<IMediator>(); var userManager = CreateApplicationUserMock(); var user = new ApplicationUser() { Id = "1234", Email = "*****@*****.**" }; mediator.Setup(x => x.Send(It.Is<UserByUserIdQuery>(q => q.UserId == user.Id))) .Returns(user); string code = "passcode"; userManager.Setup(u => u.GeneratePasswordResetTokenAsync(user)).ReturnsAsync(code); string url = String.Format("Admin/ResetPassword?userId={0}&code={1}", user.Id, code); var controller = new SiteController(userManager.Object, null, mediator.Object); controller.SetDefaultHttpContext(); controller.Url = GetMockUrlHelper(url); var result = await controller.ResetPassword(user.Id); mediator.Verify(x => x.SendAsync(It.Is<AllReady.Areas.Admin.Features.Site.SendResetPasswordEmail>(e => e.Email == user.Email && e.CallbackUrl == url))); }
public async Task ResetPasswordInvokesGeneratePasswordResetTokenAsyncWithCorrectUserWhenUserIsNotNull() { var mediator = new Mock<IMediator>(); var userManager = CreateApplicationUserMock(); var user = new ApplicationUser() { Id = "1234", Email = "*****@*****.**" }; mediator.Setup(x => x.Send(It.Is<UserByUserIdQuery>(q => q.UserId == user.Id))) .Returns(user); var controller = new SiteController(userManager.Object, null, mediator.Object); controller.SetDefaultHttpContext(); controller.Url = GetMockUrlHelper("any"); var result = await controller.ResetPassword(user.Id); userManager.Verify(u => u.GeneratePasswordResetTokenAsync(user)); }
public async Task EditUserPostSendsSendAccountApprovalEmailWithCorrectDataWhenModelsIsOrganizationAdminIsTrueAndOrganizationAdminClaimWasAddedSuccessfully() { var mediator = new Mock<IMediator>(); var userManager = CreateApplicationUserMock(); EditUserViewModel model = new EditUserViewModel() { IsOrganizationAdmin = true, UserId = It.IsAny<string>() }; var user = new ApplicationUser() { Id = model.UserId, Email = "*****@*****.**" }; mediator.Setup(x => x.Send(It.Is<UserByUserIdQuery>(q => q.UserId == model.UserId))) .Returns(user); userManager.Setup(x => x.AddClaimAsync(It.IsAny<ApplicationUser>(), It.IsAny<Claim>())) .Returns(() => Task.FromResult(IdentityResult.Success)); var controller = new SiteController(userManager.Object, null, mediator.Object); controller.SetDefaultHttpContext(); var expectedUrl = String.Format("Login/Admin?Email={0}", user.Email); controller.Url = GetMockUrlHelper(expectedUrl); await controller.EditUser(model); mediator.Verify(m => m.SendAsync(It.Is<SendAccountApprovalEmail>(q => q.Email == user.Email && q.CallbackUrl == expectedUrl )) , Times.Once); }
public async Task EditUserPostInvokesAddClaimAsyncWhenModelsIsOrganizationAdminIsTrue() { var mediator = new Mock<IMediator>(); var userManager = CreateApplicationUserMock(); EditUserViewModel model = new EditUserViewModel() { IsOrganizationAdmin = true, UserId = It.IsAny<string>() }; var user = new ApplicationUser() { Id = model.UserId, Email = "*****@*****.**" }; mediator.Setup(x => x.Send(It.Is<UserByUserIdQuery>(q => q.UserId == model.UserId))) .Returns(user); userManager.Setup(x => x.AddClaimAsync(It.IsAny<ApplicationUser>(), It.IsAny<Claim>())) .Returns(() => Task.FromResult(IdentityResult.Success)); var controller = new SiteController(userManager.Object, null, mediator.Object); controller.SetDefaultHttpContext(); controller.Url = GetMockUrlHelper("any"); await controller.EditUser(model); userManager.Verify(x => x.AddClaimAsync(user, It.Is<Claim>(c => c.Value == "OrgAdmin")), Times.Once); }