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);
            }
        }
Beispiel #2
0
        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);
        }