public function testArchiveRelatedDataWithoutVersioned() { SS_Datetime::set_mock_now('2009-01-01 00:00:00'); $relatedData = new VersionedTest_RelatedWithoutVersion(); $relatedData->Name = 'Related Data'; $relatedDataId = $relatedData->write(); $testData = new VersionedTest_DataObject(); $testData->Title = 'Test'; $testData->Content = 'Before Content'; $testData->Related()->add($relatedData); $id = $testData->write(); SS_Datetime::set_mock_now('2010-01-01 00:00:00'); $testData->Content = 'After Content'; $testData->write(); Versioned::reading_archived_date('2009-01-01 19:00:00'); $fetchedData = VersionedTest_DataObject::get()->byId($id); $this->assertEquals('Before Content', $fetchedData->Content, 'We see the correct content of the older version'); $relatedData = VersionedTest_RelatedWithoutVersion::get()->byId($relatedDataId); $this->assertEquals(1, $relatedData->Related()->count(), 'We have a relation, with no version table, querying it still works'); }
public function testVersionedHandlesRenamedDataObjectFields() { Config::inst()->remove('VersionedTest_RelatedWithoutVersion', 'db', 'Name', 'Varchar'); Config::inst()->update('VersionedTest_RelatedWithoutVersion', 'db', array("NewField" => "Varchar")); VersionedTest_RelatedWithoutVersion::add_extension("Versioned('Stage', 'Live')"); $this->resetDBSchema(true); $testData = new VersionedTest_RelatedWithoutVersion(); $testData->NewField = 'Test'; $testData->write(); }