Exemplo n.º 1
0
        public void DadaTarefaComInformacoesValidasDeveCadastrarERetornarOk()
        {
            // arrange
            var mockLogger = new Mock <ILogger <CadastraTarefaHandler> >();
            var options    = new DbContextOptionsBuilder <DbTarefasContext>()
                             .UseInMemoryDatabase("DbTarefasContext")
                             .Options;

            var contexto = new DbTarefasContext(options);

            contexto.Categorias.Add(new Categoria(20, "Categoria teste"));
            contexto.SaveChanges();

            var repo = new RepositorioTarefa(contexto);

            TarefasController controlador = new TarefasController(repo, mockLogger.Object);
            CadastraTarefaVM  modelo      = new CadastraTarefaVM();

            modelo.Titulo      = "Fazer alguma coisa";
            modelo.IdCategoria = 20;
            modelo.Prazo       = DateTime.Now;

            // act
            var retorno = controlador.EndpointCadastraTarefa(modelo);

            // assert
            Assert.IsType <OkResult>(retorno);
        }
        public void DataTarefaComInformacoesValidasDeveIncluirNoRepositorio_InMemoryDatabase()
        {
            //arrange
            var comando = new CadastraTarefa("Estudar Xunit", new Core.Models.Categoria("Estudo"), new DateTime(2019, 12, 31));

            //setup do dublê
            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("Teste de Integração")
                          .Options;
            var contexto = new DbTarefasContext(options);
            var repo     = new RepositorioTarefa(contexto);

            var mock   = new Mock <ILogger <CadastraTarefaHandler> >();
            var logger = mock.Object;

            var handler = new CadastraTarefaHandler(repo, logger);

            //act
            handler.Execute(comando);

            //assert
            var tarefa = repo.ObtemTarefas(t => t.Categoria.Descricao == "Estudo").FirstOrDefault();

            Assert.NotNull(tarefa);
            Assert.Equal("Estudar Xunit", tarefa.Titulo);
            Assert.Equal(new DateTime(2019, 12, 31), tarefa.Prazo);
        }
Exemplo n.º 3
0
        public void DadaTarefaComInformacoesValidasDeveRetornar200()
        {
            //arrange
            var mockLogger = new Mock <ILogger <CadastraTarefaHandler> >();

            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext")
                          .Options;
            var contexto = new DbTarefasContext(options);

            contexto.Categorias.Add(new Categoria(20, "Estudo"));
            contexto.SaveChanges();

            var repo = new RepositorioTarefa(contexto);


            var controlador = new TarefasController(repo, mockLogger.Object);
            var model       = new CadastraTarefaVM();

            model.IdCategoria = 20;
            model.Titulo      = "Estudar Xunit";
            model.Prazo       = new DateTime(2019, 12, 31);

            //act
            var retorno = controlador.EndpointCadastraTarefa(model);

            //assert
            Assert.IsType <OkResult>(retorno); //200
        }
        public void DadaTarefaComInformacoesValidasDeveLogarAOperacao()
        {
            //arrange
            var comando = new CadastraTarefa("Estudar Xunit", new Core.Models.Categoria("Estudo"), new DateTime(2019, 12, 31));

            //setup dos dublês
            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("Teste de Integração")
                          .Options;
            var contexto = new DbTarefasContext(options);
            var repo     = new RepositorioTarefa(contexto);

            var mock = new Mock <ILogger <CadastraTarefaHandler> >();

            string            logOutput = string.Empty;
            CaptureLogMessage capture   = (l, i, v, e, f) =>
            {
                logOutput = logOutput + v.ToString();
            };

            mock.Setup(x => x.Log(LogLevel.Debug, It.IsAny <EventId>(), It.IsAny <object>(), It.IsAny <Exception>(), It.IsAny <Func <object, Exception, string> >())).Callback(capture);
            var logger = mock.Object;

            var handler = new CadastraTarefaHandler(repo, logger);

            //act
            handler.Execute(comando);

            //assert
            //COMO VERIFICAR SE O LOG FOI REALIZADO?
            Assert.Contains("Persistindo a tarefa...", logOutput);
        }
        public void DadaTarefaComInformacoesValidasDeveIncluirNoBD()
        {
            //arrange
            var comando = new CadastraTarefa("Estudar Xunit", new Categoria("Estudo"), new DateTime(2019, 12, 31));

            var mock = new Mock <ILogger <CadastraTarefaHandler> >();

            //var repo = new RepositorioFake(); //Dublê para o teste
            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext")
                          .Options;

            var contexto = new DbTarefasContext(options);
            var repo     = new RepositorioTarefa(contexto);

            var handler = new CadastraTarefaHandler(repo, mock.Object);

            //act
            handler.Execute(comando);

            //assert
            var tarefas = repo.ObtemTarefas(t => t.Titulo == "Estudar Xunit").FirstOrDefault();

            Assert.NotNull(tarefas);
        }
        public void QuandoTarefasEstiveremAtrasadasDeveMudarSeuStatus()
        {
            //Arrage
            var categoriaSaude    = new Categoria("Saude");
            var categoriaHigiene  = new Categoria("Higiene");
            var categoriaTrabalho = new Categoria("Trabalho");

            List <Tarefa> tarefas = new List <Tarefa>()
            {
                new Tarefa(1, "Comprar remédio para dor de cabeça", categoriaSaude, new DateTime(2020, 1, 1), null, StatusTarefa.Criada),
                new Tarefa(2, "Marcar consulta com o médico", categoriaSaude, new DateTime(2020, 1, 1), null, StatusTarefa.Criada),
                new Tarefa(3, "Marcar reunião com o Marcelo", categoriaTrabalho, new DateTime(2020, 1, 1), null, StatusTarefa.Criada),
                new Tarefa(4, "Realizar faxina", categoriaHigiene, new DateTime(2020, 1, 1), null, StatusTarefa.Criada),
            };

            var optionsContext = new DbContextOptionsBuilder <DbTarefasContext>()
                                 .UseInMemoryDatabase <DbTarefasContext>("DbTarefasContext")
                                 .Options;

            var repositorioTarefas = new RepositorioTarefa(new DbTarefasContext(optionsContext));

            repositorioTarefas.IncluirTarefas(tarefas.ToArray());

            var comando = new GerenciaPrazoDasTarefas(new DateTime(2020, 2, 1));
            var GerenciaPrazoDasTarefasHandler = new GerenciaPrazoDasTarefasHandler(repositorioTarefas);

            //Act
            GerenciaPrazoDasTarefasHandler.Execute(comando);

            //Assert
            var tarefasEmAtraso = repositorioTarefas.ObtemTarefas(t => t.Status == StatusTarefa.EmAtraso);

            Assert.Equal(4, tarefasEmAtraso.Count());
        }
Exemplo n.º 7
0
        public void Test1()
        {
            var comando = new CadastraTarefa("Estudar xUnit", new Categoria("Estudo"), new DateTime(2019, 12, 10));

            //var repoFakeTarefas = new FakeRepositoryTarefas();
            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext")
                          .Options;

            var dbContext = new DbTarefasContext(options);

            var repoInMemory = new RepositorioTarefa(dbContext);
            var mockLogger   = new Mock <ILogger <CadastraTarefaHandler> >();

            //var handler = new CadastraTarefaHandler(repoFakeTarefas);
            var handler = new CadastraTarefaHandler(repoInMemory, mockLogger.Object);

            handler.Execute(comando);

            //Vamos fazer o teste do repositório por mock utilizando um repositorio fake.
            //var tarefa = repoFakeTarefas.ObtemTarefas(t => t.Titulo == "Estudar xUnit").FirstOrDefault();
            var tarefa = repoInMemory.ObtemTarefas(x => x.Titulo == "Estudar xUnit").FirstOrDefault();

            Assert.NotNull(tarefa);
        }
