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); }
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); }
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); }
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)); }