Функциональный тест: как установить данные JSON в методе POST? - PullRequest
1 голос
/ 21 апреля 2011

Я хочу создать функциональный тест для действия, которое получает метод POST с данными в формате JSON.

Вот что у меня есть:

  info('set car')->
  post('/user/'.$user->getId().'/set-car/'.$car->getId()'->

  with('request')->ifFormat('json')->begin()->
    isParameter('module', 'myModule')->
    isParameter('action', 'myAction')->
  end()->

Но ... где я должен установить прием данных JSON?

sf 1.4

Привет

1012 * Javi *

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011

Вы изучили страницу из учебника Jobeet?

Первый пример:

$browser = new sfBrowser();

$browser->
  get('/')->
  click('Design')->
  get('/category/programming?page=2')->
  get('/category/programming', array('page' => 2))->
  post('search', array('keywords' => 'php'))
;

Может быть, я вообще не понял вашего вопроса. Поправь меня, если я ошибаюсь.

0 голосов
/ 02 июня 2011

Больше обходного пути ...

Если вы получаете содержание в своем действии следующим образом:

protected function getContent() {
    $content = $this->request->getParameter('content'); 
    if(!$content) $content = $this->request->getContent(); 
    return $content;
}

public function executeIndex(sfWebRequest $request) {
    $content = $this->getContent();
    //do something with your content :D
}

, что должно позволить вам проверить, что вы хотите, передав

post('search', array('content' => 'whatever my content is')); 
...