Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }