Exemplo n.º 1
0
 public function testGetCurrencyValueAndDateAttributesOnOwnedModel()
 {
     $reportModelTestItem11 = new ReportModelTestItem11();
     $reportModelTestItem11->date = '2002-12-12';
     $reportModelTestItem11b = new ReportModelTestItem11();
     $reportModelTestItem11b->date = '2002-12-13';
     $reportModelTestItem10 = new ReportModelTestItem10();
     $reportModelTestItem10->reportModelTestItem11->add($reportModelTestItem11);
     $reportModelTestItem10->reportModelTestItem11->add($reportModelTestItem11b);
     $this->assertTrue($reportModelTestItem10->save());
     $displayAttributeX = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem10', Report::TYPE_ROWS_AND_COLUMNS);
     $displayAttributeX->setModelAliasUsingTableAliasName('abc');
     $displayAttributeX->attributeIndexOrDerivedType = 'reportModelTestItem11___date';
     $this->assertEquals('col0', $displayAttributeX->columnAliasName);
     $reportResultsRowData = new ReportResultsRowData(array($displayAttributeX), 4);
     $reportResultsRowData->addModelAndAlias($reportModelTestItem11b, 'abc');
     $model = $reportResultsRowData->getModel('attribute0');
     $this->assertEquals('2002-12-13', $model->date);
 }
 public function testResolveValueOnBaseModelAndRelatedModel()
 {
     $reportModelTestItem11 = new ReportModelTestItem11();
     $reportModelTestItem11->integer = 5;
     $currencies = Currency::getAll();
     $currencyValue = new CurrencyValue();
     $currencyValue->value = 100;
     $currencyValue->currency = $currencies[0];
     $reportModelTestItem11->amount = $currencyValue;
     $reportModelTestItem11b = new ReportModelTestItem11();
     $reportModelTestItem11b->integer = 7;
     $currencyValue = new CurrencyValue();
     $currencyValue->value = 200;
     $currencyValue->currency = $currencies[0];
     $reportModelTestItem11b->amount = $currencyValue;
     $reportModelTestItem10 = new ReportModelTestItem10();
     $reportModelTestItem10->integer = 12;
     $currencyValue = new CurrencyValue();
     $currencyValue->value = 400;
     $currencyValue->currency = $currencies[0];
     $reportModelTestItem10->currencyValue = $currencyValue;
     $reportModelTestItem10->reportModelTestItem11->add($reportModelTestItem11);
     $reportModelTestItem10->reportModelTestItem11->add($reportModelTestItem11b);
     $saved = $reportModelTestItem10->save();
     $this->assertTrue($saved);
     $displayAttributeX = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem10', Report::TYPE_ROWS_AND_COLUMNS);
     $displayAttributeX->setModelAliasUsingTableAliasName('abc');
     $displayAttributeX->attributeIndexOrDerivedType = 'reportModelTestItem11___calculated2';
     $this->assertEquals('col0', $displayAttributeX->columnAliasName);
     $displayAttributeY = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem10', Report::TYPE_ROWS_AND_COLUMNS);
     $displayAttributeY->setModelAliasUsingTableAliasName('def');
     $displayAttributeY->attributeIndexOrDerivedType = 'calculated';
     $this->assertEquals('col1', $displayAttributeY->columnAliasName);
     $reportResultsRowData = new ReportResultsRowData(array($displayAttributeX, $displayAttributeY), 4);
     $reportResultsRowData->addModelAndAlias($reportModelTestItem11b, 'abc');
     $reportResultsRowData->addModelAndAlias($reportModelTestItem10, 'def');
     //Get value for calculated which is on base model
     $value = CalculatedNumberForReportListViewColumnAdapter::resolveValue('attribute1', $reportResultsRowData);
     $this->assertEquals('$412.00', $value);
     //Get value for calculated2 which is on a relateds model
     $value = CalculatedNumberForReportListViewColumnAdapter::resolveValue('attribute0', $reportResultsRowData);
     $this->assertEquals('$207.00', $value);
 }