Exemplo n.º 8
0
        public void DadaTarefaComInformacoesValidasRetornaOkResult()
        {
            //Given
            var moqLogger = new Mock<ILogger<CadastraTarefaHandler>>();

            var options = new DbContextOptionsBuilder<DbTarefasContext>()
                                    .UseInMemoryDatabase("DbTarefas").Options;

            var context = new DbTarefasContext(options);
            var repo = new RepositorioTarefa(context);

            var controlador = new TarefasController(repo, moqLogger.Object);
            var model = new CadastraTarefaVM()
            {
                IdCategoria = 20,
                Titulo = "Estudar Xunit",
                Prazo = new DateTime(2019, 31, 12)
            };

            //When
            context.Categorias.Add(new Categoria(20, "Estudo"));
            context.SaveChanges();

            var resultado = controlador.EndpointCadastraTarefa(model);

            //Then
            // HTTP Status 200
            Assert.IsType<OkResult>(resultado);
        }
        public void TarefaDadaInfoCorretaCadastraNoBD()
        {
            //arange
            var comando = new CadastraTarefa("Estudar XUnit",
                                             new Categoria("Estudo"),
                                             DateTime.Now.AddDays(1)
                                             );

            //var repositorio = new RepositorioTarefasFake();

            var mock = new Mock <ILogger <CadastraTarefaHandler> >();

            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext")
                          .Options;


            var context = new DbTarefasContext(options);


            var repositorio = new RepositorioTarefa(context);

            var handler = new CadastraTarefaHandler(repositorio, mock.Object);

            //act

            handler.Execute(comando);

            //assert

            var tarefa = repositorio.ObtemTarefas(t => t.Titulo == "Estudar XUnit");

            Assert.NotNull(tarefa);
        }
