public function testDeleteInsightsBySlug() { $builders = array(); $time_now = date("Y-m-d H:i:s"); $builders[] = FixtureBuilder::build('insights', array('date' => '2012-05-02', 'slug' => 'avg_replies_per_week', 'instance_id' => '1', 'text' => 'Retweet spike! Your post got retweeted 110 times', 'emphasis' => Insight::EMPHASIS_HIGH, 'time_generated' => $time_now)); $builders[] = FixtureBuilder::build('insights', array('date' => '2012-05-01', 'slug' => 'avg_replies_per_week', 'instance_id' => '2', 'text' => 'Retweet spike! Your post got retweeted 110 times', 'emphasis' => Insight::EMPHASIS_HIGH, 'time_generated' => $time_now)); $builders[] = FixtureBuilder::build('insights', array('date' => '2012-05-01', 'slug' => 'another_slug', 'instance_id' => '1', 'text' => 'Retweet spike! Your post got retweeted 110 times', 'emphasis' => Insight::EMPHASIS_HIGH, 'time_generated' => $time_now)); $dao = new InsightMySQLDAO(); //delete all insights for slug/instance $result = $dao->deleteInsightsBySlug('avg_replies_per_week', 1); $this->assertTrue($result); //check that insights for that slug and instance were deleted $result = $dao->getInsight('avg_replies_per_week', 1, '2012-05-01'); $this->assertNull($result); $result = $dao->getInsight('avg_replies_per_week', 1, '2012-05-02'); $this->assertNull($result); //check that insight with that slug but not for another instance were NOT deleted $result = $dao->getInsight('avg_replies_per_week', 2, '2012-05-01'); $this->assertNotNull($result); //delete nonexistent slug $result = $dao->deleteInsightsBySlug('avg_replies_per_week_another_slug', 1); $this->assertFalse($result); }