From f6973e554c933247bb4ed90dde5105f24e46ed17 Mon Sep 17 00:00:00 2001 From: Alessandro Lai Date: Sat, 23 Feb 2019 00:14:57 +0100 Subject: [PATCH 1/2] Fix the Mock strategy to work for async clients too --- spec/Strategy/MockClientStrategySpec.php | 8 ++++++++ src/Strategy/MockClientStrategy.php | 11 ++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/spec/Strategy/MockClientStrategySpec.php b/spec/Strategy/MockClientStrategySpec.php index 6a7e121..5927660 100644 --- a/spec/Strategy/MockClientStrategySpec.php +++ b/spec/Strategy/MockClientStrategySpec.php @@ -2,6 +2,7 @@ namespace spec\Http\Discovery\Strategy; +use Http\Client\HttpAsyncClient; use Http\Client\HttpClient; use Http\Discovery\ClassDiscovery; use Http\Discovery\Strategy\DiscoveryStrategy; @@ -22,4 +23,11 @@ function it_should_return_the_mock_client(DiscoveryStrategy $strategy) $candidates->shouldBeArray(); $candidates->shouldHaveCount(1); } + + function it_should_return_the_mock_client_as_async(DiscoveryStrategy $strategy) + { + $candidates = $this->getCandidates(HttpAsyncClient::class); + $candidates->shouldBeArray(); + $candidates->shouldHaveCount(1); + } } diff --git a/src/Strategy/MockClientStrategy.php b/src/Strategy/MockClientStrategy.php index 5744787..01143ba 100644 --- a/src/Strategy/MockClientStrategy.php +++ b/src/Strategy/MockClientStrategy.php @@ -2,6 +2,7 @@ namespace Http\Discovery\Strategy; +use Http\Client\HttpAsyncClient; use Http\Client\HttpClient; use Http\Mock\Client as Mock; @@ -17,8 +18,12 @@ final class MockClientStrategy implements DiscoveryStrategy */ public static function getCandidates($type) { - return (HttpClient::class === $type) - ? [['class' => Mock::class, 'condition' => Mock::class]] - : []; + switch ($type) { + case HttpClient::class: + case HttpAsyncClient::class: + return [['class' => Mock::class, 'condition' => Mock::class]]; + default: + return []; + } } } From 8c1f8b1ea447763fd68791a061e23b1d57f50fb4 Mon Sep 17 00:00:00 2001 From: Alessandro Lai Date: Sat, 23 Feb 2019 00:20:16 +0100 Subject: [PATCH 2/2] Update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2148dbc..53e0585 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## Unrelesed + +- Fix MockClientStrategy for provide the mock as an async client too + ## 1.6.0 - 2019-01-23 ### Added