public SalesPersonViewModelService(
     ILogger <SalesPersonViewModelService> logger,
     IMapper mapper,
     SalesPersonApiClient salesPersonApiClient,
     ReferenceDataApiClient referenceDataApiClient
     ) =>
 (this.logger, this.mapper, this.salesPersonApiClient, this.referenceDataApiClient) =
            public void GetSalesPersons_NoSalesPersonsFound_ThrowsHttpRequestException(
                [Frozen] MockHttpMessageHandler handler,
                [Frozen] HttpClient httpClient,
                Uri uri,
                SalesPersonApiClient sut
                )
            {
                //Arrange
                httpClient.BaseAddress = uri;

                handler.When(HttpMethod.Get, $"{uri}*")
                .Respond(HttpStatusCode.NotFound);

                //Act
                Func <Task> func = async() => await sut.GetSalesPersonsAsync();

                //Assert
                func.Should().Throw <HttpRequestException>()
                .WithMessage("Response status code does not indicate success: 404 (Not Found).");
            }
            public async Task GetSalesPerson_SalesPersonFound_ReturnsSalesPerson(
                [Frozen] MockHttpMessageHandler handler,
                [Frozen] HttpClient httpClient,
                Uri uri,
                SalesPerson salesPerson,
                SalesPersonApiClient sut
                )
            {
                //Arrange
                httpClient.BaseAddress = uri;

                handler.When(HttpMethod.Get, $"{uri}*")
                .Respond(HttpStatusCode.OK,
                         new StringContent(
                             JsonSerializer.Serialize(
                                 salesPerson,
                                 new JsonSerializerOptions
                {
                    Converters =
                    {
                        new JsonStringEnumConverter()
                    },
                    IgnoreReadOnlyProperties = true,
                    PropertyNamingPolicy     = JsonNamingPolicy.CamelCase
                }),
                             Encoding.UTF8,
                             "application/json"
                             )
                         );

                //Act
                var response = await sut.GetSalesPersonAsync(
                    salesPerson.FirstName,
                    salesPerson.MiddleName,
                    salesPerson.LastName
                    );

                //Assert
                response.Should().BeEquivalentTo(salesPerson);
            }