public void ShouldFieldValuesBeSorted() { var version = new CustomSerialization.Domain.Version(); Guid guid1 = new Guid("f11cd74b-099b-48c6-aaed-44927164e9e7"); version.FieldValues.Add(new FieldValue() { Id = guid1 }); Guid guid2 = new Guid("62e71efe-bcc8-48dc-9868-4dd2fdbfc2dc"); version.FieldValues.Add(new FieldValue() { Id = guid2 }); Guid guid3 = new Guid("6aa71741-aaf7-4fef-97ad-6148e3a5c076"); version.FieldValues.Add(new FieldValue() { Id = guid3 }); version.FieldValues.Select(c => c.Id).ShouldBeEquivalentTo(new[] { guid2, guid3, guid1 }, options => options.WithStrictOrdering()); }
public void ShouldUpdateItemFile() { DbField sharedField = new DbField("sharedfield") { Shared = true, Value = "sharedfieldvalue" }; DbField fieldInEnglishV1 = new DbField("env1field") { { "en", 1, "env1fieldvalue" } }; DbField fieldInEnglishV2 = new DbField("env2field") { { "en", 2, "env2fieldvalue" } }; DbField fieldInDutchV1 = new DbField("nlv1field") { { "nl", 1, "nlv1fieldvalue" } }; DbItem it = new DbItem("it") { sharedField, fieldInEnglishV1, fieldInEnglishV2, fieldInDutchV1 }; using (var db = new Db() { it }) { ItemFile itemFile = new ItemFile(); SerializationManager serializationManager = new SerializationManager(); serializationManager.UpdateItemFile(itemFile, db.GetItem(it.ID)); itemFile.Id.ShouldBeEquivalentTo(it.ID.ToGuid()); itemFile.Name.ShouldBeEquivalentTo("it"); itemFile.TemplateId.ShouldBeEquivalentTo(it.TemplateID.ToGuid()); itemFile.BranchId.ShouldBeEquivalentTo(it.BranchId); itemFile.Languages.Count.ShouldBeEquivalentTo(2); itemFile.Languages.First().LanguageName.ShouldBeEquivalentTo("en"); itemFile.Languages.First().Versions.Count.ShouldBeEquivalentTo(2); CustomSerialization.Domain.Version englishVersion1 = itemFile.Languages.First().Versions.First(); englishVersion1.VersionNumber.ShouldBeEquivalentTo(1); englishVersion1.FieldValues.Should().NotBeEmpty(); FieldValue fieldValue = englishVersion1.FieldValues.FirstOrDefault(f => f.Id == fieldInEnglishV1.ID.ToGuid()); fieldValue.Should().NotBeNull(); fieldValue.Value.ShouldBeEquivalentTo("env1fieldvalue"); } }
public void ShouldLoadItemIntoSitecore() { DbTemplate dbTemplate = new DbTemplate("tmpl"); DbItem dbItem = new DbItem("it", ID.NewID, dbTemplate.ID); using (var db = new Db() { dbTemplate, dbItem }) { ItemFile itemFile = new ItemFile() { TemplateId = dbTemplate.ID.ToGuid(), BranchId = ID.NewID.ToGuid(), Id = dbItem.ID.ToGuid(), Name = "it" }; itemFile.SharedFieldValues.Add(new FieldValue() { Id = FieldIDs.ReadOnly.ToGuid(), Value = "1" }); Language language = new Language() { LanguageName = "en", }; itemFile.Languages.Add(language); var version = new CustomSerialization.Domain.Version() { VersionNumber = 1 }; language.Versions.Add(version); version.FieldValues.Add(new FieldValue() { Id = FieldIDs.Lock.ToGuid(), Value = "<r />" }); new SerializationManager().LoadItemIntoSitecore(itemFile, db.GetItem(dbItem.ID), false); Item item = db.GetItem(dbItem.ID); item.Should().NotBeNull(); item[FieldIDs.ReadOnly].ShouldBeEquivalentTo("1"); item[FieldIDs.Lock].ShouldBeEquivalentTo("<r />"); } }