Exemplo n.º 10
0
        private async void btnCarregar_Click(object sender, EventArgs e)
        {
            var repo = new RepositorioTarefa();

            var tarefas = await repo.ListarTarefas();

            _tarefas = new BindingList <Tarefa>(tarefas.ToList());
        }
        public void QuandoTarefasEstiveremAtrasadasDeveMudarSeuStaus()
        {
            //Arrange
            var compCateg = new Categoria(1, "Compras");
            var casaCateg = new Categoria(2, "Casa");
            var trabCateg = new Categoria(3, "Trabalho");
            var saudCateg = new Categoria(4, "Saúde");
            var higiCateg = new Categoria(5, "Higiene");

            var tarefas = new List <Tarefa>
            {
                //atrasadas a partir de 1/1/2019
                new Tarefa(1, "Tirar Lixo", casaCateg, new DateTime(2018, 12, 31), null, StatusTarefa.Criada),
                new Tarefa(4, "Fazer almoço", casaCateg, new DateTime(2017, 12, 1), null, StatusTarefa.Criada),
                new Tarefa(9, "Ir à academia", saudCateg, new DateTime(2018, 12, 31), null, StatusTarefa.Criada),
                new Tarefa(7, "Concluir relatório", trabCateg, new DateTime(2018, 5, 7), null, StatusTarefa.Pendente),
                new Tarefa(10, "Beber água", saudCateg, new DateTime(2018, 12, 31), null, StatusTarefa.Criada),
                //dentro do prazo em 1/1/2019
                new Tarefa(8, "Comparecer a reunião", trabCateg, new DateTime(2018, 11, 12), new DateTime(2018, 11, 30),
                           StatusTarefa.Concluida),
                new Tarefa(2, "Arrumar a cama", casaCateg, new DateTime(2019, 4, 5), null, StatusTarefa.Criada),
                new Tarefa(3, "Escovar os dentes", higiCateg, new DateTime(2019, 1, 2), null, StatusTarefa.Criada),
                new Tarefa(5, "Comprar presente pro João", compCateg, new DateTime(2019, 10, 8), null, StatusTarefa.Criada),
                new Tarefa(6, "Comprar ração", compCateg, new DateTime(2019, 11, 20), null, StatusTarefa.Criada)
            };

            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext")
                          .Options;

            var contexto = new DbTarefasContext(options);
            var repo     = new RepositorioTarefa(contexto);

            repo.IncluirTarefas(tarefas.ToArray());

            var comando = new GerenciaPrazoDasTarefas(new DateTime(2019, 1, 1));
            var handler = new GerenciaPrazoDasTarefasHandler(repo);

            //Act
            handler.Execute(comando);

            //Assert
            var tarefasEmAtraso = repo.ObtemTarefas(t => t.Status == StatusTarefa.EmAtraso);

            Assert.Equal(5, tarefasEmAtraso.Count());
        }
        public void QuandoTarefasEstiveremAtrasadasDeveMudarSeuStatus()
        {
            //Arrange
            // Fake Object
            var categoriaCompras  = new Categoria(1, "Compras");
            var categoriaCasa     = new Categoria(2, "Casa");
            var categoriaTrabalho = new Categoria(3, "Trabalho");
            var categoriaSaude    = new Categoria(4, "Saude");
            var categoriaHigiene  = new Categoria(5, "Higiene");

            var tarefas = new List <Tarefa>
            {
                //Atrasadas a partir de 2019/1/1
                new Tarefa(1, "Tirar o lixo", categoriaCasa, new DateTime(2018, 12, 31), null, StatusTarefa.Criada),
                new Tarefa(4, "Fazer o almoço", categoriaCasa, new DateTime(2017, 12, 1), null, StatusTarefa.Criada),
                new Tarefa(9, "Ir a academia", categoriaSaude, new DateTime(2018, 12, 31), null, StatusTarefa.Criada),
                new Tarefa(7, "Concluir o relatório", categoriaSaude, new DateTime(2018, 5, 7), null, StatusTarefa.Pendente),
                new Tarefa(10, "Beber água", categoriaSaude, new DateTime(2018, 12, 31), null, StatusTarefa.Criada),
                //Dentro do prazo em 2019/1/1
                new Tarefa(8, "Comparecer a reunião", categoriaTrabalho, new DateTime(2018, 11, 12), null, StatusTarefa.Concluida),
                new Tarefa(2, "Arrumar a cama", categoriaCasa, new DateTime(2019, 4, 5), null, StatusTarefa.Criada),
                new Tarefa(3, "Escovar os dentes", categoriaHigiene, new DateTime(2019, 1, 2), null, StatusTarefa.Criada),
                new Tarefa(5, "Comprar presentes para o João", categoriaCompras, new DateTime(2019, 10, 8), null, StatusTarefa.Criada),
                new Tarefa(6, "Comprar ração", categoriaCompras, new DateTime(2019, 11, 20), null, StatusTarefa.Criada)
            };

            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext").Options;
            var context = new DbTarefasContext(options);

            var repository = new RepositorioTarefa(context);

            repository.IncluirTarefas(tarefas.ToArray());

            var comando = new GerenciaPrazoDasTarefas(new DateTime(2019, 1, 1));
            var handler = new GerenciaPrazoDasTarefasHandler(repository);

            //Act
            handler.Execute(comando);

            //Assert
            var tarefasEmAtraso = repository.ObtemTarefas(x => x.Status == StatusTarefa.EmAtraso);

            Assert.Equal(5, tarefasEmAtraso.Count());
        }
Exemplo n.º 13
0
        public void DadaTarefaComInfoValidasDeveIncluirNoDb()
        {
            //Arrange
            var comando = new CadastraTarefa("Estudar xUnit", new Categoria("Estudo"), new DateTime(2021, 12, 31));
            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext", new InMemoryDatabaseRoot())
                          .Options;
            var mock     = new Mock <ILogger <CadastraTarefaHandler> >();
            var contexto = new DbTarefasContext(options);
            var repo     = new RepositorioTarefa(contexto);
            var handler  = new CadastraTarefaHandler(repo, mock.Object);

            //Act
            handler.Execute(comando);

            //Assert
            var tarefa = repo.ObtemTarefas(t => t.Titulo == "Estudar xUnit").FirstOrDefault();

            Assert.NotNull(tarefa);
        }
