public void Search_WhenAPIFails_ReturnsBadRequest()
        {
            // Arrange
            var apiResponse = GenerateApiResponse(0);

            MockApiGateway.SetHousingSearchApiResponse(apiResponse);
            MockApiGateway.ForcedCode = HttpStatusCode.BadRequest;

            // Act
            var response = _mockGateway.ExecuteRequest <HousingSearchAPIResponse>("dummy", new Uri($"/api/v2/properties/search?searchText={SearchText}", UriKind.Relative)).Result;

            // Assert
            response.IsSuccess.Should().BeFalse();
            response.Status.Should().Be(HttpStatusCode.BadGateway);
        }
        public void Search_WhenNoResults_ReturnsEmptyResponseObject()
        {
            // Arrange
            var apiResponse = GenerateApiResponse(0);

            MockApiGateway.SetHousingSearchApiResponse(apiResponse);
            MockApiGateway.ForcedCode = null;

            // Act
            var response = _mockGateway.ExecuteRequest <SearchForPropertiesResponse>("dummy", new Uri($"/api/v2/properties/search?searchText={SearchText}", UriKind.Relative)).Result;

            // Assert
            response.IsSuccess.Should().BeTrue();
            response.Status.Should().Be(HttpStatusCode.OK);

            response.Content.Total.Should().Be(0);
            response.Content.Properties.Should().HaveCount(0);
        }