public function testAlternateText() { TimeHelper::setTime(3); $builders = array(); $builders[] = FixtureBuilder::build('users', array('user_id' => '13', 'user_name' => 'ev', 'full_name' => 'Ev Williams', 'avatar' => 'avatar.jpg', 'is_protected' => 0, 'follower_count' => 70, 'network' => 'twitter')); $builders[] = FixtureBuilder::build('groups', array('group_id' => 14, 'network' => 'twitter', 'is_active' => 1, 'first_seen' => '-2d', 'group_name' => '@listmaker/list2')); $builders[] = FixtureBuilder::build('group_members', array('group_id' => 14, 'member_user_id' => '13', 'network' => 'twitter', 'is_active' => 1, 'first_seen' => '-2d')); $instance = new Instance(); $instance->id = 1; $instance->network_user_id = '13'; $instance->network = 'twitter'; $instance->network_username = '******'; $insight_plugin = new ListMembershipInsight(); $insight_plugin->generateInsight($instance, null, array(), 3); $insight_dao = DAOFactory::getDAO('InsightDAO'); $result = $insight_dao->getInsight('new_group_memberships', 1, date('Y-m-d')); $this->assertNotNull($result); $this->assertEqual("A new list for @ev's collection", $result->headline); $this->assertEqual('@ev got added to a new list, <a href="http://twitter.com/listmaker/list2">list2</a>.', $result->text); $this->debug($this->getRenderedInsightInHTML($result)); $this->debug($this->getRenderedInsightInEmail($result)); $builders[] = FixtureBuilder::build('groups', array('group_id' => 13, 'network' => 'twitter', 'is_active' => 1, 'first_seen' => '-3d', 'group_name' => '@listmaker/list1')); $builders[] = FixtureBuilder::build('group_members', array('group_id' => 13, 'member_user_id' => '13', 'network' => 'twitter', 'is_active' => 1, 'first_seen' => '-3d')); $deleted = $insight_dao->deleteInsightsBySlug('new_group_memberships', 1); $insight_plugin->generateInsight($instance, null, array(), 3); $result = $insight_dao->getInsight('new_group_memberships', 1, date('Y-m-d')); $this->assertNotNull($result); $this->assertEqual("2 new lists for @ev's collection", $result->headline); $this->assertEqual('@ev is on 2 new lists: <a href="http://twitter.com/listmaker/list2">list2</a> ' . 'and <a href="http://twitter.com/listmaker/list1">list1</a>.', $result->text); $this->debug($this->getRenderedInsightInHTML($result)); $this->debug($this->getRenderedInsightInEmail($result)); }
public function test1NewListMembershipWithHistory() { // Assert that insight doesn't exist $insight_dao = new InsightMySQLDAO(); $result = $insight_dao->getInsight('new_group_memberships', 1, date('Y-m-d')); $this->assertNull($result); $builders = self::buildData($total_lists = 1, $build_history = true, $history_ceiling = 5); $instance = new Instance(); $instance->id = 1; $instance->network_user_id = '13'; $instance->network = 'twitter'; $instance->network_username = '******'; $stylestats_insight_plugin = new ListMembershipInsight(); $stylestats_insight_plugin->generateInsight($instance, array(), 3); // Assert that insight got generated $insight_dao = new InsightMySQLDAO(); $result = $insight_dao->getInsight('new_group_memberships', 1, date('Y-m-d')); $this->assertNotNull($result); $this->assertEqual($result->slug, 'new_group_memberships'); $this->assertEqual($result->headline, 'Made the list:'); $this->assertEqual($result->filename, 'listmembership'); $this->assertPattern('/\\@ev is on a new list,/', $result->text); $this->assertPattern('/bringing the total to \\<strong\\>6 lists\\<\\/strong\\>./', $result->text); }
public function testMoreThan10NewListMembershipNoHistory() { // Assert that insight doesn't exist $insight_dao = new InsightMySQLDAO(); $result = $insight_dao->getInsight('new_group_memberships', 1, date('Y-m-d')); $this->assertNull($result); $builders = self::buildData($total_lists = 26); $instance = new Instance(); $instance->id = 1; $instance->network_user_id = '13'; $instance->network = 'twitter'; $instance->network_username = '******'; $stylestats_insight_plugin = new ListMembershipInsight(); $stylestats_insight_plugin->generateInsight($instance, array(), 3); // Assert that insight got generated $insight_dao = new InsightMySQLDAO(); $result = $insight_dao->getInsight('new_group_memberships', 1, date('Y-m-d')); $this->assertNotNull($result); $this->assertEqual($result->slug, 'new_group_memberships'); $this->assertEqual($result->prefix, 'Made the list:'); $this->assertEqual($result->filename, 'listmembership'); $this->assertPattern('/\\@ev is on 26 new lists:/', $result->text); $this->assertPattern('/and 16 more/', $result->text); }