本文整理汇总了PHP中InsightPluginParent::shouldGenerateMonthlyInsight方法的典型用法代码示例。如果您正苦于以下问题:PHP InsightPluginParent::shouldGenerateMonthlyInsight方法的具体用法?PHP InsightPluginParent::shouldGenerateMonthlyInsight怎么用?PHP InsightPluginParent::shouldGenerateMonthlyInsight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InsightPluginParent
的用法示例。
在下文中一共展示了InsightPluginParent::shouldGenerateMonthlyInsight方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testShouldGenerateMonthlyInsight
public function testShouldGenerateMonthlyInsight()
{
$instance = new Instance();
$instance->id = 10;
$instance->network_username = 'testeriffic';
$instance->network = 'twitter';
$time_now = date("Y-m-d H:i:s");
$today = date('Y-m-d', strtotime('today'));
$yesterday = date('Y-m-d', strtotime('-1 day'));
$builders = array();
$builders[] = FixtureBuilder::build('insights', array('id' => 76, 'instance_id' => 10, 'slug' => 'some_slug', 'date' => $today, 'time_generated' => $time_now));
$builders[] = FixtureBuilder::build('insights', array('id' => 77, 'instance_id' => 10, 'slug' => 'some_other_slug', 'date' => $yesterday, 'time_generated' => $time_now));
$insight_plugin_parent = new InsightPluginParent();
$insight_plugin_parent->insight_dao = DAOFactory::getDAO('InsightDAO');
// Test default values
$this->assertTrue($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance));
$this->assertFalse($insight_plugin_parent->shouldGenerateMonthlyInsight('some_slug', $instance));
// Test regeneration on a given date
$this->assertTrue($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = $today));
$this->assertFalse($insight_plugin_parent->shouldGenerateMonthlyInsight('some_other_slug', $instance, $insight_date = $yesterday));
$this->assertTrue($insight_plugin_parent->shouldGenerateMonthlyInsight('some_other_slug', $instance, $insight_date = $yesterday, $regenerate_existing_insight = true));
// Test for day of month
$day_of_month1 = date('j');
$day_of_month2 = date('j', strtotime('-1 day'));
$this->assertTrue($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = 'today', $regenerate_existing_insight = false, $day_of_month = $day_of_month1));
$this->assertFalse($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = 'today', $regenerate_existing_insight = false, $day_of_month = $day_of_month2));
// Test with last week of posts
$this->assertTrue($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = 'today', $regenerate_existing_insight = false, $day_of_month = null, $count_related_posts = 13));
$this->assertFalse($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = 'today', $regenerate_existing_insight = false, $day_of_month = null, $count_related_posts = 0));
// Test excluded networks
$this->assertTrue($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = 'today', $regenerate_existing_insight = false, $day_of_month = null, $count_last_week_of_posts = null, $excluded_networks = array('facebook')));
$this->assertFalse($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = 'today', $regenerate_existing_insight = false, $day_of_month = null, $count_last_week_of_posts = null, $excluded_networks = array('twitter', 'facebook')));
// test bonus magic day
$today = date('j');
for ($i = 1; $i <= 31; $i++) {
if ($today == ($i + 15) % date('t') + 1) {
$bonus_day = $i;
break;
}
}
$builders[] = FixtureBuilder::build('owner_instances', array('owner_id' => 1, 'instance_id' => $instance->id));
$builders[] = FixtureBuilder::build('owners', array('id' => 1, 'joined' => date('Y-m-d', strtotime('-20 day')), 'email' => 'a@b.com'));
$this->assertFalse($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = 'today', $regenerate_existing_insight = true, $day_of_month = $bonus_day));
$instance->id++;
$builders[] = FixtureBuilder::build('owner_instances', array('owner_id' => 2, 'instance_id' => $instance->id));
$builders[] = FixtureBuilder::build('owners', array('id' => 2, 'joined' => date('Y-m-d'), 'email' => 'b@b.com'));
$this->assertTrue($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = 'today', $regenerate_existing_insight = true, $day_of_month = $bonus_day));
$this->assertFalse($insight_plugin_parent->shouldGenerateMonthlyInsight('a_slug', $instance, $insight_date = 'today', $regenerate_existing_insight = true, $day_of_month = $bonus_day, null, null, false));
}