public void CategoryNode_copying_fails_if_category_name_already_exists(string initialName, string destinationName, string resultName) { // ARRANGE this.ArrangeSubCategory(out var rootCategory, out var subCategory); this.CategoryRepositoryMock .Setup(r => r.Root()) .Returns(rootCategory); this.ProviderContextMock .Setup(p => p.Persistence) .Returns(this.PersistenceMock.Object); this.PersistenceMock .Setup(p => p.Categories) .Returns(this.CategoryRepositoryMock.Object); this.CategoryRepositoryMock .Setup(r => r.FindByParentAndName(rootCategory, resultName)) .Returns(DefaultCategory()); var entitiesNode = new EntitiesNode(); var category = DefaultCategory(c => subCategory.AddSubCategory(c)); var node = new CategoryNode(category); // ACT var result = Assert.Throws <InvalidOperationException>( () => node.CopyItem(this.ProviderContextMock.Object, initialName, destinationName, entitiesNode)); // ASSERTS Assert.Equal($"Destination container contains already a category with name '{resultName}'", result.Message); }
public void CategoryNode_copying_rejects_invalid_name_chararcters(char invalidChar) { // ARRANGE var category = DefaultCategory(c => c.Name = "c"); var invalidName = new string("p".ToCharArray().Append(invalidChar).ToArray()); var entitiesNode = new EntitiesNode(); var node = new CategoryNode(category); // ACT var result = Assert.Throws <InvalidOperationException>(() => node.CopyItem(this.ProviderContextMock.Object, "c", invalidName, entitiesNode)); // ASSERT Assert.Equal($"category(name='{invalidName}' wasn't created: it contains invalid characters", result.Message); }