mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Adding a test case for DraftRequired version option building new version of the content
This commit is contained in:
@@ -471,6 +471,46 @@ namespace Orchard.Tests.ContentManagement {
|
|||||||
Assert.That(gamma2.Record.Versions, Has.Count.EqualTo(2));
|
Assert.That(gamma2.Record.Versions, Has.Count.EqualTo(2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void DraftRequiredShouldAlwaysBuildNewVersionFromPublishedIfDraftNotFound()
|
||||||
|
{
|
||||||
|
Trace.WriteLine("gamma1");
|
||||||
|
var gamma1 = _manager.Create(DefaultGammaName, VersionOptions.Published);
|
||||||
|
Trace.WriteLine("flush");
|
||||||
|
_session.Flush();
|
||||||
|
_session.Clear();
|
||||||
|
|
||||||
|
Trace.WriteLine("gammaDraft1");
|
||||||
|
var gammaDraft1 = _manager.Get(gamma1.Id, VersionOptions.DraftRequired);
|
||||||
|
Assert.That(gammaDraft1.Version, Is.EqualTo(2));
|
||||||
|
Trace.WriteLine("flush");
|
||||||
|
_session.Flush();
|
||||||
|
_session.Clear();
|
||||||
|
|
||||||
|
Trace.WriteLine("Delete gammaDraft1");
|
||||||
|
var gammaDraft2 = _manager.Get(gammaDraft1.Id, VersionOptions.Draft);
|
||||||
|
gammaDraft2.VersionRecord.Latest = false;
|
||||||
|
|
||||||
|
Trace.WriteLine("Restore gamma1 as Latest");
|
||||||
|
var gamma2 = _manager.Get(gamma1.Id, VersionOptions.Published);
|
||||||
|
var publishedVersion = gamma2.Record.Versions.SingleOrDefault(x => x.Published);
|
||||||
|
if (publishedVersion != null)
|
||||||
|
{
|
||||||
|
publishedVersion.Latest = true;
|
||||||
|
}
|
||||||
|
Trace.WriteLine("flush");
|
||||||
|
_session.Flush();
|
||||||
|
_session.Clear();
|
||||||
|
|
||||||
|
Trace.WriteLine("gammaDraft3");
|
||||||
|
var gammaDraft3 = _manager.Get(gamma1.Id, VersionOptions.DraftRequired);
|
||||||
|
Assert.That(gammaDraft3.Version, Is.EqualTo(3));
|
||||||
|
Assert.That(gammaDraft3.Record, Is.Not.SameAs(gammaDraft2.Record));
|
||||||
|
Trace.WriteLine("flush");
|
||||||
|
_session.Flush();
|
||||||
|
_session.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void UsingGetManyDraftRequiredShouldBuildNewVersionIfLatestIsAlreadyPublished() {
|
public void UsingGetManyDraftRequiredShouldBuildNewVersionIfLatestIsAlreadyPublished() {
|
||||||
Trace.WriteLine("gamma1");
|
Trace.WriteLine("gamma1");
|
||||||
|
|||||||
Reference in New Issue
Block a user