public function testProcessStatusAndMessagesForEachRow() { Yii::app()->user->userModel = User::getByUsername('super'); $import = new Import(); $serializedData['importRulesType'] = 'ImportModelTestItem'; $import->serializedData = serialize($serializedData); $this->assertTrue($import->save()); $testTableName = $import->getTempTableName(); $this->assertTrue(ImportTestHelper::createTempTableByFileNameAndTableName('importTest.csv', $testTableName)); $count = ImportDatabaseUtil::getCount($testTableName); $this->assertEquals(5, $count); //Now add import results. $resultsUtil = new ImportResultsUtil($import); $rowDataResultsUtil = new ImportRowDataResultsUtil(2); $rowDataResultsUtil->setStatusToUpdated(); $rowDataResultsUtil->addMessage('the first message'); $resultsUtil->addRowDataResults($rowDataResultsUtil); $rowDataResultsUtil = new ImportRowDataResultsUtil(3); $rowDataResultsUtil->setStatusToCreated(); $rowDataResultsUtil->addMessage('the second message'); $resultsUtil->addRowDataResults($rowDataResultsUtil); $rowDataResultsUtil = new ImportRowDataResultsUtil(4); $rowDataResultsUtil->setStatusToError(); $rowDataResultsUtil->addMessage('the third message'); $resultsUtil->addRowDataResults($rowDataResultsUtil); $resultsUtil->processStatusAndMessagesForEachRow(); $sql = 'select * from ' . $testTableName . ' where id != 1'; $tempTableData = R::getAll($sql); $compareData = array(array('id' => 2, 'column_0' => 'abc', 'column_1' => '123', 'column_2' => 'a', 'status' => 1, 'serializedmessages' => serialize(array('the first message'))), array('id' => 3, 'column_0' => 'def', 'column_1' => '563', 'column_2' => 'b', 'status' => 2, 'serializedmessages' => serialize(array('the second message'))), array('id' => 4, 'column_0' => 'efg', 'column_1' => '456', 'column_2' => 'a', 'status' => 3, 'serializedmessages' => serialize(array('the third message'))), array('id' => 5, 'column_0' => 'we1s', 'column_1' => null, 'column_2' => 'b', 'status' => null, 'serializedmessages' => null)); $this->assertEquals($compareData, $tempTableData); }