public async Task Should_GetCountries_SortedByLabel()
        {
            // Arrange
            var peopleService = Substitute.For <IPeopleService>();

            var getCountriesResult = Results.Ok <IEnumerable <Person> >(new[]
            {
                new Person()
                {
                    Gender = "Male", Pets = new[]
                    {
                        new Pet()
                        {
                            Type = "Cat", Name = "Cat1"
                        },
                    }
                },
                new Person()
                {
                    Gender = "Female", Pets = new[]
                    {
                        new Pet()
                        {
                            Type = "Cat", Name = "Cat2"
                        },
                    }
                },
                new Person()
                {
                    Gender = "Male", Pets = new[]
                    {
                        new Pet()
                        {
                            Type = "Dog", Name = "Dog1"
                        },
                    }
                },
            });

            peopleService.GetPeople().Returns(getCountriesResult);

            var handler = new GetCatsHandler(peopleService, Substitute.For <IErrorResponseFactory>(),
                                             Substitute.For <ILogger <GetCatsHandler> >());

            // Act
            var response = await handler.Handle(new GetCatsQuery(), new System.Threading.CancellationToken());

            // Assert
            Assert.Equal(HttpStatusCode.OK, response.HttpStatusCode);

            Assert.IsType <ResponseValue <IEnumerable <CatsByOwnerGenderViewModel> > >(response);

            var valueResponse = (ResponseValue <IEnumerable <CatsByOwnerGenderViewModel> >)response;

            Assert.Equal(2, valueResponse.Value.Count());
            Assert.Equal("Male", valueResponse.Value.FirstOrDefault()?.OwnerGender);
            Assert.Equal(1, valueResponse.Value.FirstOrDefault()?.CatNames.Count());
        }