public void GetContentFunctions_WhenLanguageIsIncorrect_ShouldCheckParentLanguage() { // Arrange var subject = new ContentMap(); var nestedFunction = new ComposerContentFunction { Guid = Guid.NewGuid(), Language = DefaultLanguage }; var layoutFunction = new ComposerContentFunction { Guid = Guid.NewGuid(), Language = DefaultLanguage, ContentAreas = { new ComposerContentArea { Name = DefaultAreaName, ContentFunctions ={ nestedFunction } } } }; var page = new ComposerPage { Guid = Guid.NewGuid(), Language = "sv", ContentAreas = { new ComposerContentArea { Name = DefaultAreaName, ContentFunctions ={ layoutFunction } } } }; subject.AddPage(page); // Act var result = subject.GetContentFunctions(layoutFunction.Guid, DefaultLanguage)[DefaultAreaName]; // Assert Assert.AreEqual(1, result.Count()); Assert.IsTrue(result.Any(b => b.Guid == nestedFunction.Guid)); }
public void GetContentFunctions_WhenContentHasFunction_ShouldReturnLookupWithAnyFunction() { // Arrange var subject = new ContentMap(); var function = new ComposerContentFunction { Guid = Guid.NewGuid() }; var page = new ComposerPage { Guid = Guid.NewGuid(), Language = DefaultLanguage, ContentAreas = { new ComposerContentArea { Name = DefaultAreaName, ContentFunctions ={ function } } } }; subject.AddPage(page); // Act var result = subject.GetContentFunctions(page.Guid, page.Language)[DefaultAreaName]; // Assert Assert.AreEqual(1, result.Count()); Assert.IsTrue(result.Any(b => b.Guid == function.Guid)); }
public void GetContentFunctions_WhenContentDoesntHaveAnyFunctions_ShouldReturnEmptyLookup() { // Arrange var subject = new ContentMap(); var composerPage = new ComposerPage { Guid = Guid.NewGuid(), Language = DefaultLanguage }; subject.AddPage(composerPage); // Act var result = subject.GetContentFunctions(composerPage.Guid, composerPage.Language); // Assert Assert.IsFalse(result.Any()); }
public void RestructurePersonalization_ShouldSetTheSamePersonalizationGroupOnAllFunctions() { // Arrange var subject = new ContentMap(); var sourceFunctions = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() }; var containerGuid = Guid.NewGuid(); var page = CreatePersonalizedComposerPage(containerGuid, sourceFunctions); subject.AddPage(page); subject.AddPersonalisationContainer(containerGuid); // Act subject.RestructurePersonalization(); // Assert var restructuredFunctions = subject.GetContentFunctions(page.Guid, DefaultLanguage).Single().ToArray(); Assert.IsTrue(restructuredFunctions.Skip(1).All(b => b.PersonalizationGroup == restructuredFunctions[0].PersonalizationGroup)); }
public void RestructurePersonalization_ShouldMovePersonalizedFunctionsToContainerParent() { // Arrange var subject = new ContentMap(); var sourceFunctions = new[] { Guid.NewGuid(), Guid.NewGuid() }; var containerGuid = Guid.NewGuid(); var page = CreatePersonalizedComposerPage(containerGuid, sourceFunctions); subject.AddPage(page); subject.AddPersonalisationContainer(containerGuid); // Act subject.RestructurePersonalization(); // Assert var restructuredFunctions = subject.GetContentFunctions(page.Guid, DefaultLanguage).Single().ToList(); Assert.AreEqual(2, restructuredFunctions.Count()); Assert.AreEqual(sourceFunctions[0], restructuredFunctions[0].Guid); Assert.AreEqual(sourceFunctions[1], restructuredFunctions[1].Guid); }
public void GetContentFunctions_WhenContentHasAreaWithoutFunctions_ShouldReturnLookupWithoutFunctions() { // Arrange var subject = new ContentMap(); var page = new ComposerPage { Guid = Guid.NewGuid(), Language = DefaultLanguage, ContentAreas = { new ComposerContentArea { Name = DefaultAreaName } } }; subject.AddPage(page); // Act var result = subject.GetContentFunctions(page.Guid, page.Language)[DefaultAreaName]; // Assert Assert.IsFalse(result.Any()); }
public void GetContentFunctions_WhenContentAreaDoesNotExist_ShouldReturnLookupWithoutFunctions() { // Arrange var subject = new ContentMap(); var areaName = "Area54"; var page = new ComposerPage { Guid = Guid.NewGuid(), Language = DefaultLanguage, ContentAreas = { new ComposerContentArea { Name = DefaultAreaName } } }; subject.AddPage(page); // Act var result = subject.GetContentFunctions(page.Guid, page.Language)[areaName]; // Assert Assert.IsFalse(result.Any()); }
public void RestructurePersonalization_ShouldSetTheSamePersonalizationGroupOnAllFunctions() { // Arrange var subject = new ContentMap(); var sourceFunctions = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() }; var containerGuid = Guid.NewGuid(); var page = CreatePersonalizedComposerPage(containerGuid, sourceFunctions); subject.AddPage(page); subject.AddPersonalisationContainer(containerGuid); // Act subject.RestructurePersonalization(); // Assert var restructuredFunctions = subject.GetContentFunctions(page.Guid, DefaultLanguage).Single().ToArray(); Assert.IsTrue(restructuredFunctions.Skip(1).All(b => b.PersonalizationGroup == restructuredFunctions[0].PersonalizationGroup)); }
public void RestructurePersonalization_ShouldMovePersonalizedFunctionsToContainerParent() { // Arrange var subject = new ContentMap(); var sourceFunctions = new[] { Guid.NewGuid(), Guid.NewGuid() }; var containerGuid = Guid.NewGuid(); var page = CreatePersonalizedComposerPage(containerGuid, sourceFunctions); subject.AddPage(page); subject.AddPersonalisationContainer(containerGuid); // Act subject.RestructurePersonalization(); // Assert var restructuredFunctions = subject.GetContentFunctions(page.Guid, DefaultLanguage).Single().ToList(); Assert.AreEqual(2, restructuredFunctions.Count()); Assert.AreEqual(sourceFunctions[0], restructuredFunctions[0].Guid); Assert.AreEqual(sourceFunctions[1], restructuredFunctions[1].Guid); }
public void GetContentFunctions_WhenLanguageIsIncorrect_ShouldCheckParentLanguage() { // Arrange var subject = new ContentMap(); var nestedFunction = new ComposerContentFunction { Guid = Guid.NewGuid(), Language = DefaultLanguage }; var layoutFunction = new ComposerContentFunction { Guid = Guid.NewGuid(), Language = DefaultLanguage, ContentAreas = { new ComposerContentArea { Name = DefaultAreaName, ContentFunctions = { nestedFunction } } } }; var page = new ComposerPage { Guid = Guid.NewGuid(), Language = "sv", ContentAreas = { new ComposerContentArea { Name = DefaultAreaName, ContentFunctions = { layoutFunction } } } }; subject.AddPage(page); // Act var result = subject.GetContentFunctions(layoutFunction.Guid, DefaultLanguage)[DefaultAreaName]; // Assert Assert.AreEqual(1, result.Count()); Assert.IsTrue(result.Any(b => b.Guid == nestedFunction.Guid)); }
public void GetContentFunctions_WhenContentHasFunction_ShouldReturnLookupWithAnyFunction() { // Arrange var subject = new ContentMap(); var function = new ComposerContentFunction { Guid = Guid.NewGuid() }; var page = new ComposerPage { Guid = Guid.NewGuid(), Language = DefaultLanguage, ContentAreas = { new ComposerContentArea { Name = DefaultAreaName, ContentFunctions = { function } } } }; subject.AddPage(page); // Act var result = subject.GetContentFunctions(page.Guid, page.Language)[DefaultAreaName]; // Assert Assert.AreEqual(1, result.Count()); Assert.IsTrue(result.Any(b => b.Guid == function.Guid)); }
public void GetContentFunctions_WhenContentDoesntHaveAnyFunctions_ShouldReturnEmptyLookup() { // Arrange var subject = new ContentMap(); var composerPage = new ComposerPage { Guid = Guid.NewGuid(), Language = DefaultLanguage }; subject.AddPage(composerPage); // Act var result = subject.GetContentFunctions(composerPage.Guid, composerPage.Language); // Assert Assert.IsFalse(result.Any()); }