public async Task Should_Get_Cat_By_Id()
        {
            var cat         = Cats.FirstOrDefault();
            var existingCat = await CatRepository.GetByIdAsync(cat.Id);

            existingCat.Name.Should().Be(cat.Name);
        }
        public async Task Should_Update_A_Cat()
        {
            var cat = Cats.FirstOrDefault();

            cat.Name = Guid.NewGuid().ToString();

            await CatRepository.UpdateAsync(cat);

            var existingCat = await CatRepository.GetByIdAsync(cat.Id);

            existingCat.Id.Should().Be(cat.Id);
        }
        public async Task Should_Add_A_Cat()
        {
            var cat = new Cat {
                Name = Guid.NewGuid().ToString(), Ability = Ability.Napping
            };

            Cats.Add(cat);
            await CatRepository.AddAsync(cat);

            var existingCat = await CatRepository.GetByIdAsync(cat.Id);

            existingCat.Id.Should().Be(cat.Id);
        }