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