public void EntityNode_copying_rejects_invalid_name_chararcters(char invalidChar) { // ARRANGE var entity = DefaultEntity(WithAssignedDefaultTag, WithEntityCategory(DefaultCategory())); var entityContainer = new EntitiesNode(); var invalidName = new string("p".ToCharArray().Append(invalidChar).ToArray()); var node = new EntityNode(entity); // ACT var result = Assert.Throws <InvalidOperationException>(() => node.CopyItem(this.ProviderContextMock.Object, "e", invalidName, entityContainer)); // ASSERT Assert.Equal($"entity(name='{invalidName}' wasn't copied: it contains invalid characters", result.Message); }
public void EntityNode_copying_rejects_category_if_entity_name_already_exists(string initialName, string destinationName, string resultName) { // ARRANGE this.ProviderContextMock .Setup(p => p.Persistence) .Returns(this.PersistenceMock.Object); this.PersistenceMock .Setup(p => p.Categories) .Returns(this.CategoryRepositoryMock.Object); var c = DefaultCategory(); this.CategoryRepositoryMock .Setup(r => r.FindById(c.Id)) .Returns(c); this.CategoryRepositoryMock .Setup(r => r.FindByParentAndName(c, resultName)) .Returns((Category?)null); this.PersistenceMock .Setup(p => p.Entities) .Returns(this.EntityRepositoryMock.Object); this.EntityRepositoryMock .Setup(r => r.FindByCategoryAndName(c, resultName)) .Returns(DefaultEntity(e => e.Name = resultName)); var categoryNode = new CategoryNode(c); var e = DefaultEntity(e => e.Name = initialName); var node = new EntityNode(e); // ACT var result = Assert.Throws <InvalidOperationException>( () => node.CopyItem(this.ProviderContextMock.Object, initialName, destinationName, categoryNode)); // ASSERT Assert.Equal($"Destination container contains already an entity with name '{resultName}'", result.Message); }