Пример #1
0
        public void QuandoTiverNotificacoes_ResultadoDeveSerNulo_EExisteMensagens()
        {
            var livro       = new LivroResumidoViewModel();
            var notificador = new Notificador();

            notificador.AdicionarErro("erro", "mensagem");
            var response = new Response <LivroResumidoViewModel>(livro, notificador);

            response.Mensagens["erro"].Should().Contain("mensagem");
        }
        public void AdicionarErro_DeveAdicionar()
        {
            var notificador = new Notificador();

            notificador.AdicionarErro("erro", "mensagem");

            notificador.ExistemErros.Should().BeTrue();
            notificador.Erros
            .Should()
            .ContainEquivalentOf(new Notificacao(TipoNotificacao.Erro, "erro", "mensagem"));
        }
        public void AdicionarErro_ComHttpStatusCode()
        {
            var notificador = new Notificador();

            notificador.AdicionarErro("erro", "mensagem", HttpStatusCode.NotFound);

            notificador.ExistemErros.Should().BeTrue();
            notificador.Erros
            .Should()
            .ContainEquivalentOf(new Notificacao(TipoNotificacao.Erro, "erro", "mensagem"));
            notificador.StatusCode.Should().BeEquivalentTo(HttpStatusCode.NotFound);
        }
        public async Task BuscarEditoraPorId_DeveRetornarNulo_ENotificar()
        {
            var mapper      = new Mock <IMapper>();
            var notificador = new Notificador();
            var query       = new Mock <IEditoraRepository>();

            query.Setup(x => x.BuscarEditoraPorId(It.IsAny <Guid>()))
            .Callback(() => notificador.AdicionarErro("editora", "Não Encontrada"));

            var useCase   = new BuscarEditoraPorIdUseCase(query.Object, notificador, mapper.Object);
            var resultado = await useCase.Executar(Guid.NewGuid());

            resultado.Should().BeNull();
            notificador.ExistemErros.Should().BeTrue();
        }
Пример #5
0
        public async Task Executar_DeveNotificarErro()
        {
            var notificadorEsperado = new Notificador();

            notificadorEsperado.AdicionarErro("erro", "mensagem");

            var useCase = GerarUseCase(out var notificador);

            _autorRepository
            .Setup(x => x.ExcluirAutor(It.IsAny <Guid>()))
            .Callback(() => notificador.AdicionarErro("erro", "mensagem"));

            await useCase.Executar(Guid.NewGuid());

            _autorRepository.Verify(x => x.ExcluirAutor(It.IsAny <Guid>()), Times.Once);
            notificador.Erros.Should().BeEquivalentTo(notificadorEsperado.Erros);
        }
Пример #6
0
        public void FormatarResposta_ComErroComStatusCodeNotFound_ObjetoUnico()
        {
            var notificador = new Notificador();

            notificador.AdicionarErro("erro", "mensagem", HttpStatusCode.NotFound);
            var responseFormatter = new ResponseFormatter(notificador);
            var editora           = new EditoraViewModel
            {
                Id    = Guid.NewGuid(),
                Nome  = "Editora",
                Email = "*****@*****.**",
                Pais  = "Brasil"
            };

            var resultado = responseFormatter.FormatarResposta(TipoRequisicao.Get, editora);

            resultado.Should().BeOfType <ObjectResult>()
            .Which.StatusCode.Should().Be((int)HttpStatusCode.NotFound);
        }
Пример #7
0
        public void FormatarResposta_ComErroSemStatusCode_Lista()
        {
            var notificador = new Notificador();

            notificador.AdicionarErro("erro", "mensagem");
            var responseFormatter = new ResponseFormatter(notificador);
            var editora           = new List <EditoraViewModel>
            {
                new()
                {
                    Id    = Guid.NewGuid(),
                    Nome  = "Editora",
                    Email = "*****@*****.**",
                    Pais  = "Brasil"
                }
            };

            var resultado = responseFormatter.FormatarResposta(TipoRequisicao.Get, editora);

            resultado.Should().BeOfType <BadRequestObjectResult>()
            .Which.StatusCode.Should().Be((int)HttpStatusCode.BadRequest);
        }