/**
  * @param Site $site
  * @param bool $reload
  * @return Site
  * @throws ApiException
  */
 public function updateSite(Site $site, $reload = false)
 {
     $url = sprintf("sites/%s", $site->getId());
     $requestBody = $site->toArray();
     if ($reload) {
         $requestBody['reload'] = true;
     }
     $response = $this->doPut($url, $requestBody);
     if ($reload) {
         $siteData = (array) $response;
         $siteData = reset($siteData);
         return new Site($siteData);
     } else {
         return $site;
     }
 }
 /**
  * @test
  */
 public function should_update_existing_site_and_respond_without_instance()
 {
     $responseMock = $this->createResponseMock(200, null);
     $apiClient = $this->createTestApiClient($responseMock);
     $site = new Site();
     $site->setId(uniqid());
     $site->setTitle(uniqid("New Site Title "));
     $updated = $apiClient->updateSite($site, false);
     $this->assertInstanceOf(Site::class, $updated);
     $this->assertSame($site, $updated);
 }