/**
  * Update a specific schedule for a campaign
  * @param string $accessToken - Constant Contact OAuth2 access token
  * @param int $campaignId - Campaign id to be scheduled
  * @param Schedule $schedule - Schedule to retrieve
  * @return Schedule
  */
 public function updateSchedule($accessToken, $campaignId, Schedule $schedule)
 {
     $baseUrl = Config::get('endpoints.base_url') . sprintf(Config::get('endpoints.campaign_schedule'), $campaignId, $schedule->id);
     $url = $this->buildUrl($baseUrl);
     $response = parent::getRestClient()->put($url, parent::getHeaders($accessToken), $schedule->toJson());
     return Schedule::create(json_decode($response->body, true));
 }
 public function testUpdateSchedule()
 {
     $response = self::$client->put('/');
     $updatedSchedule = Schedule::create($response->json());
     $this->assertInstanceOf('Ctct\\Components\\EmailMarketing\\Schedule', $updatedSchedule);
     $this->assertEquals(1, $updatedSchedule->id);
     $this->assertEquals("2012-12-16T11:07:43.626Z", $updatedSchedule->scheduled_date);
 }
 /**
  * Update a specific schedule for a campaign
  * @param string $accessToken - Constant Contact OAuth2 access token
  * @param int $campaignId - Campaign id to be scheduled
  * @param Schedule $schedule - Schedule to retrieve
  * @return Schedule
  * @throws CtctException
  */
 public function updateSchedule($accessToken, $campaignId, Schedule $schedule)
 {
     $baseUrl = Config::get('endpoints.base_url') . sprintf(Config::get('endpoints.campaign_schedule'), $campaignId, $schedule->id);
     $request = parent::createBaseRequest($accessToken, 'PUT', $baseUrl);
     $stream = Stream::factory(json_encode($schedule));
     $request->setBody($stream);
     try {
         $response = parent::getClient()->send($request);
     } catch (ClientException $e) {
         throw parent::convertException($e);
     }
     return Schedule::create($response->json());
 }