2017-08-02 1 views
2

sitecore fakedbを使用してレイアウトフィールドを作成するにはどうすればよいですか?私は以下のコードを持っていますが、動作しません。sitecorefakedbでレイアウトフィールドを作成するには?

[TestCase] 
public void FooLayout() 
{ 
    // arrange 
    var itemId = ID.NewID; 
    using (var db = new Db 
    { 
     new DbItem("Some Item", itemId) 
     { 
      new DbField(Sitecore.FieldIDs.LayoutField) { Value = "{presentation-xml}" } 
     } 
    }) 
    { 
     var item = db.GetItem(itemId); 
     // act 
     // assert 
     item[Sitecore.FieldIDs.LayoutField].Should().Be("{presentation-xml}"); 
    } 
} 

注::。()メソッドが来る)(あるべき

は、以下のコードは、そのような

var template = new Sitecore.FakeDb.DbTemplate("themes", Templates.SiteTheme.ID); 

       var home = new Sitecore.FakeDb.DbItem("home", new Sitecore.Data.ID());     

       var lookUpField = new Sitecore.FakeDb.DbField("link", Templates.SiteTheme.Fields.SiteTheme) { 
        Type = "Rendering" 
       }; 

       lookUpField.Value = home.ID.ToString(); 

       var site = new Sitecore.FakeDb.DbItem("site", new Sitecore.Data.ID(), Theming.Templates.SiteTheme.ID) { 
        lookUpField 
       };   

       home.Add(site); 

       db.Add(home);     

       var themesItem = db.GetItem("/sitecore/content/home/site"); 

       var layout = new LayoutField(themesItem.Fields["link"]); 

       var value = layout.Value; 

       Xunit.Assert.NotNull(value); 

答えて

関連する問題