public async void ConfirmNewEmail_SuccessfulConfirmation() { User user = new User() { Id = memberId, Email = "*****@*****.**" }; Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake(); Mock<IUserStore<User, Guid>> userStoreStub = new Mock<IUserStore<User, Guid>>(); Mock<VeilUserManager> userManagerStub = new Mock<VeilUserManager>(dbStub.Object, null /*messageService*/, null /*dataProtectionProvider*/); userManagerStub.Setup(um => um.FindByIdAsync(memberId)).ReturnsAsync(user); userManagerStub.Setup(um => um.ConfirmEmailAsync(It.IsAny<Guid>(), It.IsAny<string>())).ReturnsAsync(IdentityResult.Success); userManagerStub.Setup(um => um.UpdateSecurityStampAsync(It.IsAny<Guid>())).ReturnsAsync(IdentityResult.Success); dbStub.Setup(db => db.UserStore).Returns(userStoreStub.Object); Mock<ControllerContext> context = new Mock<ControllerContext>(); ManageController controller = new ManageController(userManagerStub.Object, null, dbStub.Object, null, null) { ControllerContext = context.Object }; var result = await controller.ConfirmNewEmail(user.Id, "string"); Assert.That(result != null); }
public async void ConfirmNewEmail_EmptyGuid() { ManageController controller = new ManageController(null, null, null, null, null); var result = await controller.ConfirmNewEmail(Guid.Empty, "string"); Assert.That(result != null); }
public async void ConfirmNewEmail_IdentityResultFails() { Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake(); Mock<IUserStore<User, Guid>> userStoreStub = new Mock<IUserStore<User, Guid>>(); Mock<VeilUserManager> userManagerStub = new Mock<VeilUserManager>(dbStub.Object, null /*messageService*/, null /*dataProtectionProvider*/); userManagerStub.Setup(um => um.ConfirmEmailAsync(It.IsAny<Guid>(), It.IsAny<string>())).ReturnsAsync(IdentityResult.Failed()); dbStub.Setup(db => db.UserStore).Returns(userStoreStub.Object); Mock<ControllerContext> context = new Mock<ControllerContext>(); ManageController controller = new ManageController(userManagerStub.Object, null, dbStub.Object, null, null) { ControllerContext = context.Object }; var result = await controller.ConfirmNewEmail(memberId, "string"); Assert.That(result != null); }
public async void ConfirmNewEmail_ConfirmEmailReturnsFailedIdentityResult_AddsErrorsToModelErrors() { string[] identityErrors = { "Error 1", "Error 2", "Error 3" }; IdentityResult failedResult = IdentityResult.Failed(identityErrors); User user = new User() { Id = memberId, Email = "*****@*****.**" }; Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake(); Mock<IUserStore<User, Guid>> userStoreStub = new Mock<IUserStore<User, Guid>>(); Mock<VeilUserManager> userManagerStub = new Mock<VeilUserManager>(dbStub.Object, null /*messageService*/, null /*dataProtectionProvider*/); userManagerStub. Setup(um => um.ConfirmEmailAsync(It.IsAny<Guid>(), It.IsAny<string>())). ReturnsAsync(failedResult); dbStub. Setup(db => db.UserStore). Returns(userStoreStub.Object); Mock<ControllerContext> context = new Mock<ControllerContext>(); ManageController controller = new ManageController(userManagerStub.Object, null, dbStub.Object, null, null) { ControllerContext = context.Object }; await controller.ConfirmNewEmail(user.Id, "string"); Assert.That(controller.ModelState.Count, Is.EqualTo(1)); Assert.That(controller.ModelState.First().Value.Errors.Count, Is.EqualTo(identityErrors.Length)); }
public void ConfirmNewEmail_UserIsNullThrows() { Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake(); Mock<IUserStore<User, Guid>> userStoreStub = new Mock<IUserStore<User, Guid>>(); Mock<VeilUserManager> userManagerStub = new Mock<VeilUserManager>(dbStub.Object, null /*messageService*/, null /*dataProtectionProvider*/); userManagerStub.Setup(um => um.FindByIdAsync(memberId)).ReturnsAsync(null); userManagerStub.Setup(um => um.ConfirmEmailAsync(It.IsAny<Guid>(), It.IsAny<string>())).ReturnsAsync(IdentityResult.Success); userManagerStub.Setup(um => um.UpdateSecurityStampAsync(It.IsAny<Guid>())).ReturnsAsync(IdentityResult.Success); dbStub.Setup(db => db.UserStore).Returns(userStoreStub.Object); ManageController controller = new ManageController(userManagerStub.Object, null, dbStub.Object, null, null); Assert.That(async () => await controller.ConfirmNewEmail(memberId, "string"), Throws.InvalidOperationException); }