public void EntityNode_renaming_rejects_duplicate_entity_name(string existingName) { // ARRANGE var parentCategory = DefaultCategory(WithSubCategory(DefaultCategory())); var entity = DefaultEntity(WithEntityCategory(parentCategory)); this.ProviderContextMock .Setup(c => c.Persistence) .Returns(this.PersistenceMock.Object); this.PersistenceMock .Setup(p => p.Entities) .Returns(this.EntityRepositoryMock.Object); var existingEntity = DefaultEntity(WithEntityCategory(parentCategory), e => e.Name = existingName); this.EntityRepositoryMock .Setup(p => p.FindByCategoryAndName(parentCategory, "ee")) .Returns(existingEntity); var entityNode = new EntityNode(entity); // ACT entityNode.RenameItem(this.ProviderContextMock.Object, "e", "ee"); // ASSERT Assert.Equal("e", entity.Name); }
public void EntityNode_renaming_rejects_invalid_name_chararcters(char invalidChar) { // ARRANGE var category = DefaultCategory(c => c.Name = "c"); var entity = DefaultEntity(WithEntityCategory(category)); var invalidName = new string("p".ToCharArray().Append(invalidChar).ToArray()); var node = new EntityNode(entity); // ACT var result = Assert.Throws <InvalidOperationException>(() => node.RenameItem(this.ProviderContextMock.Object, "e", invalidName)); // ASSERT Assert.Equal($"entity(name='{invalidName}' wasn't renamed: it contains invalid characters", result.Message); }