public void GetAnimals_ShouldReturnAnimals_WhenNoId() { List <AnimalType> animalTypes = animalTypeRepository.GetAnimalTypes().ToList(); Assert.AreEqual(mockAnimalTypes.Count, animalTypes.Count); Assert.IsTrue(mockAnimalTypes.SequenceEqual(animalTypes)); AnimalType updatedAnimalType = new AnimalType() { Id = 1, AnimalTypeName = "Doggy", HappinessDeductionRate = 9, HungerIncreaseRate = 8 }; animalTypeRepository.UpdateAnimalType(1, updatedAnimalType); animalTypes = animalTypeRepository.GetAnimalTypes().ToList(); //When a value is amended, the Repo should maintian order by Id for (int i = 0; i < mockAnimalTypes.Count; i++) { Assert.AreEqual(i + 1, animalTypes[i].Id); } }
public AnimalTypeCreatedDTO UpdateAnimalType(int id, AnimalTypeCreationDTO updatedAnimalType) { try { animalTypeRepository.GetAnimalTypeById(id); } //Handled by controller logic catch (InvalidOperationException) { throw; } //Unexpected result, throw internal server error catch (Exception) { throw; } AnimalType animalType = Mapper.Map <AnimalType>(updatedAnimalType); //Not needed if using EF database with sequential column animalType.Id = id; AnimalTypeCreatedDTO returnValue = Mapper.Map <AnimalTypeCreatedDTO>(animalTypeRepository.UpdateAnimalType(id, animalType)); return(returnValue); }