public void AddLayoutValue_WithSameFieldInDifferentDatabases_AddsEntriesForBoth() { // Arrange var cache = new BaseLayoutValueCache(TestUtil.CreateFakeSettings()) { Enabled = true }; cache.Clear(); var id = new ID(); var masterField = MasterFakesFactory.CreateFakeLayoutField(id); Field webField; using (var webDb = new Db("web")) { var webFakesFactory = new FakesFactory(webDb); webField = webFakesFactory.CreateFakeLayoutField(id); } // Act cache.AddLayoutValue(masterField.Item, masterField.Value); cache.AddLayoutValue(webField.Item, webField.Value); // Assert Assert.Equal(2, cache.InnerCache.Count); }
public void ProcessItemUpdate_WithEntriesInDifferentDatabases_OnlyRemovesEntryForMatchingDatabase() { // Arrange var cache = new BaseLayoutValueCache(TestUtil.CreateFakeSettings(new[] { "master" })) { Enabled = true }; cache.Clear(); var id = new ID(); var masterField = MasterFakesFactory.CreateFakeLayoutField(id); Field webField; using (var webDb = new Db("web")) { var webFakesFactory = new FakesFactory(webDb); webField = webFakesFactory.CreateFakeLayoutField(id); } cache.AddLayoutValue(masterField.Item, masterField.Value); cache.AddLayoutValue(webField.Item, webField.Value); // Act cache.ProcessItemUpdate(masterField.Item); // Assert Assert.Null(cache.GetLayoutValue(masterField.Item)); Assert.Equal(1, cache.InnerCache.Count); }
public void ProcessItemUpdate_WithStandardValuesItem_RemovesAllEntriesForMatchingDatabase() { // Arrange var cache = new BaseLayoutValueCache(TestUtil.CreateFakeSettings(new[] { "master" })) { Enabled = true }; cache.Clear(); for (var i = 0; i < 3; i++) { var masterField = MasterFakesFactory.CreateFakeLayoutField(); cache.AddLayoutValue(masterField.Item, masterField.Value); } using (var webDb = new Db("web")) { var webFakesFactory = new FakesFactory(webDb); for (var i = 0; i < 3; i++) { var webField = webFakesFactory.CreateFakeLayoutField(); cache.AddLayoutValue(webField.Item, webField.Value); } } var tid = new ID(); MasterDb.Add(new DbTemplate("Test", tid) { Fields = { { "Title", "$name" } }, Children = { new DbItem("__Standard Values", new ID(), tid) } }); var standardValues = MasterDb.GetItem("/sitecore/templates/Test/__Standard Values"); // Act cache.ProcessItemUpdate(standardValues); // Assert Assert.Equal(3, cache.InnerCache.Count); Assert.Equal(0, cache.InnerCache.GetCacheKeys("master:").Count); }
public void AddLayoutValue_WithSameFieldInDifferentDatabases_AddsEntriesForBoth() { // Arrange var cache = new BaseLayoutValueCache(TestUtil.CreateFakeSettings()) {Enabled = true}; cache.Clear(); var id = new ID(); var masterField = MasterFakesFactory.CreateFakeLayoutField(id); Field webField; using (var webDb = new Db("web")) { var webFakesFactory = new FakesFactory(webDb); webField = webFakesFactory.CreateFakeLayoutField(id); } // Act cache.AddLayoutValue(masterField.Item, masterField.Value); cache.AddLayoutValue(webField.Item, webField.Value); // Assert Assert.Equal(2, cache.InnerCache.Count); }
public void ProcessItemUpdate_WithStandardValuesItem_RemovesAllEntriesForMatchingDatabase() { // Arrange var cache = new BaseLayoutValueCache(TestUtil.CreateFakeSettings(new[] {"master"})) {Enabled = true}; cache.Clear(); for (var i = 0; i < 3; i++) { var masterField = MasterFakesFactory.CreateFakeLayoutField(); cache.AddLayoutValue(masterField.Item, masterField.Value); } using (var webDb = new Db("web")) { var webFakesFactory = new FakesFactory(webDb); for (var i = 0; i < 3; i++) { var webField = webFakesFactory.CreateFakeLayoutField(); cache.AddLayoutValue(webField.Item, webField.Value); } } var tid = new ID(); MasterDb.Add(new DbTemplate("Test", tid) { Fields = {{"Title", "$name"}}, Children = {new DbItem("__Standard Values", new ID(), tid)} }); var standardValues = MasterDb.GetItem("/sitecore/templates/Test/__Standard Values"); // Act cache.ProcessItemUpdate(standardValues); // Assert Assert.Equal(3, cache.InnerCache.Count); Assert.Equal(0, cache.InnerCache.GetCacheKeys("master:").Count); }
public void ProcessItemUpdate_WithEntriesInDifferentDatabases_OnlyRemovesEntryForMatchingDatabase() { // Arrange var cache = new BaseLayoutValueCache(TestUtil.CreateFakeSettings(new[] {"master"})) {Enabled = true}; cache.Clear(); var id = new ID(); var masterField = MasterFakesFactory.CreateFakeLayoutField(id); Field webField; using (var webDb = new Db("web")) { var webFakesFactory = new FakesFactory(webDb); webField = webFakesFactory.CreateFakeLayoutField(id); } cache.AddLayoutValue(masterField.Item, masterField.Value); cache.AddLayoutValue(webField.Item, webField.Value); // Act cache.ProcessItemUpdate(masterField.Item); // Assert Assert.Null(cache.GetLayoutValue(masterField.Item)); Assert.Equal(1, cache.InnerCache.Count); }