Пример #1
0
 protected function generateFile($module)
 {
     // get javascript by calling the mmwExtjs action
     $browser = new sfBrowser();
     $browser->get('/' . $module . '/mmwExtjs/');
     $javascript = $browser->getResponse()->getContent();
     $file = sfMmwExtjsUtil::getJavascriptPath($module, 'base', true);
     file_put_contents($file, $javascript);
     chmod($file, 0666);
     $this->showMessage($module);
 }
$test_browser = new sfTestFunctional($browser);
$test_browser->setTester('json.response', 'sfTesterJsonResponse');
$test_browser->get('/subredditdeadline')->with('request')->begin()->isParameter('module', 'subredditdeadline')->isParameter('action', 'index')->end()->with('response')->begin()->isStatusCode(200)->end()->with('json.response')->begin()->isJson()->end();
/**
 * Test the creation
 */
$entity = new Deadline();
$entity_array = $entity->exportTo('array');
$identifier = $entity->getTable()->getIdentifier();
/**
 * Please build a valid $entity_array here
 */
unset($entity_array[$identifier]);
//$entity_array['name'] = "pony";
//$entity_array['created_at'] = date('Y-m-d H:i:s');
//$entity_array['updated_at'] = date('Y-m-d H:i:s');
$test_browser->call('/subredditdeadline', 'post', array('content' => json_encode($entity_array)))->with('request')->begin()->isParameter('module', 'subredditdeadline')->isParameter('action', 'create')->end()->with('response')->begin()->isStatusCode(200)->end();
/**
 * If the new entity has been created
 */
$location = $browser->getResponse()->getHttpHeader('Location');
if ($location) {
    // Get ?
    $test_browser->get($location)->with('request')->begin()->isParameter('module', 'subredditdeadline')->isParameter('action', 'show')->end()->with('response')->begin()->isStatusCode(200)->end()->with('json.response')->begin()->isJson()->end();
    // Update ?
    $test_browser->call($location, 'put', array('content' => json_encode($entity_array)))->with('request')->begin()->isParameter('module', 'subredditdeadline')->isParameter('action', 'update')->end()->with('response')->begin()->isStatusCode(200)->end();
    // Delete ?
    $test_browser->call($location, 'delete')->with('request')->begin()->isParameter('module', 'subredditdeadline')->isParameter('action', 'delete')->end()->with('response')->begin()->isStatusCode(200)->end();
} else {
    $test_browser->test()->fail("The last response doesn't have any Location header!");
}
Пример #3
0
 /**
  * If your page triggers an ajax request, you can perform it manually.
  * This action sends a GET ajax request with specified params.
  *
  * See ->sendAjaxPostRequest for examples.
  *
  * @param $uri
  * @param $params
  */
 public function sendAjaxGetRequest($uri, $params)
 {
     $this->browser->setHttpHeader('X-Requested-With', 'XMLHttpRequest');
     $this->call($uri, 'get', $params);
     $this->debug($this->browser->getResponse()->getContent());
 }