Esempio n. 1
0
        public void CategoryNode_resolves_child_name_as_Category(string name)
        {
            // ARRANGE

            var subCategory = DefaultCategory(c => c.Name = "cc");
            var category    = DefaultCategory(WithSubCategory(subCategory));

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

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

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

            this.CategoryRepositoryMock
            .Setup(r => r.FindByParentAndName(category, name))
            .Returns(subCategory);

            this.EntityRepositoryMock
            .Setup(r => r.FindByCategoryAndName(category, name))
            .Returns((Entity?)null);

            var node = new CategoryNode(category);

            // ACT

            var result = node.Resolve(this.ProviderContextMock.Object, name).Single();

            // ASSERT

            Assert.Equal(subCategory.Id, ((CategoryNode.Item)result.GetItem(this.ProviderContextMock.Object).ImmediateBaseObject).Id);
        }