/** * Sally cannot access notes, tasks, or contacts. User is always accessible regardless of right to access */ public function testGetAllReportableRelationsAsANonElevatedUser() { Yii::app()->user->userModel = User::getByUsername('sally'); $model = new Account(); $rules = new AccountsReportRules(); $report = new Report(); $report->setType(Report::TYPE_ROWS_AND_COLUMNS); $report->setModuleClassName('AccountsModule'); $adapter = new ModelRelationsAndAttributesToReportAdapter($model, $rules, $report->getType()); $relations = $adapter->getSelectableRelationsData(); $relations = $adapter->getSelectableRelationsDataResolvedForUserAccess(Yii::app()->user->userModel, $relations); $this->assertEquals(9, count($relations)); $compareData = array('label' => 'Billing Address'); $this->assertEquals($compareData, $relations['billingAddress']); $compareData = array('label' => 'Created By User'); $this->assertEquals($compareData, $relations['createdByUser']); $compareData = array('label' => 'Meetings'); $this->assertEquals($compareData, $relations['meetings']); $compareData = array('label' => 'Modified By User'); $this->assertEquals($compareData, $relations['modifiedByUser']); $compareData = array('label' => 'Opportunities'); $this->assertEquals($compareData, $relations['opportunities']); $compareData = array('label' => 'Owner'); $this->assertEquals($compareData, $relations['owner']); $compareData = array('label' => 'Primary Email'); $this->assertEquals($compareData, $relations['primaryEmail']); $compareData = array('label' => 'Shipping Address'); $this->assertEquals($compareData, $relations['shippingAddress']); $compareData = array('label' => 'Secondary Email'); $this->assertEquals($compareData, $relations['secondaryEmail']); }