Exemplo n.º 14
0
        public void TarefasAtrasadasDevemMudarStatus()
        {
            Categoria[] categorias =
            {
                new Categoria("Categoria 1"),
                new Categoria("Categoria 2"),
                new Categoria("Categoria 3")
            };

            var tarefas = new List <Tarefa>
            {
                //Atrasadas a partir de 1/1/2019
                { new Tarefa(1, "Tarefa 1", categorias[0], new DateTime(2018, 12, 31), null, StatusTarefa.Criada) },
                { new Tarefa(2, "Tarefa 2", categorias[1], new DateTime(2017, 12, 24), null, StatusTarefa.Criada) },
                { new Tarefa(3, "Tarefa 3", categorias[2], new DateTime(2018, 12, 15), null, StatusTarefa.Criada) },
                //No prazo em 1/1/2019
                { new Tarefa(4, "Tarefa 4", categorias[0], new DateTime(2019, 1, 22), null, StatusTarefa.Criada) },
                { new Tarefa(5, "Tarefa 5", categorias[1], new DateTime(2019, 4, 13), null, StatusTarefa.Criada) },
                { new Tarefa(6, "Tarefa 6", categorias[2], new DateTime(2019, 3, 5), null, StatusTarefa.Criada) }
            };

            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext")
                          .Options;

            var contexto = new DbTarefasContext(options);

            var repositorio = new RepositorioTarefa(contexto);

            repositorio.IncluirTarefas(tarefas.ToArray());

            var comando = new GerenciaPrazoDasTarefas(new DateTime(2019, 1, 1));

            var gerenciador = new GerenciaPrazoDasTarefasHandler(repositorio);

            gerenciador.Execute(comando);

            var tarefasEmAtraso = tarefas.Where(t => t.Status == StatusTarefa.EmAtraso).Count();

            Assert.Equal(3, tarefasEmAtraso);
        }
Exemplo n.º 15
0
        public void TarefaDeveSerIncluidaNoBD()
        {
            var novaTarefa = new CadastraTarefa("Estudar xUnit", new Categoria("Estudo"), DateTime.Now.AddMonths(3));

            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefasContext")
                          .Options;

            var contexto = new DbTarefasContext(options);

            var repositorio = new RepositorioTarefa(contexto);
            var mockLogger  = new Mock <ILogger <CadastraTarefaHandler> >();

            var tarefaHandler = new CadastraTarefaHandler(repositorio, mockLogger.Object);

            tarefaHandler.Execute(novaTarefa);

            var tarefa = repositorio.ObtemTarefas(t => t.Titulo == "Estudar xUnit");

            Assert.NotNull(tarefa);
        }
        public void DadaTarefaComInformacoesValidasDeveInclurNoBd()
        {
            var comando = new CadastraTarefa("Estudar XUnit",
                                             new Alura.CoisasAFazer.Core.Models.Categoria("Estudo"),
                                             new DateTime(2019, 12, 31));

            var mock = new Mock <ILogger <CadastraTarefaHandler> >();

            var options  = new DbContextOptionsBuilder <DbTarefasContext>().UseInMemoryDatabase("DbTarefasContext").Options;
            var contexto = new DbTarefasContext(options);

            var repo = new RepositorioTarefa(contexto);

            var handler = new CadastraTarefaHandler(repo, mock.Object);

            handler.Execute(comando);

            var tarefa = repo.ObtemTarefas(x => x.Titulo == "Estudar XUnit").FirstOrDefault();

            Assert.NotNull(tarefa);
        }
