public static function setUpBeforeClass()
 {
     self::$client = new Client();
     $getCampaignsStream = Stream::factory(JsonLoader::getCampaignsJson());
     $getCampaignStream = Stream::factory(JsonLoader::getCampaignJson());
     $getPreviewStream = Stream::factory(JsonLoader::getPreviewJson());
     $mock = new Mock([new Response(200, array(), $getCampaignsStream), new Response(204, array()), new Response(400, array()), new Response(200, array(), $getCampaignStream), new Response(201, array(), $getCampaignStream), new Response(200, array(), $getCampaignStream), new Response(200, array(), $getPreviewStream)]);
     self::$client->getEmitter()->attach($mock);
 }
 public function testGetCampaigns()
 {
     $curlResponse = CurlResponse::create(JsonLoader::getCampaignsJson(), array('http_code' => 200));
     $this->restClient->expects($this->once())->method('get')->with()->will($this->returnValue($curlResponse));
     $response = $this->emailMarketingService->getCampaigns('access_token');
     $campaigns = $response->results;
     $this->assertInstanceOf('Ctct\\Components\\EmailMarketing\\Campaign', $campaigns[0]);
     $this->assertEquals("cGFnZU51bT0yJnBhZ2VTaXplPTM", $response->next);
     $this->assertEquals("1100371240640", $campaigns[0]->id);
     $this->assertEquals("Email Created 2012/11/29, 4:13 PM", $campaigns[0]->name);
     $this->assertEquals("SENT", $campaigns[0]->status);
     $this->assertEquals("2012-11-29T16:15:17.468Z", $campaigns[0]->modified_date);
     $this->assertEquals("1100368835463", $campaigns[1]->id);
     $this->assertEquals("CampaignNdddasdsdme2", $campaigns[1]->name);
     $this->assertEquals("DRAFT", $campaigns[1]->status);
     $this->assertEquals("2012-10-16T16:14:34.221Z", $campaigns[1]->modified_date);
 }