public void MoveOrRename_RenamesItem() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var renamingItemGrandchild = new FakeItem(path: "/sitecore/test/hulk/smash", name: "smash", id: Guid.NewGuid()); var renamingItemChild = new FakeItem(path: "/sitecore/test/hulk", name: "hulk", children: new[] { renamingItemGrandchild }, id: Guid.NewGuid()); var itemToRename = new FakeItem(path: "/sitecore/test", name: "test", children: new[] { renamingItemChild }, id: Guid.NewGuid()); var rootItem = new FakeItem(path: "/sitecore", name: "sitecore", id: Guid.NewGuid(), children: new[] { itemToRename }); dataStore.Save(rootItem); dataStore.Save(itemToRename); dataStore.Save(renamingItemChild); dataStore.Save(renamingItemGrandchild); // note adding children with old paths; method takes care of rewriting child paths var renamedItem = new FakeItem(id: itemToRename.Id, path: "/sitecore/hexed", name: "hexed", children: new[] { renamingItemChild }); dataStore.MoveOrRenameItem(renamedItem, "/sitecore/test"); var retrievedRenamedItem = dataStore.GetByPath("/sitecore/hexed", "master").ToArray(); var retrievedRenamedChild = dataStore.GetByPath("/sitecore/hexed/hulk", "master").ToArray(); var retrievedRenamedGrandchild = dataStore.GetByPath("/sitecore/hexed/hulk/smash", "master").ToArray(); Assert.NotEmpty(retrievedRenamedItem); Assert.Equal("/sitecore/hexed", retrievedRenamedItem.First().Path); // verify children moved Assert.NotEmpty(retrievedRenamedChild); Assert.NotEmpty(retrievedRenamedGrandchild); } }
public void CreateAndEditItemTest() { //setup database so we have a rood node to add our content to var homeFakeItem = new FakeItem(); Item homeItem = (Item) homeFakeItem; //Define some Field IDs TemplateID templateId = new TemplateID(ID.NewID); Item subNode; ID fieldIdA = ID.NewID; ID fieldIdB = ID.NewID; //add and edit the ite, using (new SecurityDisabler()) { subNode = homeItem.Add("SubNode", templateId); using (new EditContext(subNode)) { subNode[fieldIdA] = "test"; subNode[fieldIdB] = "testBBB"; } } subNode[fieldIdA].ShouldAllBeEquivalentTo("test"); subNode[fieldIdB].ShouldAllBeEquivalentTo("testBBB"); ; }
public void CreateAndEditItemTestMultilesubItems() { FakeDatabase database = (FakeDatabase)Factory.GetDatabase("master"); var homeItem = new FakeItem("master","homeItem"); var home = (Item)homeItem; TemplateID templateId = new TemplateID(ID.NewID); Item subNode; ID fieldIdA = ID.NewID; ID fieldIdB = ID.NewID; Item subsubnode; ID subsubNodeId; using (new SecurityDisabler()) { subNode = home.Add("SubNode", templateId); using (new EditContext(subNode)) { subNode[fieldIdA] = "test"; subNode[fieldIdB] = "testBBB"; } subsubnode = subNode.Add("SubSubNode", templateId); subsubNodeId = subsubnode.ID; } //THE master database should contain the subsubnode Item n = database.GetItem(subsubNodeId); //And the subsubnode should have inserted content n.Name.ShouldAllBeEquivalentTo("SubSubNode"); }
public void MoveOrRename_MovesItem_WhenDestinationIsParentOfSource() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var itemToMoveChild = new FakeItem(path: "/sitecore/test/hulk/smash", name: "smash", id: Guid.NewGuid()); var itemToMove = new FakeItem(path: "/sitecore/test/hulk", name: "hulk", children: new[] { itemToMoveChild }, id: Guid.NewGuid()); var parentItem = new FakeItem(path: "/sitecore/test", name: "test", children: new[] { itemToMove }, id: Guid.NewGuid()); var destinationItem = new FakeItem(path: "/sitecore", name: "sitecore", id: Guid.NewGuid(), children: new[] { parentItem }); dataStore.Save(destinationItem); dataStore.Save(parentItem); dataStore.Save(itemToMove); dataStore.Save(itemToMoveChild); // note adding children with old paths; method takes care of rewriting child paths var renamedItem = new FakeItem(id: itemToMove.Id, path: "/sitecore/hexed", name: "hexed", children: new[] { itemToMoveChild }); dataStore.MoveOrRenameItem(renamedItem, "/sitecore/test/hulk"); var retrievedRenamedItem = dataStore.GetByPath("/sitecore/hexed", "master").ToArray(); var retrievedRenamedChild = dataStore.GetByPath("/sitecore/hexed/smash", "master").ToArray(); Assert.NotEmpty(retrievedRenamedItem); Assert.Equal("/sitecore/hexed", retrievedRenamedItem.First().Path); // verify children moved Assert.NotEmpty(retrievedRenamedChild); Assert.Equal("/sitecore/hexed/smash", retrievedRenamedChild.First().Path); } }
public void FakeItemAddFieldShouldReturnField(FieldList fieldList,string fieldValue) { var fieldId = ID.NewID; fieldList.Add(fieldId,fieldValue); var fake = new FakeItem(fieldList); fake[fieldId].ShouldBeEquivalentTo(fieldValue); }
async Task concurrent_providers() { const int iterations = 100000; var tasks = Enumerable.Range(0, iterations).Select(i => { return Task.Run(() => { var options = new RedisTempDataProviderOptions() { UserProvider = new FakeTempDataUserProvider("user" + i + "@example.com"), Serializer = new NetDataContractTempDataSerializer() }; var tdp = new RedisTempDataProvider(options, GetDatabase()); var context = new ControllerContext(); var tempData = tdp.LoadTempData(context); tempData["id"] = 123; tempData["user"] = new FakeItem() { Name = "User" + i }; tdp.SaveTempData(context, tempData); tempData = tdp.LoadTempData(context); tempData["id"].ShouldEqual(123); tempData["user"].ShouldEqual(new FakeItem() { Name = "User" + i }); }); }); await Task.WhenAll(tasks); }
public void FakeItemAddChildToChildrenShouldReturnChild() { var child = new FakeItem(new FieldList()); var fake = new FakeItem(new FieldList()); fake.AddChild(child); fake.Children.First().ShouldBeEquivalentTo(child); }
public void FakeItemAddChildToChildrenChildShouldHaveParentWithId() { var child = new FakeItem(new FieldList()); var fake = new FakeItem(new FieldList()); fake.AddChild(child); fake.Children.First().ParentID.ShouldBeEquivalentTo(fake.ID); }
public void WithItemAccess_WhenCalled_SetsItemAccess() { var item = new FakeItem(); var access = Substitute.For <ItemAccess>(item.ToSitecoreItem()); item.WithItemAccess(access); item.ToSitecoreItem().Access.Should().Be(access); }
public void WithItemVersions_WhenCalled_SetsItemVersions() { var item = new FakeItem(); item.ToSitecoreItem().Versions.Should().BeNull(); item.WithItemVersions(Substitute.For <ItemVersions>(item.ToSitecoreItem())); item.ToSitecoreItem().Versions.Should().NotBeNull(); }
public void WithLanguages_WhenCalled_SetsItemLanguages(string unoLanguage, string dosLanguage) { Item item = new FakeItem().WithLanguages(new[] { unoLanguage, dosLanguage }); item.Languages .Should().HaveCount(2) .And.ContainSingle(language => language.Name == unoLanguage) .And.ContainSingle(language => language.Name == dosLanguage); }
public void DatabaseGetItemFromIdThatExistsInDatabaseShouldReturnItem() { FakeDatabase database = (FakeDatabase)Factory.GetDatabase("web"); var fakeItem = new FakeItem(new FieldList()); database.FakeAddItem(fakeItem); var demo = database.GetItem(fakeItem.ID); demo.Name.ShouldAllBeEquivalentTo("FakeItem"); }
public void ShouldRebasePathOfChildren() { var root = new FakeItem(children: new[] { new FakeItem() }, id: Guid.NewGuid()); var rebase = new PathRebasingItemData(root, "/sitecore/new", Guid.NewGuid()); rebase.GetChildren().First().Path.Should().Be("/sitecore/new/test item/test item"); rebase.GetChildren().First().ParentId.Should().Be(root.Id); }
public void FakeField_ShouldTakeLanguage_FromItem(string languageName) { var item = new FakeItem().WithLanguage(languageName).ToSitecoreItem(); Field field = new FakeField(owner: item) ; field.Language.Name.Should().Be(languageName); }
public void Save_SavesItem() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var item = new FakeItem(path: "/sitecore"); dataStore.Save(item); } }
public void FakeItemPathShouldContainFullPathParentNameChildName(string parentName, string childName) { var parent = new FakeItem(parentName); ((FakeDatabase)Factory.GetDatabase("web")).RootItem = parent; var child = new FakeItem(childName); parent.AddChild(child); var sut = (Item)child; sut.Paths.FullPath.ShouldAllBeEquivalentTo("/"+parent.Name+"/"+child.Name); }
public void FakeItemUpdateTemplateIdShouldReturnTemplateId() { ID tempalteId = ID.NewID; var parent = new FakeItem(ID.NewID, tempalteId); var sut = (Item)parent; sut.TemplateID.ShouldBeEquivalentTo(tempalteId); }
public void ShouldRebasePathOfChildren() { var root = new FakeItem(children: new[] { new FakeItem() }, id: Guid.NewGuid()); var rebase = new PathRebasingProxyItem(root, "/sitecore/new", Guid.NewGuid()); rebase.GetChildren().First().Path.Should().Be("/sitecore/new/test item/test item"); rebase.GetChildren().First().ParentId.Should().Be(root.Id); }
public void Save_SavesItem() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var item = new FakeItem(path: "/sitecore"); dataStore.Save(item); } }
public void FakeItemGetFieldFromIdShoudlReturnFieldValue(string fieldValue, FieldList fieldList) { var fieldId = ID.NewID; fieldList.Add(fieldId, fieldValue); var fake = new FakeItem(fieldList); fake[fieldId].ShouldAllBeEquivalentTo(fieldValue); }
public void Save_ErrorWhenItemNotInTree() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var item = new FakeItem(path: "/ektron"); // ReSharper disable once AccessToDisposedClosure Assert.Throws <InvalidOperationException>(() => dataStore.Save(item, null)); } }
public void AddingInvalidItemWillNotAddItemToInventory() { var item = new FakeItem(InventoryCapacity + 1); Action act = () => this.Inventory.InsertItem(item); act.Should().Throw <InventoryCapacityException>(); this.Inventory.Items.Should().BeEmpty(); }
public void Includes_IncludesSerializedItemByDatabase() { var predicate = CreateTestPredicate(CreateTestConfiguration()); // ReSharper disable once RedundantArgumentDefaultValue var item = new FakeItem(path: IncludedPath, databaseName: IncludedDatabase); var includes = predicate.Includes(item); Assert.True(includes.IsIncluded, "Include serialized item by database failed."); }
public void IsConsistent_ReturnsTrue_WhenEmpty() { var testLogger = Substitute.For <IDuplicateIdConsistencyCheckerLogger>(); var testChecker = new DuplicateIdConsistencyChecker(testLogger); var testItem = new FakeItem(ID.NewID.Guid); Assert.True(testChecker.IsConsistent(testItem)); }
public void FakesAssignFakeChildrenWithAdd() { var child = new FakeItem(new ID("{11111111-1111-1111-1111-111111111115}"), "testSub1"); var parent = new FakeItem(new ID("{030C5633-85B5-492E-BDF1-E24789A3B49B}"), "MyTest"); parent.FakeChildren.Add(child); parent.Children.Count.Should().Be(1); parent.Children[0].Should().Be(child); }
public void WithItemAxes_WhenCalled_SetsItemAxes() { var fakeItem = new FakeItem(); Item item = fakeItem; var stubItemAxes = Substitute.For <ItemAxes>(item); fakeItem.WithItemAxes(stubItemAxes); item.Axes.Should().Be(stubItemAxes); }
public void Save_ErrorWhenItemNotInTree() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var item = new FakeItem(path: "/ektron"); // ReSharper disable once AccessToDisposedClosure Assert.Throws<InvalidOperationException>(() => dataStore.Save(item)); } }
public void Constructor_WhenCalled_SetsNonEmptyID() { // Act var fakeItem = new FakeItem(); // Assert fakeItem.ID .Should().NotBeNull() .And.NotBe(ID.Null); }
public void ShouldRebasePath() { var root = new FakeItem(); var pid = Guid.NewGuid(); var rebase = new PathRebasingProxyItem(root, "/sitecore/new", pid); rebase.Path.Should().Be("/sitecore/new/test item"); rebase.ParentId.Should().Be(pid); }
public void FakeItemAddMultipleFieldShouldReturnField(FieldList fieldList, string fieldValue) { var fieldIdOne = ID.NewID; var fieldIdTwo = ID.NewID; fieldList.Add(fieldIdOne, fieldValue); fieldList.Add(fieldIdTwo, fieldValue); var fake = new FakeItem(fieldList); fake.Fields.Should().HaveCount(2); }
public void ShouldRebasePath() { var root = new FakeItem(); var pid = Guid.NewGuid(); var rebase = new PathRebasingProxyItem(root, "/sitecore/new", pid); rebase.Path.Should().Be("/sitecore/new/test item"); rebase.ParentId.Should().Be(pid); }
public void GivenAgedItemWithLifetimeAndQuality_WhenAdjustingAgedItemQuality_ThenItShouldReturnCorrectProduct() { // arrange IProduct product = new Product(_qualityAdjustment, FakeItem.Instance("Aged Brie", 10, 10)); // act IProduct actual = product.WithAdjustedQuality(); // assert actual.ToString().Should().Be("Aged Brie, 10, 11"); }
public void WithIsFallback_WhenCalled_SetsIsFallbackToConfiguredValue(bool isFallbackConfigured) { // Arrange Item item = new FakeItem().WithIsFallback(isFallbackConfigured); // Act var isFallbackActual = item.IsFallback; // Assert isFallbackActual.Should().Be(isFallbackConfigured); }
public void GivenCommonItemWithLifetimeAndQuality_WhenAdjustingAgedItemQuality_ThenItShouldNotAffectProduct() { // arrange IProduct product = new Product(_qualityAdjustment, FakeItem.Instance("Large Sack", 10, 10)); // act IProduct actual = product.WithAdjustedQuality(); // assert actual.Should().Be(product); }
public void FakeItem_WhenCastedToSitecoreItem_ReturnsItemInstance() { // Arrange var fakeItem = new FakeItem(); // Act var item = (Item)fakeItem; // Assert item.Should().NotBeNull(); }
public void GivenConjuredItemWithLifetimeAndQuality_WhenAdjustingCommonQuality_ThenItShouldNotAffectProduct() { // arrange IProduct product = new Product(_qualityAdjustment, FakeItem.Instance("Conjured Mana Cake", 5, 5)); // act IProduct actual = product.WithAdjustedQuality(); // assert actual.Should().Be(product); }
public void Dispose_DisposesItems() { var item = new FakeItem(); using (var context = CreateChainContext()) { context.Set("TestKey", item); } Assert.True(item.Disposed); }
public void FastCompare_IsNotEqual_WhenSharedFieldsAreUnequal() { var comparer = new TestItemComparer(); var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Hello") }); var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Goodbye") }); var comparison = comparer.FastCompare(sourceItem, targetItem); comparison.AreEqual.Should().BeFalse(); }
public void GivenNonConjuredItem_WhenAdjustingConjuredProductQuality_ThenItShouldNotAffectProduct() { // arrange IProduct product = new Product(_qualityAdjustment, FakeItem.Instance("Copper Ingot", 10, 10)); // act IProduct actual = product.WithAdjustedQuality(); // assert actual.Should().Be(product); }
public void GivenConjuredItem_WhenAdjustingConjuredProductQuality_ThenItShouldReturnCorrectProduct() { // arrange IProduct product = new Product(_qualityAdjustment, FakeItem.Instance("Conjured Mana Cake", 10, 10)); // act IProduct actual = product.WithAdjustedQuality(); // assert actual.ToString().Should().Be("Conjured Mana Cake, 10, 8"); }
public void GivenEventPassWithLifetimeAndQuality_WhenAdjustingCommonQuality_ThenItShouldNotAffectProduct() { // arrange IProduct product = new Product(_qualityAdjustment, FakeItem.Instance("Backstage passes to a TAFKAL80ETC concert", 10, 10)); // act IProduct actual = product.WithAdjustedQuality(); // assert actual.Should().Be(product); }
public void GivenLegendaryItemWithLifetimeAndQuality_WhenAdjustingAgedItemQuality_ThenItShouldNotAffectProduct() { // arrange IProduct product = new Product(_qualityAdjustment, FakeItem.Instance("Sulfuras, Hand of Ragnaros", -1, 40)); // act IProduct actual = product.WithAdjustedQuality(); // assert actual.Should().Be(product); }
public void GivenCommonItemWithLifetimeAndZeroQuality_WhenAdjustingCommonQuality_ThenItShouldReturnCorrectProduct() { // arrange IProduct product = new Product(_qualityAdjustment, FakeItem.Instance("Torch", 5, 0)); // act IProduct actual = product.WithAdjustedQuality(); // assert actual.ToString().Should().Be("Torch, 5, 0"); }
public void WithIsClone_WhenCalled_SetsConfiguredValue(bool isCloneConfigured) { // Arrange Item item = new FakeItem().WithIsClone(isCloneConfigured); // Act var isCloneActual = item.IsClone; // Assert isCloneActual.Should().Be(isCloneConfigured); }
public void FilteredItem_ContainsExpectedVersionedField() { Guid fieldId = Guid.NewGuid(); var filter = new TestFieldFilter(); var testItem = new FakeItem(versions: new[] { new FakeItemVersion(fields: new FakeFieldValue("Fake", fieldId: fieldId)) }); var filteredItem = new FilteredItem(testItem, filter); Assert.True(filteredItem.Versions.First().Fields.Any(field => field.FieldId == fieldId)); }
public void FilteredItem_DoesNotContainExpectedSharedField() { Guid fieldId = Guid.NewGuid(); var filter = new TestFieldFilter(fieldId); var testItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Fake", fieldId: fieldId), }); var filteredItem = new FilteredItem(testItem, filter); Assert.False(filteredItem.SharedFields.Any(field => field.FieldId == fieldId)); }
public void Save_ShouldDeserializeItem() { var deserializer = Substitute.For <IDeserializer>(); var dataStore = new SitecoreDataStore(deserializer); var item = new FakeItem(); dataStore.Save(item, null); deserializer.Received().Deserialize(item, null); }
public void FastCompare_IsNotEqual_WhenSharedFieldsAreUnequal() { var comparer = new TestItemComparer(); var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Hello") }); var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Goodbye") }); var comparison = comparer.FastCompare(sourceItem, targetItem); Assert.False(comparison.AreEqual); }
public void FilteredItem_ContainsExpectedVersionedField() { Guid fieldId = Guid.NewGuid(); var filter = new TestFieldFilter(); var testItem = new FakeItem(versions: new[] { new FakeItemVersion(fields: new FakeFieldValue("Fake", fieldId: fieldId)) }); var filteredItem = new FilteredItem(testItem, filter); Assert.True(filteredItem.Versions.First().Fields.Any(field => field.FieldId == fieldId)); }
public void FilteredItem_DoesNotContainExpectedSharedField() { Guid fieldId = Guid.NewGuid(); var filter = new TestFieldFilter(fieldId); var testItem = new FakeItem(sharedFields: new[] { new FakeFieldValue("Fake", fieldId: fieldId), }); var filteredItem = new FilteredItem(testItem, filter); Assert.False(filteredItem.SharedFields.Any(field => field.FieldId == fieldId)); }
public void ShouldNotAffectProduct() { // arrange IProduct product = new Product(_qualityAdjustment, FakeItem.Instance()); // act IProduct actual = product.WithAdjustedQuality(); // assert actual.Should().Be(product); }
public void ItemComparer_IsEqual_WhenSharedFieldIsInSourceOnly_AndValueIsEmpty() { var comparer = new TestItemComparer(); var sourceItem = new FakeItem(sharedFields: new[] { new FakeFieldValue(string.Empty) }); var targetItem = new FakeItem(); var comparison = comparer.Compare(sourceItem, targetItem); comparison.AreEqual.Should().BeTrue(); comparison.ChangedSharedFields.Length.Should().Be(0); }
public void FakeItemAddMultipleChildrenChildListShouldHaveAllChildren() { var child = new FakeItem(new FieldList()); var fake = new FakeItem(new FieldList()); fake.AddChild(child); fake.AddChild(child); fake.AddChild(child); fake.AddChild(child); fake.AddChild(child); fake.Children.Should().HaveCount(5); }
public void GetById_GetsExpectedItem() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var id = Guid.NewGuid(); var item = new FakeItem(path: "/sitecore", id:id); dataStore.Save(item); Assert.NotNull(dataStore.GetById(id, "master")); } }
public void GetById_ReturnsNull_WhenDatabaseIsIncorrect() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var id = Guid.NewGuid(); var item = new FakeItem(path: "/sitecore", id: id); dataStore.Save(item); Assert.Null(dataStore.GetById(id, "core")); } }
public void ItemComparer_IsEqual_WhenSharedFieldIsInTargetOnly_AndValueIsEmpty() { var comparer = new TestItemComparer(); var sourceItem = new FakeItem(); var targetItem = new FakeItem(sharedFields: new[] { new FakeFieldValue(string.Empty) }); var comparison = comparer.Compare(sourceItem, targetItem); Assert.True(comparison.AreEqual); Assert.Equal(0, comparison.ChangedSharedFields.Length); }
public void Clear_ClearsTree() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var item = new FakeItem(path:"/sitecore"); dataStore.Save(item); dataStore.Clear(); Assert.Empty(dataStore.GetByPath("/sitecore", "master")); } }
public void ItemTest() { var demo = new Demo(); var fieldId = demo.FieldName; const string fieldValue = "demoText"; var stubList = new FieldList {{fieldId, fieldValue}}; var fakeItem = new FakeItem(stubList); var item = fakeItem; demo.GetField(item).ShouldAllBeEquivalentTo(fieldValue); }
public void GetByPathAndId_RetrievesItemByMetadataPath() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var item = new FakeItem(path: "/sitecore", name: "sitecore", id: Guid.NewGuid()); dataStore.Save(item); var retrieved = dataStore.GetByPathAndId(item.Path, item.Id, "master"); Assert.NotNull(retrieved); Assert.Equal("/sitecore", retrieved.Path); } }
public void GetByPath_RetrievesItemByPath() { using (var dataStore = new TestSfsDataStore("/sitecore")) { var item = new FakeItem(path: "/sitecore", name: "sitecore"); dataStore.Save(item); var retrieved = dataStore.GetByPath("/sitecore", "master").ToArray(); Assert.NotEmpty(retrieved); Assert.Equal("/sitecore", retrieved.First().Path); } }