mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-06-29 07:59:31 +02:00
MINOR: Add a Versioned test for #6680
It turns out that cascaded query params as described in #6680 were already implemented; this test confirms that.
This commit is contained in:
parent
966e98529c
commit
5ea238c58b
|
@ -1020,6 +1020,35 @@ class VersionedTest extends SapphireTest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test that that stage a record was queried from cascades to child relations, even if the
|
||||||
|
* global stage has changed
|
||||||
|
*/
|
||||||
|
public function testStageCascadeOnRelations()
|
||||||
|
{
|
||||||
|
$origReadingMode = Versioned::get_reading_mode();
|
||||||
|
|
||||||
|
// Stage record - 2 children
|
||||||
|
Versioned::set_stage(Versioned::DRAFT);
|
||||||
|
$draftPage = $this->objFromFixture(VersionedTest\TestObject::class, 'page2');
|
||||||
|
$draftPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
|
||||||
|
$this->assertEquals(2, $draftPage->Children()->Count());
|
||||||
|
|
||||||
|
// Live record - no children
|
||||||
|
Versioned::set_stage(Versioned::LIVE);
|
||||||
|
$livePage = $this->objFromFixture(VersionedTest\TestObject::class, 'page2');
|
||||||
|
$this->assertEquals(0, $livePage->Children()->Count());
|
||||||
|
|
||||||
|
// Validate that draft page still queries draft children even though global stage is live
|
||||||
|
$this->assertEquals(2, $draftPage->Children()->Count());
|
||||||
|
|
||||||
|
// Validate that live page still queries live children even though global stage is live
|
||||||
|
Versioned::set_stage(Versioned::DRAFT);
|
||||||
|
$this->assertEquals(0, $livePage->Children()->Count());
|
||||||
|
|
||||||
|
Versioned::set_reading_mode($origReadingMode);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests that multi-table dataobjects are correctly versioned
|
* Tests that multi-table dataobjects are correctly versioned
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user