public async Task RetornaSomenteLivrosAtivosAsync() { var data = new List <Livro> { new Livro { Nome = "Livro A", Status = true }, new Livro { Nome = "Livro B", Status = false }, new Livro { Nome = "Livro C", Status = true }, }.AsQueryable(); var mockSet = new Mock <DbSet <Livro> >(); mockSet.As <IDbAsyncEnumerable <Livro> >() .Setup(m => m.GetAsyncEnumerator()) .Returns(new TestDbAsyncEnumerator <Livro>(data.GetEnumerator())); mockSet.As <IQueryable <Livro> >() .Setup(m => m.Provider) .Returns(new TestDbAsyncQueryProvider <Livro>(data.Provider)); mockSet.As <IQueryable <Livro> >().Setup(m => m.Expression).Returns(data.Expression); mockSet.As <IQueryable <Livro> >().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As <IQueryable <Livro> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockContext = new Mock <LivroContext>(); mockContext.Setup(c => c.Livros).Returns(mockSet.Object); var service = new LivroService(mockContext.Object); var livros = await service.GetLivrosAtivosAsync(); Assert.AreEqual(2, livros.Count); Assert.AreEqual("Livro A", livros[0].Nome); Assert.AreEqual("Livro C", livros[1].Nome); }
public async Task <ActionResult> IndexAsync() { return(View(await livroService.GetLivrosAtivosAsync())); }