private ProductsController GetController() { var testProduct = DomainTestUtil.GetTestProducts(1)[0]; testProduct.Category = DomainTestUtil.GetTestCategories(1)[0]; var dataManagerMock = new Mock <IDataManager>(); dataManagerMock.Setup(x => x.ProductRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestProducts()); dataManagerMock.Setup(x => x.ProductRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => testProduct); dataManagerMock.Setup(x => x.ProductRepository.SaveEntity(It.IsAny <Product>())) .Returns <Product>(a => Guid.NewGuid()); dataManagerMock.Setup(x => x.CategoryRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestCategories()); dataManagerMock.Setup(x => x.CategoryRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => DomainTestUtil.GetTestCategories(1)[0]); var imageServiceMock = new Mock <IImageService>(); var environmentMock = new Mock <IWebHostEnvironment>(); return(new ProductsController(dataManagerMock.Object, imageServiceMock.Object, environmentMock.Object) { ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object }); }
private ProductController GetControllerWithNotAuthenticatedUser(bool returnsNullProduct = false) { var userManagerMock = new Mock <IUserManager>(); var userManagerHelperMock = new Mock <IUserManagerHelper>(); var dataManagerMock = new Mock <IDataManager>(); dataManagerMock.Setup(x => x.ProductRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => returnsNullProduct ? null : _testProduct); dataManagerMock.Setup(x => x.ReviewRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestReviews()); var identityMock = new Mock <GenericIdentity>("test"); identityMock.SetupGet(x => x.IsAuthenticated).Returns(false); return(new ProductController(dataManagerMock.Object, userManagerMock.Object, userManagerHelperMock.Object) { TempData = new TempDataDictionary(new DefaultHttpContext(), Mock.Of <ITempDataProvider>()), ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(identityMock.Object), } }, ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object }); }
private OrdersController GetController() { var userManagerMock = new Mock <IUserManager>(); var dataManagerMock = new Mock <IDataManager>(); userManagerMock.Setup(x => x.FindUserByName(It.IsAny <string>())) .Returns <string>(a => Task.FromResult(DomainTestUtil.GetTestUsers(1)[0])); dataManagerMock.Setup(x => x.OrderRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestOrders()); dataManagerMock.Setup(x => x.OrderRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => DomainTestUtil.GetTestOrders(1)[0]); return(new OrdersController(dataManagerMock.Object, userManagerMock.Object) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(new GenericIdentity("test")) } } }); }
private CartController GetControllerWithNotAuthenticatedUser() { var testProduct = DomainTestUtil.GetTestProducts(1)[0]; var userManagerMock = new Mock <IUserManager>(); var dataManagerMock = new Mock <IDataManager>(); dataManagerMock.Setup(x => x.ProductRepository.GetEntity(It.IsAny <Guid>())) .Returns(testProduct); var identityMock = new Mock <GenericIdentity>("test"); identityMock.SetupGet(x => x.IsAuthenticated).Returns(false); return(new CartController(dataManagerMock.Object, userManagerMock.Object) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(identityMock.Object), Session = new MockHttpSession { ["cart"] = _testJsonString } } }, ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object }); }
private CartController GetControllerWithAuthenticatedUser() { var testProduct = DomainTestUtil.GetTestProducts(1)[0]; var userManagerMock = new Mock <IUserManager>(); var dataManagerMock = new Mock <IDataManager>(); userManagerMock.Setup(x => x.FindUserByName(It.IsAny <string>())) .Returns <string>(a => Task.FromResult(DomainTestUtil.GetTestUsers(1)[0])); dataManagerMock.Setup(x => x.ProductRepository.GetEntity(It.IsAny <Guid>())) .Returns(testProduct); dataManagerMock.Setup(x => x.OrderRepository.SaveEntity(It.IsAny <Order>())) .Returns <Order>(a => Guid.NewGuid()); dataManagerMock.Setup(x => x.PurchaseDetailRepository.SaveEntity(It.IsAny <PurchaseDetail>())) .Returns <PurchaseDetail>(a => Guid.NewGuid()); return(new CartController(dataManagerMock.Object, userManagerMock.Object) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(new GenericIdentity("test")), Session = new MockHttpSession { ["cart"] = _testJsonString } } }, ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object }); }
private ReviewsController GetController() { var dataManagerMock = new Mock <IDataManager>(); dataManagerMock.Setup(x => x.ReviewRepository.GetAllEntities()) .Returns(_testReviews); dataManagerMock.Setup(x => x.ReviewRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => DomainTestUtil.GetTestReviews(1)[0]); dataManagerMock.Setup(x => x.ReviewRepository.SaveEntity(It.IsAny <Review>())) .Returns <Review>(a => Guid.NewGuid()); dataManagerMock.Setup(x => x.ProductRepository.GetAllEntities()) .Returns(_testProducts); var userManagerMock = new Mock <IUserManager>(); userManagerMock.Setup(x => x.GetAllUsers()) .Returns(DomainTestUtil.GetTestUsers()); userManagerMock.Setup(x => x.FindUserById(It.IsAny <Guid>())) .Returns <Guid>(a => Task.FromResult(_testUser)); return(new ReviewsController(dataManagerMock.Object, userManagerMock.Object) { ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object }); }
private CategoryController GetController(bool returnsNullCategory = false) { var dataManagerMock = new Mock <IDataManager>(); dataManagerMock.Setup(x => x.CategoryRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => returnsNullCategory ? null : DomainTestUtil.GetTestCategories(1)[0]); return(new CategoryController(dataManagerMock.Object)); }
private ProfileController GetController( bool changeablePassword = true, bool confirmablePhoneNumber = true, bool findsByPhoneNumber = true ) { var testUser = DomainTestUtil.GetTestUsers(1)[0]; var dataManagerMock = new Mock <IDataManager>(); var userManagerMock = new Mock <IUserManager>(); var userManagerHelperMock = new Mock <IUserManagerHelper>(); var smsServiceMock = new Mock <ISmsService>(); var imageServiceMock = new Mock <IImageService>(); var environmentMock = new Mock <IWebHostEnvironment>(); dataManagerMock.Setup(x => x.OrderRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestOrders()); userManagerMock.Setup(x => x.FindUserByName(It.IsAny <string>())) .Returns <string>(a => Task.FromResult(testUser)); userManagerMock.Setup(x => x.FindUserById(It.IsAny <Guid>())) .Returns <Guid>(a => Task.FromResult(DomainTestUtil.GetTestUsers(1)[0])); userManagerMock.Setup(x => x.FindUserByPhoneNumber(It.IsAny <string>())) .Returns <string>(a => Task.FromResult(findsByPhoneNumber ? testUser : null)); userManagerMock.Setup(x => x.ChangeUserPassword(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>())) .Returns <Guid, string, string>((a, b, c) => Task.FromResult(changeablePassword)); userManagerMock.Setup(x => x.ConfirmPhoneNumber(It.IsAny <Guid>(), It.IsAny <string>())) .Returns <Guid, string>((a, b) => Task.FromResult(confirmablePhoneNumber)); return(new ProfileController( dataManagerMock.Object, userManagerMock.Object, userManagerHelperMock.Object, smsServiceMock.Object, imageServiceMock.Object, environmentMock.Object ) { ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object, TempData = new TempDataDictionary(new DefaultHttpContext(), Mock.Of <ITempDataProvider>()), ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(new GenericIdentity("test")) } } }); }
private CategoriesController GetController() { var dataManagerMock = new Mock <IDataManager>(); dataManagerMock.Setup(x => x.CategoryRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestCategories()); dataManagerMock.Setup(x => x.CategoryRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => DomainTestUtil.GetTestCategories(1)[0]); dataManagerMock.Setup(x => x.CategoryRepository.SaveEntity(It.IsAny <Category>())) .Returns <Category>(a => Guid.NewGuid()); return(new CategoriesController(dataManagerMock.Object) { ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object }); }
public void IndexGetTest() { var dataManagerMock = new Mock <IDataManager>(); dataManagerMock.Setup(x => x.ProductRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestProducts()); dataManagerMock.Setup(x => x.CategoryRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestCategories()); var controller = new SearchController(dataManagerMock.Object); var result = controller.Index("query", "filter"); var viewResult = Assert.IsType <ViewResult>(result); Assert.Equal("~/Views/ListView.cshtml", viewResult.ViewName); var model = Assert.IsType <ListViewModel>(viewResult.Model); Assert.True(model.Products.Count < 9); }
public void IndexTest() { var mock = new Mock <IDataManager>(); var categories = DomainTestUtil.GetTestCategories(); mock.Setup(x => x.CategoryRepository.GetAllEntities()) .Returns(categories); var homeController = new HomeController(mock.Object); var result = homeController.Index(); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsType <HomeViewModel>(viewResult.Model); foreach (var item in model.AllCategories) { Assert.True(item.BestRatedProducts.Count <= 5); } }
private PurchaseDetailsController GetController() { var dataManagerMock = new Mock <IDataManager>(); dataManagerMock.Setup(x => x.PurchaseDetailRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestPurchaseDetails()); dataManagerMock.Setup(x => x.PurchaseDetailRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => DomainTestUtil.GetTestPurchaseDetails(1)[0]); dataManagerMock.Setup(x => x.PurchaseDetailRepository.SaveEntity(It.IsAny <PurchaseDetail>())) .Returns <PurchaseDetail>(a => Guid.NewGuid()); dataManagerMock.Setup(x => x.OrderRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestOrders()); dataManagerMock.Setup(x => x.ProductRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestProducts()); dataManagerMock.Setup(x => x.ProductRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => DomainTestUtil.GetTestProducts(1)[0]); return(new PurchaseDetailsController(dataManagerMock.Object) { ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object }); }
private ManagingController GetController() { var dataManagerMock = new Mock <IDataManager>(); dataManagerMock.Setup(x => x.OrderRepository.GetAllEntities()) .Returns(DomainTestUtil.GetTestOrders()); dataManagerMock.Setup(x => x.OrderRepository.GetEntity(It.IsAny <Guid>())) .Returns <Guid>(a => DomainTestUtil.GetTestOrders(1)[0]); var notificationHubContextMock = new Mock <IHubContext <NotificationHub> >(); var userConnectionManagerMock = new Mock <IUserConnectionManager>(); var emailServiceMock = new Mock <IEmailService>(); return(new ManagingController( dataManagerMock.Object, notificationHubContextMock.Object, userConnectionManagerMock.Object, emailServiceMock.Object ) { ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object }); }
private AccountController GetControllerWithNotAuthenticatedUser( bool loginSuccess = false, bool externalLoginSuccess = false, bool findsById = true, bool findsByUsername = false, bool findsByEmail = false, bool confirmableEmail = true, bool resetablePassword = true, bool nullExternalLoginInfo = true ) { var testUser = DomainTestUtil.GetTestUsers(1)[0]; var userManagerMock = new Mock <IUserManager>(); userManagerMock.Setup(x => x.SignIn(It.IsAny <string>(), It.IsAny <string>())) .Returns <string, string>((a, b) => Task.FromResult(loginSuccess)); userManagerMock.Setup(x => x.FindUserById(It.IsAny <Guid>())) .Returns <Guid>(a => Task.FromResult(findsById ? testUser : null)); userManagerMock.Setup(x => x.FindUserByName(It.IsAny <string>())) .Returns <string>(a => Task.FromResult(findsByUsername ? testUser : null)); userManagerMock.Setup(x => x.FindUserByEmail(It.IsAny <string>())) .Returns <string>(a => Task.FromResult(findsByEmail ? testUser : null)); userManagerMock.Setup(x => x.CreateUser(It.IsAny <User>(), It.IsAny <string>(), It.IsAny <Guid>())) .Returns <User, string, Guid>((a, b, c) => Task.FromResult(Guid.NewGuid())); userManagerMock.Setup(x => x.GenerateEmailConfirmationToken(It.IsAny <Guid>())) .Returns <Guid>(a => Task.FromResult(string.Empty)); userManagerMock.Setup(x => x.ConfirmEmail(It.IsAny <Guid>(), It.IsAny <string>())) .Returns <Guid, string>((a, b) => Task.FromResult(confirmableEmail)); userManagerMock.Setup(x => x.ResetPassword(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>())) .Returns <Guid, string, string>((a, b, c) => Task.FromResult(resetablePassword)); var emailServiceMock = new Mock <IEmailService>(); var identityMock = new Mock <GenericIdentity>("test"); identityMock.SetupGet(x => x.IsAuthenticated).Returns(false); var urlHelperMock = new Mock <IUrlHelper>(MockBehavior.Strict); urlHelperMock.Setup(x => x.Action(It.IsAny <UrlActionContext>())) .Returns("callbackUrl"); var externalLoginInfoMock = new Mock <ExternalLoginInfo>(new ClaimsPrincipal(), "test", "test", "test"); var authSchemeMock = new Mock <AuthenticationScheme>("test", "test", typeof(IAuthenticationHandler)); var userManagerHelperMock = new Mock <IUserManagerHelper>(); userManagerHelperMock.Setup(x => x.GetExternalLoginInfo()) .Returns(Task.FromResult(nullExternalLoginInfo ? null : externalLoginInfoMock.Object)); userManagerHelperMock.Setup(x => x.AddExternalLogin(It.IsAny <Guid>(), It.IsAny <ExternalLoginInfo>())) .Returns <Guid, ExternalLoginInfo>((a, b) => Task.FromResult(0)); userManagerHelperMock.Setup(x => x.GetExternalAuthenticationSchemes()) .Returns(Task.FromResult(new List <AuthenticationScheme> { authSchemeMock.Object })); userManagerHelperMock.Setup(x => x.ConfigureExternalAuthenticationProperties(It.IsAny <string>(), It.IsAny <string>())) .Returns <string, string>((a, b) => new AuthenticationProperties { RedirectUri = "test" }); userManagerHelperMock.Setup(x => x.ExternalLoginSignIn(It.IsAny <ExternalLoginInfo>())) .Returns(Task.FromResult(externalLoginSuccess)); return(new AccountController(userManagerMock.Object, userManagerHelperMock.Object, emailServiceMock.Object) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = new ClaimsPrincipal(identityMock.Object) } }, ObjectValidator = ControllerTestUtil.GetObjectModelValidatorMock().Object, Url = urlHelperMock.Object }); }