示例#1
0
        public void QuandoTarefasEstiveremAtrasadasDeveMudarSeuStatus()
        {
            //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 o 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 o 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 à 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("DbTarefas")
                          .Options;
            var context            = new DbTarefasContext(options);
            var repositorioTarefas = new RepositorioTarefas(context);

            repositorioTarefas.IncluirTarefas(tarefas.ToArray());

            var command = new GerenciaPrazoDasTarefas(new DateTime(2019, 1, 1));
            var handle  = new GerenciaPrazoDasTarefasHandler(repositorioTarefas);

            //action
            handle.Execute(command);
            var tarefasAtrasadas = repositorioTarefas.ObtemTarefas(t => t.Status == StatusTarefa.EmAtraso);

            //assert
            Assert.Equal(5, tarefasAtrasadas.Count());
        }
示例#2
0
        public void DadaTarefaComInfoValidasIncluiNoBancoDados()
        {
            //Arrange
            var mockLogger = new Mock <ILogger <CadastraTarefaHandler> >();
            var options    = new DbContextOptionsBuilder <DbTarefasContext>()
                             .UseInMemoryDatabase("DbTarefas")
                             .Options;

            var context = new DbTarefasContext(options);
            IRepositorioTarefas repositorioTarefas = new RepositorioTarefas(context);
            var command = new CadastraTarefa("Estudar XUnit", new Categoria("Estudo"), new DateTime(2020, 10, 01));
            var handler = new CadastraTarefaHandler(repositorioTarefas, mockLogger.Object);

            //Action
            handler.Execute(command);
            var tarefa = repositorioTarefas.ObtemTarefas(t => t.Titulo.Equals("Estudar XUnit", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();

            //Assert
            Assert.NotNull(tarefa);
        }
示例#3
0
        public void DadaTarefaComInfoValidasDeveRetornar200()
        {
            //arrange
            var options = new DbContextOptionsBuilder <DbTarefasContext>().UseInMemoryDatabase("DbTarefas").Options;
            var context = new DbTarefasContext(options);

            context.Categorias.Add(new Categoria(20, "Estudo"));
            context.SaveChanges();
            var repositorioTarefas = new RepositorioTarefas(context);
            var mockLogger         = new Mock <ILogger <CadastraTarefaHandler> >();
            var controlador        = new TarefasController(repositorioTarefas, mockLogger.Object);
            var model = new CadastraTarefaVM
            {
                IdCategoria = 20,
                Prazo       = new DateTime(2019, 12, 31),
                Titulo      = "Estudar XUnit"
            };

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

            //assert
            Assert.IsType <OkResult>(retorno); //statu code - 200
        }