public function testSubscribeErrorInvalidParameters()
 {
     $subscribe_xml = file_get_contents(dirname(__FILE__) . '/data/savedsearch_error_invalid_parameters.xml');
     $this->oauthClient->expects($this->once())->method('authenticatedPostAsXml')->with('savedSearch/subscribe', $this->savedSearch->toPostData())->will($this->returnValue($subscribe_xml));
     $this->setExpectedException('CultureFeed_Exception', '\'name\' is a required parameter');
     $this->savedSearches->subscribe($this->savedSearch);
 }
 /**
  * {@inheritdoc}
  */
 public function subscribe(CultureFeed_SavedSearches_SavedSearch $savedSearch, $use_auth = TRUE)
 {
     if ($use_auth) {
         $result = $this->oauth_client->authenticatedPostAsXml('savedSearch/subscribe', $savedSearch->toPostData());
     } else {
         $result = $this->oauth_client->consumerPostAsXml('savedSearch/subscribe', $savedSearch->toPostData());
     }
     $xml_element = $this->getXmlElementFromXmlString($result);
     $search_element = $xml_element->xpath('/response/savedSearch');
     if (empty($search_element)) {
         $this->throwXmlElementException($xml_element, $result);
     }
     return $this->parseSavedSearch($search_element[0]);
 }
 public function testFrequencyValidation()
 {
     // First test the validation method itself.
     $validFrequencyConstant = SavedSearch::DAILY;
     $this->assertTrue(SavedSearch::validateFrequency($validFrequencyConstant));
     $validFrequencyString = 'ASAP';
     $this->assertTrue(SavedSearch::validateFrequency($validFrequencyString));
     $invalidFrequencyString = 'SOMETIMES';
     $this->assertFalse(SavedSearch::validateFrequency($invalidFrequencyString));
     $invalidFrequencyObject = new stdClass();
     $this->assertFalse(SavedSearch::validateFrequency($invalidFrequencyObject));
     // Next test the setting of a frequency.
     $savedSearch = new SavedSearch();
     // These should not throw an exception.
     $savedSearch->setFrequency($validFrequencyConstant);
     $savedSearch->setFrequency($validFrequencyString);
     // These should throw exceptions.
     $this->setExpectedException('InvalidArgumentException');
     $savedSearch->setFrequency($invalidFrequencyString);
     $this->setExpectedException('InvalidArgumentException');
     $savedSearch->setFrequency($invalidFrequencyObject);
 }