public void InvokesGetBookOnce_When_RemoveBookFromShoppingCartIsCalledWithCorrectParams() { var unitOfWorkMock = new Mock <IUnitOfWork>(); var mapperStub = new Mock <IMapper>(); var fakeUser = new BookstoreUser() { Id = 1 }; var fakeBook = new Book(); var fakeShoppingCart = new ShoppingCart() { UserId = 1 }; var fakeShoppingCarts = new List <ShoppingCart>() { fakeShoppingCart }.AsQueryable(); var shoppingCartService = new ShoppingCartService(unitOfWorkMock.Object, mapperStub.Object); unitOfWorkMock.Setup(x => x.Users.GetById(1)).Returns(fakeUser); unitOfWorkMock.Setup(x => x.Books.GetById(1)).Returns(fakeBook).Verifiable(); unitOfWorkMock.Setup(x => x.ShoppingCarts.All()).Returns(fakeShoppingCarts); shoppingCartService.RemoveBookFromShoppingCart(1, 1); unitOfWorkMock.Verify(x => x.Books.GetById(It.IsAny <int>()), Times.Once); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new BookstoreUser { UserName = model.UserName, Email = model.Email, PhoneNumber = model.PhoneNumber, UserAddress = model.Address }; var result = await this.userManager.CreateAsync(user, model.Password); if (result.Succeeded) { await this.signInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
private void SeedUsers(BookstoreContext context) { var userStore = new UserStore <BookstoreUser, BookstoreRole, int, BookstoreUserLogin, BookstoreUserRole, BookstoreUserClaim>(context); var userManager = new UserManager <BookstoreUser, int>(userStore); #region Users var userSofi = new BookstoreUser() { FirstName = "Sofia", LastName = "Kiryakova", Email = "*****@*****.**", PhoneNumber = "123456", PasswordHash = new PasswordHasher().HashPassword("admin"), UserAddress = "asd", UserName = "******" }; var userMe = new BookstoreUser() { FirstName = "admin", LastName = "admin", Email = "*****@*****.**", PhoneNumber = "123456", PasswordHash = new PasswordHasher().HashPassword("admin"), UserAddress = "asd", UserName = "******" }; var userNick = new BookstoreUser() { FirstName = "Nikolay", LastName = "Nikolov", Email = "you@you", PhoneNumber = "123456", PasswordHash = new PasswordHasher().HashPassword("admin"), UserAddress = "asd", UserName = "******" }; #endregion userManager.Create(userSofi); userManager.Create(userNick); userManager.Create(userMe); context.SaveChanges(); }
public void ReturnAllOrders_WhenInvokedWithCorrectUserId() { var mapperMock = new Mock <IMapper>(); var unitOfWorkMock = new Mock <IUnitOfWork>(); var repoMock = new Mock <IRepository <Order> >(); var user1 = new BookstoreUser() { Id = 2, }; var orders = new List <Order>() { new Order { UserId = 2, User = user1 }, new Order { UserId = 2, User = user1 } }; mapperMock.Setup(x => x.Map <List <OrderViewModel> >(It.IsAny <List <Order> >())) .Returns(new List <OrderViewModel>()); repoMock.Setup(r => r.All()).Returns(orders.AsQueryable()); unitOfWorkMock.Setup(u => u.Orders).Returns(repoMock.Object); var orderService = new OrderService(unitOfWorkMock.Object, mapperMock.Object); var sut = orderService.GetUserOrders(2); Assert.AreEqual(2, sut.Count); }
public void DeleteBookFromWishlist_WhenInvokedWithCorrectParams() { var mapperMock = new Mock <IMapper>(); var unitOfWorkMock = new Mock <IUnitOfWork>(); var repoMock = new Mock <IRepository <Wishlist> >(); var author1 = new Author { Id = 1, AuthorName = "Author1" }; var book1 = new Book() { Id = 1, Isbn = "123", Title = "C# Unleashed", Author = author1, CategoryId = 1, }; var book2 = new Book() { Id = 1, Isbn = "12233", Title = "Java Unleashed", Author = author1, CategoryId = 2, }; var books = new Collection <Book>() { book1, book2 }; var user1 = new BookstoreUser() { FirstName = "Pesho", LastName = "Petrov", Id = 2, PasswordHash = "secret", Email = "email", PhoneNumber = "0888888", UserAddress = "asd", UserName = "******" }; var wishlist = new Wishlist() { Books = books, Id = 1, User = user1, UserId = 2 }; var wishlists = new List <Wishlist>() { wishlist }; mapperMock.Setup(x => x.Map <List <WishlistViewModel> >(It.IsAny <List <Wishlist> >())) .Returns(new List <WishlistViewModel>()); mapperMock.Setup(x => x.Map <List <BookViewModel> >(It.IsAny <List <Book> >())) .Returns(new List <BookViewModel>()); repoMock.Setup(x => x.All()).Returns(wishlists.AsQueryable); unitOfWorkMock.Setup(x => x.Wishlists).Returns(repoMock.Object); unitOfWorkMock.Setup(x => x.Books.GetById(1)).Returns(book1); unitOfWorkMock.Setup(x => x.Users.GetById(2)).Returns(user1); var wishlistService = new WishlistService(unitOfWorkMock.Object, mapperMock.Object); wishlistService.DeleteBookFromWishlist(book1.Id, user1.Id); var actualBookCountInWishlist = wishlist.Books.Count; Assert.AreEqual(1, actualBookCountInWishlist); }
public void ReturnTotalOrderPrice_WhenInvokedWithCorrectOrderId() { var mapperMock = new Mock <IMapper>(); var unitOfWorkMock = new Mock <IUnitOfWork>(); var author1 = new Author { Id = 1, AuthorName = "Author1" }; var book1 = new Book() { Id = 1, Isbn = "123", Title = "C# Unleashed", Author = author1, Price = 10, CategoryId = 1 }; var book2 = new Book() { Id = 2, Isbn = "457123", Title = "Java Unleashed", Author = author1, Price = 30, CategoryId = 1 }; var orderStatus = new OrderStatus() { Id = 1, OrderStatusDescription = "Status" }; var books = new Collection <Book>() { book1, book2 }; var user1 = new BookstoreUser() { FirstName = "Pesho", LastName = "Petrov", Id = 2, PasswordHash = "secret", Email = "email", PhoneNumber = "0888888", UserAddress = "asd", UserName = "******" }; var order1 = new Order() { Books = books, DeliveryAddress = "address", Id = 100, OrderStatusId = 1, OrderStatus = orderStatus, PhoneNumber = user1.PhoneNumber, UserId = 1, User = user1, OrderCompletedTime = null, ReceivedOrderTime = null }; mapperMock.Setup(x => x.Map <List <OrderViewModel> >(It.IsAny <List <Order> >())) .Returns(new List <OrderViewModel>()); unitOfWorkMock.Setup(x => x.Orders.GetById(100)).Returns(order1); var orderService = new OrderService(unitOfWorkMock.Object, mapperMock.Object); var orderId = 100; var sut = orderService.GetTotalOrderPrice(orderId); Assert.AreEqual(40, sut); }
public void ReturnCorrectValue_WhenInvokedWithCorrectParams() { var unitOfWorkMock = new Mock <IUnitOfWork>(); var mapperStub = new Mock <IMapper>(); var shoppingCartService = new ShoppingCartService(unitOfWorkMock.Object, mapperStub.Object); var author1 = new Author { Id = 1, AuthorName = "Author1" }; var books = new List <Book> { new Book { Id = 1, Isbn = "123", Title = "C# Unleashed", Author = author1, CategoryId = 1, Price = 10 }, new Book { Id = 2, Isbn = "213", Title = "ASP.Net Unleashed", Author = author1, CategoryId = 1, Price = 10 }, new Book { Id = 3, Isbn = "312", Title = "Java Unleashed", Author = author1, CategoryId = 1, Price = 10 } }; var user1 = new BookstoreUser() { FirstName = "Pesho", LastName = "Petrov", Id = 2, Email = "email", PhoneNumber = "0888888", }; var shoppingCartStatus = new ShoppingCartStatus() { Id = 1, ShoppingCartStatusDescription = "test" }; var shoppingCart = new ShoppingCart() { Books = books, Id = 1, UserId = 2, ShoppingCartStatus = shoppingCartStatus, ShoppingCartStatusId = shoppingCartStatus.Id }; var shoppingCarts = new List <ShoppingCart>() { shoppingCart }.AsQueryable(); unitOfWorkMock.Setup(x => x.Users.GetById(2)).Returns(user1); unitOfWorkMock.Setup(x => x.ShoppingCarts.All()).Returns(shoppingCarts); var expectedTotalPrice = 30; var actualTotalPrice = shoppingCartService.GetCartTotalPrice(user1.Id); Assert.AreEqual(expectedTotalPrice, actualTotalPrice); }