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); }
public static void ApplyFakeHttpContext(this Controller controller, FakeHttpContextBuilder builder) { builder.Build(controller); }