Fix GetVersionsSlim

This commit is contained in:
Stephan
2018-10-22 18:21:00 +02:00
parent f46b7ca7b1
commit d2cfe8f3b9
2 changed files with 26 additions and 10 deletions

View File

@@ -966,17 +966,17 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
if (templateId.HasValue && templateId.Value > 0)
templateIds.Add(templateId.Value);
}
// need properties
var versionId = dto.DocumentVersionDto.Id;
var publishedVersionId = dto.Published ? dto.PublishedVersionDto.Id : 0;
var temp = new TempContent<Content>(dto.NodeId, versionId, publishedVersionId, contentType, c)
{
Template1Id = dto.DocumentVersionDto.TemplateId
};
if (dto.Published) temp.Template2Id = dto.PublishedVersionDto.TemplateId;
temps.Add(temp);
}
// need temps, for properties, templates and variations
var versionId = dto.DocumentVersionDto.Id;
var publishedVersionId = dto.Published ? dto.PublishedVersionDto.Id : 0;
var temp = new TempContent<Content>(dto.NodeId, versionId, publishedVersionId, contentType, c)
{
Template1Id = dto.DocumentVersionDto.TemplateId
};
if (dto.Published) temp.Template2Id = dto.PublishedVersionDto.TemplateId;
temps.Add(temp);
}
if (!slim)

View File

@@ -2330,6 +2330,22 @@ namespace Umbraco.Tests.Services
}
Console.WriteLine("-");
var versionsSlim = ServiceContext.ContentService.GetVersionsSlim(page.Id, 0, 50).ToArray();
Assert.AreEqual(5, versionsSlim.Length);
for (var i = 0; i < 5; i++)
{
Console.Write("[{0}] ", i);
Console.WriteLine(versionsSlim[i].UpdateDate.ToString("O").Substring(11));
Console.WriteLine(" fr: {0}", versionsSlim[i].GetUpdateDate("fr")?.ToString("O").Substring(11));
Console.WriteLine(" da: {0}", versionsSlim[i].GetUpdateDate("da")?.ToString("O").Substring(11));
}
Console.WriteLine("-");
// what we do in the controller to get rollback versions
var versionsSlimFr = versionsSlim.Where(x => x.UpdateDate == x.GetUpdateDate("fr")).ToArray();
Assert.AreEqual(3, versionsSlimFr.Length);
// alas, at the moment we do *not* properly track 'dirty' for cultures, meaning
// that we cannot synchronize dates the way we do with publish dates - and so this
// would fail - the version UpdateDate is greater than the cultures'.