$this->assert_forum_details($this->data['forums']['Reapprove Test #1'],array(
'forum_posts_approved'=>0,
'forum_posts_unapproved'=>0,
'forum_posts_softdeleted'=>0,
'forum_topics_approved'=>0,
'forum_topics_unapproved'=>0,
'forum_topics_softdeleted'=>0,
'forum_last_post_id'=>0,
),'initial comparison');
// Test creating topic #1
$post=$this->create_topic($this->data['forums']['Reapprove Test #1'],'Reapprove Test Topic #1','This is a test topic posted by the testing framework.');
$this->assertContains('Reapprove Test Topic #1',$crawler->filter('h2')->text());
$this->data['topics']['Reapprove Test Topic #1']=(int)$post['topic_id'];
$this->data['posts']['Reapprove Test Topic #1']=(int)$this->get_parameter_from_link($crawler->filter('.post')->selectLink($this->lang('POST','',''))->link()->getUri(),'p');
$this->assert_forum_details($this->data['forums']['Reapprove Test #1'],array(
'forum_posts_approved'=>1,
'forum_posts_unapproved'=>0,
'forum_posts_softdeleted'=>0,
'forum_topics_approved'=>1,
'forum_topics_unapproved'=>0,
'forum_topics_softdeleted'=>0,
'forum_last_post_id'=>$this->data['posts']['Reapprove Test Topic #1'],
$post2=$this->create_post($this->data['forums']['Reapprove Test #1'],$post['topic_id'],'Re: Reapprove Test Topic #1-#2','This is a test post posted by the testing framework.',array(),'POST_STORED_MOD');
$crawler=self::request('GET',"viewtopic.php?t={$this->data['topics']['Reapprove Test Topic #1']}&sid={$this->sid}");
$this->assertNotContains('Re: Reapprove Test Topic #1-#2',$crawler->filter('#page-body')->text());
$this->assert_forum_details($this->data['forums']['Reapprove Test #1'],array(
'forum_posts_approved'=>1,
'forum_posts_unapproved'=>1,
'forum_posts_softdeleted'=>0,
'forum_topics_approved'=>1,
'forum_topics_unapproved'=>0,
'forum_topics_softdeleted'=>0,
'forum_last_post_id'=>$this->data['posts']['Reapprove Test Topic #1'],
),'after replying');
// Test creating topic #2
$post=$this->create_topic($this->data['forums']['Reapprove Test #1'],'Reapprove Test Topic #2','This is a test topic posted by the testing framework.',array(),'POST_STORED_MOD');
$crawler=self::request('GET',"viewforum.php?f={$this->data['forums']['Reapprove Test #1']}&sid={$this->sid}");
$this->assertNotContains('Reapprove Test Topic #2',$crawler->filter('html')->text());
$this->assert_forum_details($this->data['forums']['Reapprove Test #1'],array(
'forum_posts_approved'=>1,
'forum_posts_unapproved'=>2,
'forum_posts_softdeleted'=>0,
'forum_topics_approved'=>1,
'forum_topics_unapproved'=>1,
'forum_topics_softdeleted'=>0,
'forum_last_post_id'=>$this->data['posts']['Reapprove Test Topic #1'],
),'after creating topic #2');
$this->logout();
}
publicfunctiontest_approve_post()
{
$this->login();
$this->load_ids(array(
'forums'=>array(
'Reapprove Test #1',
),
'topics'=>array(
'Reapprove Test Topic #1',
'Reapprove Test Topic #2',
),
'posts'=>array(
'Reapprove Test Topic #1',
'Re: Reapprove Test Topic #1-#2',
'Reapprove Test Topic #2',
),
));
$this->assert_forum_details($this->data['forums']['Reapprove Test #1'],array(
'forum_posts_approved'=>1,
'forum_posts_unapproved'=>2,
'forum_posts_softdeleted'=>0,
'forum_topics_approved'=>1,
'forum_topics_unapproved'=>1,
'forum_topics_softdeleted'=>0,
'forum_last_post_id'=>$this->data['posts']['Reapprove Test Topic #1'],
),'before approving post');
$this->add_lang('posting');
$this->add_lang('viewtopic');
$this->add_lang('mcp');
$crawler=self::request('GET',"viewtopic.php?t={$this->data['topics']['Reapprove Test Topic #1']}&sid={$this->sid}");
$this->assertContains('Reapprove Test Topic #1',$crawler->filter('h2')->text());
$this->assertContains('Re: Reapprove Test Topic #1-#2',$crawler->filter('#page-body')->text());
$posting_url="posting.php?mode=edit&f={$this->data['forums']['Reapprove Test #1']}&p={$this->data['posts']['Re: Reapprove Test Topic #1-#2']}&sid={$this->sid}";
$crawler=self::request('GET',"viewtopic.php?t={$this->data['topics']['Reapprove Test Topic #1']}&sid={$this->sid}");
$this->assertNotContains('Re: Reapprove Test Topic #1-#2',$crawler->filter('#page-body')->text());
$this->assertNotContains('Post edited by testing framework',$crawler->filter('#page-body')->text());
$this->assert_forum_details($this->data['forums']['Reapprove Test #1'],array(
'forum_posts_approved'=>2,
'forum_posts_unapproved'=>1,
'forum_posts_softdeleted'=>0,
'forum_topics_approved'=>2,
'forum_topics_unapproved'=>0,
'forum_topics_softdeleted'=>0,
'forum_last_post_id'=>$this->data['posts']['Reapprove Test Topic #2'],
),'after editing post');
// Test editing a topic
$posting_url="posting.php?mode=edit&f={$this->data['forums']['Reapprove Test #1']}&p={$this->data['posts']['Reapprove Test Topic #2']}&sid={$this->sid}";