Exemple #1
0
        public async Task <IActionResult> GetAsync([FromQuery] Consumable consumable, [FromQuery] Address address)
        {
            NullCheck.ThrowIfNull <Consumable>(consumable);
            NullCheck.ThrowIfNull <Address>(address);

            try
            {
                consumable.address = address;
                _resourceDemandInputValidatorService.ValidateForDemandQuery(consumable);
                return(Ok(await _resourceDemandQueryService.QueryDemandsAsync(consumable).ToListAsync()));
            }
            catch (ArgumentException e)
            {
                return(BadRequest(e.Message));
            }
            catch (UnknownAdressException e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemple #2
0
        public void QueryConsumable_BadInputs()
        {
            //Invalid category
            var consumable = _captainHookGenerator.GenerateQueryConsumable();

            consumable.category = "";
            Assert.Throws <ArgumentException>(() => _service.ValidateForDemandQuery(consumable));

            //Country empty but postal code specified
            consumable = _captainHookGenerator.GenerateQueryConsumable();
            consumable.address.Country = "";
            Assert.Throws <ArgumentException>(() => _service.ValidateForDemandQuery(consumable));

            //Negative kilometer
            consumable           = _captainHookGenerator.GenerateQueryConsumable();
            consumable.kilometer = -10;
            Assert.Throws <ArgumentException>(() => _service.ValidateForDemandQuery(consumable));
        }