mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/11896] Add ability to define expected message after posting
This change will add the ability to define the expected message after a topic or post has been submitted with the methods create_post() and create_topic(). If the expected message is not 'POST_STORED', we will not try to get the topic and post id. PHPBB3-11896
This commit is contained in:
parent
252b5fe4f7
commit
29d3b08d50
1 changed files with 29 additions and 7 deletions
|
@ -868,9 +868,10 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||||
* @param string $subject
|
* @param string $subject
|
||||||
* @param string $message
|
* @param string $message
|
||||||
* @param array $additional_form_data Any additional form data to be sent in the request
|
* @param array $additional_form_data Any additional form data to be sent in the request
|
||||||
|
* @param string $expected Lang var of expected message after posting
|
||||||
* @return array post_id, topic_id
|
* @return array post_id, topic_id
|
||||||
*/
|
*/
|
||||||
public function create_topic($forum_id, $subject, $message, $additional_form_data = array())
|
public function create_topic($forum_id, $subject, $message, $additional_form_data = array(), $expected = '')
|
||||||
{
|
{
|
||||||
$posting_url = "posting.php?mode=post&f={$forum_id}&sid={$this->sid}";
|
$posting_url = "posting.php?mode=post&f={$forum_id}&sid={$this->sid}";
|
||||||
|
|
||||||
|
@ -880,7 +881,14 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||||
'post' => true,
|
'post' => true,
|
||||||
), $additional_form_data);
|
), $additional_form_data);
|
||||||
|
|
||||||
return self::submit_post($posting_url, 'POST_TOPIC', $form_data);
|
if ($expected !== '')
|
||||||
|
{
|
||||||
|
return self::submit_post($posting_url, 'POST_TOPIC', $form_data, $expected);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return self::submit_post($posting_url, 'POST_TOPIC', $form_data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -893,9 +901,10 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||||
* @param string $subject
|
* @param string $subject
|
||||||
* @param string $message
|
* @param string $message
|
||||||
* @param array $additional_form_data Any additional form data to be sent in the request
|
* @param array $additional_form_data Any additional form data to be sent in the request
|
||||||
|
* @param string $expected Lang var of expected message after posting
|
||||||
* @return array post_id, topic_id
|
* @return array post_id, topic_id
|
||||||
*/
|
*/
|
||||||
public function create_post($forum_id, $topic_id, $subject, $message, $additional_form_data = array())
|
public function create_post($forum_id, $topic_id, $subject, $message, $additional_form_data = array(), $expected = '')
|
||||||
{
|
{
|
||||||
$posting_url = "posting.php?mode=reply&f={$forum_id}&t={$topic_id}&sid={$this->sid}";
|
$posting_url = "posting.php?mode=reply&f={$forum_id}&t={$topic_id}&sid={$this->sid}";
|
||||||
|
|
||||||
|
@ -905,7 +914,14 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||||
'post' => true,
|
'post' => true,
|
||||||
), $additional_form_data);
|
), $additional_form_data);
|
||||||
|
|
||||||
return self::submit_post($posting_url, 'POST_REPLY', $form_data);
|
if ($expected !== '')
|
||||||
|
{
|
||||||
|
return self::submit_post($posting_url, 'POST_REPLY', $form_data, $expected);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return self::submit_post($posting_url, 'POST_REPLY', $form_data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -914,9 +930,10 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||||
* @param string $posting_url
|
* @param string $posting_url
|
||||||
* @param string $posting_contains
|
* @param string $posting_contains
|
||||||
* @param array $form_data
|
* @param array $form_data
|
||||||
* @return array post_id, topic_id
|
* @param string $expected Lang var of expected message after posting
|
||||||
|
* @return array|null post_id, topic_id if message is 'POST_STORED'
|
||||||
*/
|
*/
|
||||||
protected function submit_post($posting_url, $posting_contains, $form_data)
|
protected function submit_post($posting_url, $posting_contains, $form_data, $expected = 'POST_STORED')
|
||||||
{
|
{
|
||||||
$this->add_lang('posting');
|
$this->add_lang('posting');
|
||||||
|
|
||||||
|
@ -945,7 +962,12 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||||
// contained in one of the actual form fields that the browser sees (i.e. it ignores "hidden" inputs)
|
// contained in one of the actual form fields that the browser sees (i.e. it ignores "hidden" inputs)
|
||||||
// Instead, I send it as a request with the submit button "post" set to true.
|
// Instead, I send it as a request with the submit button "post" set to true.
|
||||||
$crawler = self::request('POST', $posting_url, $form_data);
|
$crawler = self::request('POST', $posting_url, $form_data);
|
||||||
$this->assertContains($this->lang('POST_STORED'), $crawler->filter('html')->text());
|
$this->assertContains($this->lang($expected), $crawler->filter('html')->text());
|
||||||
|
|
||||||
|
if ($expected !== 'POST_STORED')
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
$url = $crawler->selectLink($this->lang('VIEW_MESSAGE', '', ''))->link()->getUri();
|
$url = $crawler->selectLink($this->lang('VIEW_MESSAGE', '', ''))->link()->getUri();
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
|
|
Loading…
Add table
Reference in a new issue