public function setUp()
 {
     $this->httpClient = new HttpClient();
     $mockResponse = $this->getMockBuilder('GuzzleHttp\\Psr7\\Response')->setMethods(['getStatusCode'])->disableOriginalConstructor()->getMock();
     $mockPromise = $this->getMockBuilder('GuzzleHttp\\Promise\\Promise')->disableOriginalConstructor()->getMock();
     $mockPromise->expects($this->exactly(3))->method('wait')->will($this->returnValue($mockResponse));
     $guzzleClient = $this->getMockBuilder('GuzzleHttp\\Client')->setMethods(['sendAsync'])->disableOriginalConstructor()->getMock();
     $guzzleClient->expects($this->atLeast(1))->method('sendAsync')->with($this->anything())->will($this->returnValue($mockPromise));
     $this->httpClient->setClient($guzzleClient);
     $this->mockHttpClient = $this->getMockBuilder('TheIconic\\Tracking\\GoogleAnalytics\\Network\\HttpClient')->setMethods(['getAnalyticsResponse'])->getMock();
     $this->mockHttpClient->expects($this->atLeast(1))->method('getAnalyticsResponse')->will($this->returnArgument(1));
     $this->mockHttpClient->setClient($guzzleClient);
 }