public void CanCreateNewOrder() { //arrange #region arrange CreateOrderViewModel model = new CreateOrderViewModel(); int customerId = 3; CustomerFullData customerFullData = new CustomerFullData { Customer = Repositories.CustomerRepository.Customers.FirstOrDefault(c => c.CustomerId == customerId), Addresses = Repositories.AddressRepository.Addresses.Where(a => a.CustomerId == customerId) }; model.CustomerFullData = customerFullData; model.SelectedAddress = customerFullData.Addresses.First(); Cart orderCart = new Cart(); orderCart.AddItem(Repositories.ProductRepository.Products.First(p => p.Name == "P1"), 1); orderCart.AddItem(Repositories.ProductRepository.Products.First(p => p.Name == "P3"), 3); _target.SetCart(orderCart); #endregion //act RedirectToActionResult result = (RedirectToActionResult)_target.CreateOrder(model).Result; //assert Assert.Equal("Completed", result.ActionName); }
public async void CanGetCustomerFullData(int customerId) { //arrange //act CustomerFullData result = await _target.GetCustomerFullData(customerId); //assert Assert.NotNull(result.Customer); Assert.NotNull(result.User); Assert.NotNull(result.Addresses); Assert.NotNull(result.AdditionalData); Assert.Equal(customerId, result.Customer.CustomerId); Assert.Equal(customerId, result.User.CustomerId); Assert.NotEmpty(result.Addresses); Assert.Equal(customerId, result.AdditionalData.CustomerId); Assert.Equal(result.Customer.Email, result.User.Email); }
private static ICustomerRepository GetCustomerRepository() { IEnumerable <Customer> customers = new List <Customer> { new Customer { CustomerId = 1, FirstName = "Łukasz", LastName = "Testowy", Email = "*****@*****.**", PhoneNumber = "123456789" }, new Customer { CustomerId = 2, FirstName = "Jan", LastName = "Testerski", Email = "*****@*****.**", PhoneNumber = "123453489" }, new Customer { CustomerId = 3, FirstName = "Maciek", LastName = "Test", Email = "*****@*****.**", PhoneNumber = "533456789" }, new Customer { CustomerId = 4, FirstName = "Michał", LastName = "Tester", Email = "*****@*****.**", PhoneNumber = "753345689" }, new Customer { CustomerId = 5, FirstName = "Łukasz", LastName = "Zmyślony", Email = "*****@*****.**", PhoneNumber = "376373274" }, new Customer { CustomerId = 6, FirstName = "Karol", LastName = "Krawczyk", Email = "*****@*****.**", PhoneNumber = "359582421" }, new Customer { CustomerId = 7, FirstName = "Tadeusz", LastName = "Norek", Email = "*****@*****.**", PhoneNumber = "537254732" }, new Customer { CustomerId = 8, FirstName = "Marian", LastName = "Nieładny", Email = "*****@*****.**", PhoneNumber = "684232911" }, new Customer { CustomerId = 9, FirstName = "Robert", LastName = "Lewandowski", Email = "*****@*****.**", PhoneNumber = "639203124" }, new Customer { CustomerId = 10, FirstName = "Jakub", LastName = "Błaszczykowski", Email = "*****@*****.**", PhoneNumber = "631953012" }, new Customer { CustomerId = 11, FirstName = "Kazimierz", LastName = "Polityczny", Email = "*****@*****.**", PhoneNumber = "421958210" }, new Customer { CustomerId = 12, FirstName = "Jan", LastName = "Zagłoba", Email = "*****@*****.**", PhoneNumber = "001001001" }, }; Mock <ICustomerRepository> mockCustRepo = new Mock <ICustomerRepository>(); mockCustRepo.Setup(x => x.Customers).Returns(customers); mockCustRepo.Setup(x => x.GetCustomerFullData(It.IsAny <Customer>())).Returns <Customer>(cust => { var result = new CustomerFullData { Customer = cust, User = Users.FirstOrDefault(u => u.CustomerId == cust.CustomerId), AdditionalData = new CustomerAdditionalData(cust.CustomerId) { CustomerOrdersCount = OrderRepository.GetCustomerOrders(cust.CustomerId).Count() }, Addresses = AddressRepository.GetCustomerAddresses(cust.CustomerId) }; return(Task.FromResult(result)); }); mockCustRepo.Setup(x => x.GetCustomerFullData(It.IsAny <int>())).Returns <int>(custId => { var result = new CustomerFullData { Customer = customers.FirstOrDefault(c => c.CustomerId == custId), User = Users.FirstOrDefault(u => u.CustomerId == custId), AdditionalData = new CustomerAdditionalData(custId) { CustomerOrdersCount = OrderRepository.GetCustomerOrders(custId).Count() }, Addresses = AddressRepository.GetCustomerAddresses(custId) }; return(Task.FromResult(result)); }); mockCustRepo.Setup(x => x.GetCustomer(It.IsAny <string>())).Returns <string>(email => { return(customers.FirstOrDefault(c => c.Email == email)); }); mockCustRepo.Setup(x => x.GetCustomer(It.IsAny <int>())).Returns <int>(custId => { return(customers.FirstOrDefault(c => c.CustomerId == custId)); }); return(mockCustRepo.Object); }