diff --git a/tests/bundle/Command/GatewayTest.php b/tests/bundle/Command/GatewayTest.php index 1b7c4833..2145fe4a 100644 --- a/tests/bundle/Command/GatewayTest.php +++ b/tests/bundle/Command/GatewayTest.php @@ -351,13 +351,21 @@ public function testUpdateFieldRow($dryRun, $id, $version, $datatext) if ($dryRun) { $this->assertEquals($originalRows, $updatedRows, 'Rows should not have been updated by updateFieldRow()'); } else { - foreach ($updatedRows as $key => $row) { - if ($row['id'] == $id && $row['version'] == $version) { - $this->assertEquals($datatext, $row['data_text'], 'data_text not updated correctly'); - $this->assertEquals('ezrichtext', $row['data_type_string'], 'data_type_string not updated correctly'); - } else { - $this->assertEquals($originalRows[$key], $row, 'Row should not have been updated by updateFieldRow()'); + foreach ($originalRows as $key => $expectedRow) { + if ($expectedRow['id'] == $id && $expectedRow['version'] == $version) { + $expectedRow['data_text'] = $datatext; + $expectedRow['data_type_string'] = 'ezrichtext'; } + + $rowFound = false; + foreach ($updatedRows as $updatedRow) { + if ($expectedRow['id'] == $updatedRow['id'] && $expectedRow['version'] == $updatedRow['version'] && $expectedRow['language_code'] == $updatedRow['language_code']) { + $this->assertEquals($expectedRow, $updatedRow, 'Table row is not correct'); + $rowFound = true; + break; + } + } + $this->assertTrue($rowFound, "Row seems to have disappeared from db where id=$id and version=$version"); } } } @@ -473,14 +481,23 @@ public function testUpdateContentObjectAttribute($xml, $objectId, $attributeId, $gatewayService->updateContentObjectAttribute($xml, $objectId, $attributeId, $version, $language); $updatedRows = $this->getAllFieldRows(); - foreach ($updatedRows as $key => $row) { - if ($row['contentobject_id'] == $objectId && $row['id'] == $attributeId && $row['version'] == $version && $row['language_code'] == $language) { - $expectedRow = $originalRows[$key]; + foreach ($originalRows as $key => $expectedRow) { + if ($expectedRow['contentobject_id'] == $objectId + && $expectedRow['id'] == $attributeId + && $expectedRow['version'] == $version + && $expectedRow['language_code'] == $language) { $expectedRow['data_text'] = $xml; - $this->assertEquals($expectedRow, $row, 'Field attribute not updated correctly'); - } else { - $this->assertEquals($originalRows[$key], $row, 'Row should not have been updated by updateFieldRow()'); } + + $rowFound = false; + foreach ($updatedRows as $updatedRow) { + if ($expectedRow['contentobject_id'] == $updatedRow['contentobject_id'] && $expectedRow['id'] == $updatedRow['id'] && $expectedRow['version'] == $updatedRow['version'] && $expectedRow['language_code'] == $updatedRow['language_code']) { + $this->assertEquals($expectedRow, $updatedRow, 'Table row is not correct'); + $rowFound = true; + break; + } + } + $this->assertTrue($rowFound, "Row seems to have disappeared from db where id=$objectId and version=$version"); } }