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); }
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); }
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)); } }