示例#1
0
        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);
        }
示例#2
0
        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);
        }