Beispiel #1
0
        public async Task Deve_Retornar_Usuario_Solicitante_Quando_Requisitar_Novo_Cadastro_Usuario_Solicitante()
        {
            //Arrange
            var novoNumeroProtocolo = Guid.NewGuid().ToString();
            var usuarioSolicitante  = FakeData.SolicitarAtendimentoCommandValido;

            usuarioSolicitanteServico.ConsultarUsuarioSolicitantePorCPF(Arg.Any <string>())
            .Returns(_ => Result <UsuarioSolicitante> .Fail(""));

            protocoloServico.GerarNumeroProtocolo()
            .Returns(_ => Result <string> .Ok(novoNumeroProtocolo));

            protocoloServico.RegistrarNovoProtocolo(Arg.Any <Protocolo>())
            .Returns(_ => Result.Ok());

            mediator.Send(Arg.Any <RegistrarNovoUsuarioSolicitanteCommand>())
            .Returns(_ => Result <RegistrarNovoUsuarioSolicitanteResponse> .Ok(new RegistrarNovoUsuarioSolicitanteResponse
            {
                CPFSolicitante   = usuarioSolicitante.CPFSolicitante,
                EmailSolicitante = usuarioSolicitante.EmailSolicitante
            }));

            //Act
            var sut      = new SolicitarAtendimentoHandler(mediator, protocoloServico, usuarioSolicitanteServico);
            var response = await sut.Handle(usuarioSolicitante, default(CancellationToken)).ConfigureAwait(false);

            protocoloServico.Received().RegistrarNovoProtocolo(Arg.Any <Protocolo>()).GetAwaiter();
            response.Value.NovoNumeroProtocolo.Should().Be(novoNumeroProtocolo);
        }
Beispiel #2
0
        public async Task Deve_Retornar_Falha_Quando_GerarNumeroProtocolo_Lancar_Execessao()
        {
            //Arrange
            protocoloServico.GerarNumeroProtocolo()
            .Returns(_ => Task.FromException(new Exception()));

            usuarioSolicitanteServico.ConsultarUsuarioSolicitantePorCPF(Arg.Any <string>())
            .Returns(_ => Result <UsuarioSolicitante> .Fail(""));

            mediator.Send(Arg.Any <RegistrarNovoUsuarioSolicitanteCommand>())
            .Returns(_ => Result <RegistrarNovoUsuarioSolicitanteResponse> .Fail(""));

            var sut = new SolicitarAtendimentoHandler(mediator, protocoloServico, usuarioSolicitanteServico);

            //Act
            var response = await sut.Handle(FakeData.SolicitarAtendimentoCommandValido, default(CancellationToken)).ConfigureAwait(false);

            //Assert

            Assert.Multiple(() =>
            {
                Assert.IsNotNull(response);
                Assert.IsInstanceOf <Result <SolicitarAtendimentoResponse> >(response);
                Assert.IsNull(response.Value);
            });

            response.IsFailure.Should().BeTrue();
            response.Messages.Count.Should().Be(1);
        }
Beispiel #3
0
        public async Task Deve_Falhar_Quando_RegistrarNovoProtocolo_Retonar_Falha()
        {
            //Arrange
            var novoNumeroProtocolo = Guid.NewGuid().ToString();
            var usuarioSolicitante  = FakeData.SolicitarAtendimentoCommandValido;

            protocoloServico.GerarNumeroProtocolo()
            .Returns(_ => Result <string> .Ok(novoNumeroProtocolo));

            protocoloServico.RegistrarNovoProtocolo(Arg.Any <Protocolo>())
            .Returns(_ => Result.Fail(""));

            usuarioSolicitanteServico.ConsultarUsuarioSolicitantePorCPF(Arg.Any <string>()).Returns(_ => Result <UsuarioSolicitante> .Fail(""));

            mediator.Send(Arg.Any <RegistrarNovoUsuarioSolicitanteCommand>())
            .Returns(_ => Result <RegistrarNovoUsuarioSolicitanteResponse> .Ok(new RegistrarNovoUsuarioSolicitanteResponse
            {
                EmailSolicitante = usuarioSolicitante.EmailSolicitante
            }));

            //Act
            var sut      = new SolicitarAtendimentoHandler(mediator, protocoloServico, usuarioSolicitanteServico);
            var response = await sut.Handle(FakeData.SolicitarAtendimentoCommandValido, default(CancellationToken)).ConfigureAwait(false);

            //Assert
            protocoloServico.Received().RegistrarNovoProtocolo(Arg.Any <Protocolo>()).GetAwaiter();
            Assert.Multiple(() =>
            {
                Assert.IsNotNull(response);
                Assert.IsInstanceOf <Result <SolicitarAtendimentoResponse> >(response);
                Assert.IsNull(response.Value);
                Assert.IsTrue(response.IsFailure);
                Assert.AreEqual(1, response.Messages.Count);
            });
        }
Beispiel #4
0
        public async Task Deve_Retornar_Falha_Quando_Request_Nao_Contem_Nome()
        {
            //Arrange
            var handler = new SolicitarAtendimentoHandler(mediator, protocoloServico, usuarioSolicitanteServico);

            //Act
            var response = await handler.Handle(FakeData.SolicitarAtendimentoCommandSemNome, default(CancellationToken)).ConfigureAwait(false);

            //Assert
            Assert.Multiple(() =>
            {
                Assert.IsNotNull(response);
                Assert.IsInstanceOf <Result <SolicitarAtendimentoResponse> >(response);
                Assert.IsNull(response.Value);
                Assert.IsTrue(response.IsFailure);
                Assert.AreEqual(response.Messages.Count, 2);
            });
        }
Beispiel #5
0
        public async Task Deve_Retornar_Falha_Quando_Consultar_Usuario_Requisicao_Cadastro_Retornar_Null()
        {
            //Arrange
            usuarioSolicitanteServico.ConsultarUsuarioSolicitantePorCPF(Arg.Any <string>()).Returns(_ => Result <UsuarioSolicitante> .Fail(""));
            protocoloServico.GerarNumeroProtocolo().Returns(_ => Result <string> .Ok(Guid.NewGuid().ToString()));

            //Act
            var handler  = new SolicitarAtendimentoHandler(mediator, protocoloServico, usuarioSolicitanteServico);
            var response = await handler.Handle(FakeData.SolicitarAtendimentoCommandValido, default(CancellationToken)).ConfigureAwait(false);

            //Assert
            //Assert
            Assert.Multiple(() =>
            {
                Assert.IsNotNull(response);
                Assert.IsInstanceOf <Result <SolicitarAtendimentoResponse> >(response);
                Assert.IsNull(response.Value);
            });

            response.IsFailure.Should().BeTrue();
            response.Messages.Count.Should().Be(1);
        }