/**
  * 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']);
 }