Esempio n. 1
0
        public async Task AddAnimalToShelterAsyncTest()
        {
            var kennelProcessor = new KennelProcessor(_mockContext.Object);
            var animalProcessor = new AnimalProcessor(_mockContext.Object, kennelProcessor);

            var animalToAdd = new Animal()
            {
                name = "Bingo", type = "Dog", sizeInLbs = 26
            };

            var wasAminalAdded = await animalProcessor.AddAnimalToShelterAsync(animalToAdd);

            Assert.IsTrue(wasAminalAdded);
        }
Esempio n. 2
0
        public async Task RejectAnimalIfKennelFullAsyncTest()
        {
            var kennelProcessor = new KennelProcessor(_mockContext.Object);
            var animalProcessor = new AnimalProcessor(_mockContext.Object, kennelProcessor);

            _animalData.Add(new Animal {
                kennelId = 2
            });
            _animalData.Add(new Animal {
                kennelId = 2
            });
            _animalData.Add(new Animal {
                kennelId = 2
            });
            _animalData.Add(new Animal {
                kennelId = 2
            });
            _animalData.Add(new Animal {
                kennelId = 2
            });
            _animalData.Add(new Animal {
                kennelId = 2
            });
            _animalData.Add(new Animal {
                kennelId = 2
            });
            _animalData.Add(new Animal {
                kennelId = 2
            });
            _animalData.Add(new Animal {
                kennelId = 2
            });
            _animalData.Add(new Animal {
                kennelId = 2
            });

            var animalToAdd = new Animal()
            {
                name = "Bingo", type = "Dog", sizeInLbs = 26
            };

            var wasAminalAdded = await animalProcessor.AddAnimalToShelterAsync(animalToAdd);

            Assert.IsFalse(wasAminalAdded);
        }
Esempio n. 3
0
        public async Task <HttpResponseMessage> AddAsync([FromBody] AnimalModel animal)
        {
            double lbs;

            if (animal == null)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Animal info is required."));
            }
            if (string.IsNullOrEmpty(animal.name))
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Name is required."));
            }
            if (string.IsNullOrEmpty(animal.type))
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Animal type is required."));
            }
            if (!double.TryParse(animal.sizeInLbs.ToString(), out lbs))
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Size is not valid."));
            }

            try
            {
                var success = await _animalProcessor.AddAnimalToShelterAsync(new Animal { name = animal.name, type = animal.type, sizeInLbs = animal.sizeInLbs });

                if (success)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Animal was not added to shelter."));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error adding animal to shelter.", ex));
            }
        }