コード例 #1
0
        public async Task TestGetTagAsync()
        {
            var data = new List <Tag>
            {
                new Tag {
                    Name = "BBB", Id = 0,
                },
                new Tag {
                    Name = "ZZZ", Id = 1,
                },
                new Tag {
                    Name = "AAA", Id = 2,
                },
            };
            var mockSet = DbSetMockBuilder.BuildAsyncMock(data);

            var mockContext = new Mock <IRefsContext>();

            mockContext.Setup(c => c.Tags).Returns(mockSet.Object);

            var handler = new TagHandler(mockContext.Object);
            var ret     = await handler.GetTagAsync("ZZZ");

            Assert.AreEqual(1, ret.Id);
        }
コード例 #2
0
        public void WhenTheCategoryContains3NotesThenNoteCountShouldBe3()
        {
            Category cat = new CategoryBuilder().Build();
            IDbSet<Category> categories = new DbSetMockBuilder<Category>()
                .ContainingEntity(cat)
                .Build();
            IDbSet<Note> notes = new DbSetMockBuilder<Note>()
                .ContainingEntity(new NoteBuilder().InCategory(cat).Build())
                .ContainingEntity(new NoteBuilder().InCategory(cat).Build())
                .ContainingEntity(new NoteBuilder().InCategory(cat).Build())
                .Build();
            IUnitOfWork unitOfWork = new UnitOfWorkMockBuilder()
                .WithCategoryRepository(categories)
                .WithNoteRepository(notes)
                .Build();

            //! when: controller is asked for the list.
            CategoryController subject = new CategoryControllerBuilder()
                .WithUnitOfWork(unitOfWork)
                .Build();

            var viewResult = (ViewResult)subject.List();
            var model = (IEnumerable<CategoryModel>)viewResult.ViewData.Model;

            //! then: the single category should have a note count of 3
            CategoryModel category = model.Single();
            category.NoteCount.Should().Be(3);
        }
コード例 #3
0
        public async Task TestGetAllTagsAsync_NameAscending()
        {
            var data = new List <Tag>
            {
                new Tag {
                    Name = "BBB"
                },
                new Tag {
                    Name = "ZZZ"
                },
                new Tag {
                    Name = "AAA"
                },
            };
            var mockSet = DbSetMockBuilder.BuildAsyncMock(data);

            var mockContext = new Mock <IRefsContext>();

            mockContext.Setup(c => c.Tags).Returns(mockSet.Object);

            var handler = new TagHandler(mockContext.Object);
            var ret     = (await handler.GetAllTagsAsync(Transfer.TagSortKind.NameAscending)).ToList();

            Assert.AreEqual(3, ret.Count);
            Assert.AreEqual("AAA", ret[0].Name);
            Assert.AreEqual("BBB", ret[1].Name);
            Assert.AreEqual("ZZZ", ret[2].Name);
        }
コード例 #4
0
        public void WhenSomeCategoriesThenThoseCategoriesShouldBeReturned()
        {
            //! given: unit of work with 3 categories.
            var cat1 = new Category("Foo");
            var cat2 = new Category("Bar");
            var cat3 = new Category("Spinazie");
            IDbSet<Category> categories = new DbSetMockBuilder<Category>()
                .ContainingEntity(cat1)
                .ContainingEntity(cat2)
                .ContainingEntity(cat3)
                .Build();
            IUnitOfWork unitOfWork = new UnitOfWorkMockBuilder()
                .WithCategoryRepository( categories )
                .Build();

            //! when: controller is asked for the list.
            CategoryController subject = new CategoryControllerBuilder()
                .WithUnitOfWork(unitOfWork)
                .Build();

            var viewResult = (ViewResult)subject.List();
            var model = (IEnumerable<CategoryModel>)viewResult.ViewData.Model;

            //! then: a model with empty categories should be returned.
            model.Should().NotBeNull();
            model.Count().Should().Be(3);
            model.Should().OnlyContain(c => new[] { cat1, cat2, cat3 }.Any(cat => cat.Id == c.Id));
        }