public function testResolveContactAndMetricsSummary() { //Test with super $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('test testson', $content); //Betty dont have access to contact $betty = User::getByUsername('betty'); Yii::app()->user->userModel = $betty; $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('You cannot see this contact due to limited access', $content); //Giving betty access to contact Yii::app()->user->userModel = User::getByUsername('super'); $this->contact->addPermissions($betty, Permission::READ_WRITE_CHANGE_PERMISSIONS_CHANGE_OWNER); $this->assertTrue($this->contact->save()); AllPermissionsOptimizationUtil::securableItemGivenPermissionsForUser($this->contact, $betty); //Forgetting campaignItem is needed because of commit - aeedffa06467 //Not entirely sure why this is the case though. It only affects tests when securityOptimization is false $this->campaignItem->forgetAll(); $campaigns = Campaign::getAll(); $this->campaignItem = $campaigns[0]->campaignItems[0]; //Betty has now access to contact but not the emailMessage Yii::app()->user->userModel = $betty; $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('You cannot see the performance metrics due to limited access', $content); //Giving betty access to emailMessage Yii::app()->user->userModel = User::getByUsername('super'); $emailMessage = $this->campaignItem->emailMessage; $emailMessage->addPermissions($betty, Permission::READ_WRITE_CHANGE_PERMISSIONS_CHANGE_OWNER); $this->assertTrue($emailMessage->save()); AllPermissionsOptimizationUtil::securableItemGivenPermissionsForUser($emailMessage, $betty); //Betty has now access to contact and emailMessage Yii::app()->user->userModel = $betty; $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('test testson', $content); }
public function testResolveContactAndMetricsSummary() { //Test with super $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('test testson', $content); //Betty dont have access to contact $betty = User::getByUsername('betty'); Yii::app()->user->userModel = $betty; $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('You cannot see this contact due to limited access', $content); //Giving betty access to contact Yii::app()->user->userModel = User::getByUsername('super'); $this->contact->addPermissions($betty, Permission::READ_WRITE_CHANGE_PERMISSIONS_CHANGE_OWNER); $this->assertTrue($this->contact->save()); //Betty has now access to contact but not the emailMessage Yii::app()->user->userModel = $betty; $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('You cannot see the performance metrics due to limited access', $content); //Giving betty access to emailMessage Yii::app()->user->userModel = User::getByUsername('super'); $emailMessage = $this->campaignItem->emailMessage; $emailMessage->addPermissions($betty, Permission::READ_WRITE_CHANGE_PERMISSIONS_CHANGE_OWNER); $this->assertTrue($emailMessage->save()); //Betty has now access to contact and emailMessage Yii::app()->user->userModel = $betty; $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('test testson', $content); }