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); }