private static AccountController AccountController(SignInResult signInResult = default(SignInResult)) { var userManagerMock = CreateUserManagerMock(); var signInManagerMock = CreateSignInManagerMock(userManagerMock); signInManagerMock.Setup(mock => mock .PasswordSignInAsync( It.IsAny<string>(), It.IsAny<string>(), It.IsAny<bool>(), It.IsAny<bool>())) .ReturnsAsync(signInResult == default(SignInResult) ? SignInResult.Success : signInResult ); var emailSenderMock = new Mock<IEmailSender>(); var generalSettingsMock = new Mock<IOptions<GeneralSettings>>(); var mediatorMock = new Mock<IMediator>(); var controller = new AccountController( userManagerMock.Object, signInManagerMock.Object, emailSenderMock.Object, generalSettingsMock.Object, mediatorMock.Object); var urlHelperMock = new Mock<IUrlHelper>(); urlHelperMock .Setup(mock => mock.IsLocalUrl(It.Is<string>(x => x.StartsWith("http")))) .Returns(false); urlHelperMock .Setup(mock => mock.IsLocalUrl(It.Is<string>(x => !x.StartsWith("http")))) .Returns(true); controller.Url = urlHelperMock.Object; return controller; }
private static AccountController AccountController(SignInResult signInResult = default(SignInResult)) { var store = new Mock<IUserStore<ApplicationUser>>(); var userManagerMock = new Mock<UserManager<ApplicationUser>>(store.Object, null, null, null, null, null, null, null, null, null); var mockHttpContext = new Mock<HttpContext>(); var contextAccessor = new Mock<IHttpContextAccessor>(); contextAccessor.Setup(mock => mock.HttpContext).Returns(() => mockHttpContext.Object); var claimsFactory = new Mock<IUserClaimsPrincipalFactory<ApplicationUser>>(); var signInManagerMock = new Mock<SignInManager<ApplicationUser>>( userManagerMock.Object, contextAccessor.Object, claimsFactory.Object, null, null); signInManagerMock.Setup(mock => mock .PasswordSignInAsync( It.IsAny<string>(), It.IsAny<string>(), It.IsAny<bool>(), It.IsAny<bool>())) .ReturnsAsync(signInResult == default(SignInResult) ? SignInResult.Success : signInResult ); var emailSenderMock = new Mock<IEmailSender>(); var generalSettingsMock = new Mock<IOptions<GeneralSettings>>(); var mediatorMock = new Mock<IMediator>(); var controller = new AccountController( userManagerMock.Object, signInManagerMock.Object, emailSenderMock.Object, generalSettingsMock.Object, mediatorMock.Object); var urlHelperMock = new Mock<IUrlHelper>(); urlHelperMock .Setup(mock => mock.IsLocalUrl(It.Is<string>(x => x.StartsWith("http")))) .Returns(false); urlHelperMock .Setup(mock => mock.IsLocalUrl(It.Is<string>(x => !x.StartsWith("http")))) .Returns(true); controller.Url = urlHelperMock.Object; return controller; }