public IActionResult Add(OrderInputResource orderInput) { if (orderInput == null || orderInput.CustomerId == 0 || orderInput.EquipmentId == 0 || orderInput.DaysOfRent <= 0) { _logger.LogError($"[post] api/orderInput called with bad data. Data: {JsonConvert.SerializeObject(orderInput)}"); return(BadRequest()); } var equipment = _unitOfWork.EquipmentRepository.Get(orderInput.EquipmentId); if (equipment == null) { _logger.LogError($"[post] api/orderInput called with invalid equipment id({orderInput.EquipmentId})"); return(BadRequest()); } var customer = _unitOfWork.CustomerRepository.Get(orderInput.CustomerId); if (customer == null) { _logger.LogError($"[post] api/orderInput called with invalid customer id({orderInput.CustomerId})"); return(BadRequest()); } var _order = new Order(equipment, customer, orderInput.DaysOfRent); _unitOfWork.OrderRepository.Add(_order); return(Ok(_order)); }
public void Add_CallWith_NegativeDaysOfRent_ShouldReturn_BadRequest() { var requestObject = new OrderInputResource() { CustomerId = 1, DaysOfRent = -1, EquipmentId = 1 }; var result = _controller.Add(requestObject); Assert.True(result is BadRequestResult); }
public OrdersControllerTests() { IEquipmentDbContext context = new InMemoryDbContext(); _unitOfWork = new UnitOfWork(context); _mockLogger = new Mock <ILogger <OrdersController> >(); var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new MappingProfile()); }); var mapper = mockMapper.CreateMapper(); _controller = new OrdersController(_unitOfWork, _mockLogger.Object, mapper); _validOrderInputResource = new OrderInputResource { DaysOfRent = 1, EquipmentId = 1, CustomerId = 1 }; }