示例#1
0
        public void CategoryNode_retrieves_categories_and_entities_as_childnodes()
        {
            // ARRANGE

            var subcategory = DefaultCategory(c => c.Name = "cc");
            var category    = DefaultCategory(WithSubCategory(subcategory));
            var entity      = DefaultEntity(e => e.Category = category);

            this.ProviderContextMock
            .Setup(c => c.Persistence)
            .Returns(this.PersistenceMock.Object);

            this.PersistenceMock
            .Setup(p => p.Categories)
            .Returns(this.CategoryRepositoryMock.Object);

            this.CategoryRepositoryMock
            .Setup(p => p.FindByParent(category))
            .Returns(subcategory.Yield());

            this.PersistenceMock
            .Setup(p => p.Entities)
            .Returns(this.EntityRepositoryMock.Object);

            this.EntityRepositoryMock
            .Setup(r => r.FindByCategory(category))
            .Returns(entity.Yield());

            var node = new CategoryNode(category);

            // ACT

            var result = node.GetChildNodes(this.ProviderContextMock.Object).ToArray();

            // ASSERT

            Assert.Equal(2, result.Length);
        }