Exemplo n.º 17
0
        public void DadaTarefaComInformacoesValidasDeveIncluirNoBD()
        {
            // Arrange
            var comando = new CadastraTarefa("Fazer alguma coisa", new Categoria("Estudo"), new DateTime(2019, 07, 21));

            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("DbTarefaContext")
                          .Options;

            var mockLogger = new Mock <ILogger <CadastraTarefaHandler> >();

            var contexto    = new DbTarefasContext(options);
            var repositorio = new RepositorioTarefa(contexto);
            var handler     = new CadastraTarefaHandler(repositorio, mockLogger.Object);

            // Act
            handler.Execute(comando);

            //Assert
            var tarefa = repositorio.ObtemTarefas(t => t.Titulo == "Fazer alguma coisa").FirstOrDefault();

            Assert.NotNull(tarefa);
        }
        public void QuandoPassarDoPrazoDeveColocarTarefasEmAtraso()
        {
            //arrange: determinada massa de tarefas na base, algumas com prazo vencido
            var massaInicial = new List <Tarefa>
            {
                //atrasadas a partir de 1/1/2019
                new Tarefa(1, "Tirar lixo", new Categoria("Casa"), new DateTime(2018, 12, 31), null, StatusTarefa.Criada),
                new Tarefa(4, "Fazer o almoço", new Categoria("Casa"), new DateTime(2017, 12, 1), null, StatusTarefa.Criada),
                new Tarefa(9, "Ir à academia", new Categoria("Saúde"), new DateTime(2018, 12, 31), null, StatusTarefa.Criada),
                new Tarefa(7, "Concluir o relatório", new Categoria("Trabalho"), new DateTime(2018, 5, 7), null, StatusTarefa.Pendente),
                new Tarefa(10, "Beber água", new Categoria("Saúde"), new DateTime(2018, 12, 31), null, StatusTarefa.Criada),
                //dentro do prazo em 1/1/2019
                new Tarefa(8, "Comparecer à reunião", new Categoria("Trabalho"), new DateTime(2018, 11, 12), new DateTime(2018, 11, 30), StatusTarefa.Concluida),
                new Tarefa(2, "Arrumar a cama", new Categoria("Casa"), new DateTime(2019, 4, 5), null, StatusTarefa.Criada),
                new Tarefa(3, "Escovar os dentes", new Categoria("Higiene"), new DateTime(2019, 1, 2), null, StatusTarefa.Criada),
                new Tarefa(5, "Comprar presente pro João", new Categoria("Compras"), new DateTime(2019, 10, 8), null, StatusTarefa.Criada),
                new Tarefa(6, "Comprar ração", new Categoria("Compras"), new DateTime(2019, 11, 20), null, StatusTarefa.Criada),
            };
            var options = new DbContextOptionsBuilder <DbTarefasContext>()
                          .UseInMemoryDatabase("Testes de Integração")
                          .Options;
            var contexto = new DbTarefasContext(options);
            var repo     = new RepositorioTarefa(contexto);

            repo.IncluirTarefas(massaInicial.ToArray());

            var comando = new GerenciaPrazoDasTarefas(new DateTime(2019, 1, 1));
            var handler = new GerenciaPrazoDasTarefasHandler(repo);

            //act
            handler.Execute(comando);

            //assert
            var tarefas = repo.ObtemTarefas(t => t.Status == StatusTarefa.EmAtraso);

            Assert.Equal(5, tarefas.Count());
        }
        public void QuandoTarefasAtrasadasDeveMudarStatus()
        {
            //arrange
            var casaCateg     = new Categoria(2, "Casa");
            var trabalhoCateg = new Categoria(3, "trabalho");
            var saudeCateg    = new Categoria(4, "saude");
            var higieneCateg  = new Categoria(5, "higiene");
            var compraCateg   = new Categoria(6, "Compras");

            var tarefas = new List <Tarefa>
            {
                new Tarefa(2, "Fazer almoço", casaCateg, new DateTime(2021, 01, 30), null, StatusTarefa.Criada),
                new Tarefa(3, "Cortar cabelo", higieneCateg, new DateTime(2021, 01, 24), null, StatusTarefa.Criada),
                new Tarefa(4, "Comprar carne", compraCateg, new DateTime(2021, 02, 01), null, StatusTarefa.Criada),
                new Tarefa(5, "Fazer teste de integração", trabalhoCateg, new DateTime(2021, 01, 25), null, StatusTarefa.Criada),
                new Tarefa(6, "Tirar Lixo", casaCateg, new DateTime(2021, 01, 26), null, StatusTarefa.Criada),
            };

            var option = new DbContextOptionsBuilder <DbTarefasContext>()
                         .UseInMemoryDatabase("DbTarefas")
                         .Options;
            var contexto = new DbTarefasContext(option);
            var repo     = new RepositorioTarefa(contexto);

            repo.IncluirTarefas(tarefas.ToArray());

            var comando = new GerenciaPrazoDasTarefas(new DateTime(2021, 01, 25));
            var handler = new GerenciaPrazoDasTarefasHandler(repo);

            //act
            handler.Execute(comando);

            //assert
            var tarefasEmAtraso = repo.ObtemTarefas(t => t.Status == StatusTarefa.EmAtraso);

            Assert.Equal(2, tarefasEmAtraso.Count());
        }