コード例 #1
0
        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);
        }