public function testMultipleSuccessfulMessages() { // times(4) didn't work with the mock object // I'll just do it manually for now $times_called = 0; $response = m::mock('Guzzle\\Http\\Message\\Response'); $response->shouldReceive('getStatusCode')->andReturnUsing(function () use(&$times_called) { $times_called++; return 201; }); $request = m::mock('Guzzle\\Http\\Message\\Request'); $request->shouldReceive('send')->andReturn($response); $http = new Http('https://' . $this->config['subdomain'] . '.campfirenow.com/room/' . $this->config['room']); $http = m::mock($http); $http->shouldReceive('post')->withAnyArgs()->andReturn($request); $campfire = new Campfire($this->config, $http); $campfire->queue('Test 1'); $campfire->queue('Test 2'); $campfire->queue('Test 3'); $this->assertTrue($campfire->send('Hello world')); $this->assertEquals($times_called, 4); }