public OrderItemsControllerUnitTest()
        {
            _mockLogger = new Mock <ILogger <OrderItemsController> >();

            _orders      = new List <Order>();
            _orderItem22 = new OrderItem
            {
                Id        = 22,
                Quantity  = 17,
                UnitPrice = 12
            };
            _orders.Add(new Order
            {
                Id    = 1,
                Items = new List <OrderItem>(new OrderItem[] {
                    new OrderItem {
                        Id        = 20,
                        Quantity  = 10,
                        UnitPrice = 30
                    },
                    new OrderItem {
                        Id        = 21,
                        Quantity  = 15,
                        UnitPrice = 45
                    },
                    _orderItem22
                }),

                OrderDate   = DateTime.Now,
                OrderNumber = "12345",
                User        = new StoreUser()
            });


            _mockRepo = new Mock <IDutchRepository>();
            _mockRepo.Setup(r => r.GetOrderById(It.IsAny <string>(), It.IsAny <int>()))
            .Returns <string, int>((username, id) =>
                                   _orders.FirstOrDefault(order => order.Id == id)
                                   );


            _orderItemsViewModel = new List <OrderItemViewModel>();
            _orderItemsViewModel.Add(new OrderItemViewModel
            {
                Id        = 123,
                Quantity  = 10,
                UnitPrice = 25
            });

            _mockMapper = new Mock <IMapper>();
            _mockMapper.Setup(m => m.Map <IEnumerable <OrderItem>, IEnumerable <OrderItemViewModel> >(_orders[0].Items))
            .Returns(_orderItemsViewModel);

            var httpContextBuilder = new FakeHttpContextBuilder();

            httpContextBuilder.Append(new ConfigureFakeIdentity(_currentUserName));

            _sut = new OrderItemsController(_mockRepo.Object, _mockLogger.Object, _mockMapper.Object);
            _sut.ApplyFakeHttpContext(httpContextBuilder);
        }
        public OrdersControllerUnitTest()
        {
            _mockLogger   = new Mock <IMyLogger <OrdersController> >();
            _mockUserRepo = new Mock <IUserRepository>();

            _orders = new List <Order>();
            _orders.Add(new Order
            {
                Id          = 1,
                OrderDate   = new DateTime(2020, 1, 1),
                OrderNumber = "abc123",
                Items       = new List <OrderItem>()
            });

            _mockRepo = new Mock <IDutchRepository>();
            _mockRepo.Setup(r => r.GetOrderById(It.IsAny <string>(), It.IsAny <int>()))
            .Returns <string, int>((username, id) => _orders.FirstOrDefault(order => order.Id == id));

            _orderViewModel = new List <OrderViewModel>();
            _orderViewModel.Add(new OrderViewModel
            {
                OrderId     = 1,
                OrderDate   = new DateTime(2020, 1, 1),
                OrderNumber = "abc123"
            });

            _mockMapper = new Mock <IMapper>();
            _mockMapper.Setup(m => m.Map <IEnumerable <Order>, IEnumerable <OrderViewModel> >(_orders))
            .Returns(_orderViewModel);

            var httpContextBuilder = new FakeHttpContextBuilder();

            httpContextBuilder.Append(new ConfigureFakeIdentity(_currentUserName));

            _sut = new OrdersController(_mockRepo.Object, _mockLogger.Object, _mockMapper.Object, _mockUserRepo.Object);
            _sut.ApplyFakeHttpContext(httpContextBuilder);
        }
Exemplo n.º 3
0
 public static void ApplyFakeHttpContext(this Controller controller, FakeHttpContextBuilder builder)
 {
     builder.Build(controller);
 }