示例#1
0
        public async Task ObterPorId_OK_Quando_Base_Nao_Disponivel()
        {
            _mockFuncionarioRepositorioEscrita.Setup(x => x.RecuperarConexao())
            .Returns(_mockConexao.Object);

            _mockFuncionarioRepositorioEscrita.Setup(x => x.IniciarTransacao())
            .Returns(_mockTransacao.Object);

            _mockFuncionarioRepositorioLeitura.Setup(x => x.ObterPorId(It.IsAny <IDbTransaction>(), It.IsAny <Guid>()))
            .Throws(new Exception("Teste"));

            var service = new FuncionarioService(_mockFuncionarioRepositorioLeitura.Object, _mockFuncionarioRepositorioEscrita.Object, _mockLogger.Object);

            await Assert.ThrowsAsync <Exception>(async() => await service.ObterPorId(Guid.NewGuid()));

            _mockFuncionarioRepositorioLeitura.Verify(x => x.ObterPorId(It.IsAny <IDbTransaction>(), It.IsAny <Guid>()), Times.Once);
        }
示例#2
0
        private void btnEditar_Click(object sender, EventArgs e)
        {
            FormCadastroFunc alterar = new FormCadastroFunc();

            if (dataGridView1.CurrentRow != null)
            {
                alterar.funcionario = FuncionarioService.ObterPorId(Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value));
                if (alterar.ShowDialog() == DialogResult.OK)
                {
                    if (FuncionarioService.Alterar(alterar.funcionario))
                    {
                        MessageBox.Show("Alteração realizada com sucesso!", "chronOS", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        AtualizarGrid();
                        Contar();
                    }
                    else
                    {
                        MessageBox.Show("Não foi possível realizar a alteração no momento!", "chronOS", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }
示例#3
0
        public async Task ObterPorId_OK_Quando_Registro_Nao_Existe()
        {
            _mockFuncionarioRepositorioEscrita.Setup(x => x.RecuperarConexao())
            .Returns(_mockConexao.Object);

            _mockFuncionarioRepositorioEscrita.Setup(x => x.IniciarTransacao())
            .Returns(_mockTransacao.Object);

            _mockFuncionarioRepositorioLeitura.Setup(x => x.ObterPorId(It.IsAny <IDbTransaction>(), It.IsAny <Guid>()))
            .ReturnsAsync((Funcionario)null)
            .Callback <IDbTransaction, Guid>((transacao, id) =>
            {
                Output.WriteLine($"Callback Email: {id}");
            });

            var service = new FuncionarioService(_mockFuncionarioRepositorioLeitura.Object, _mockFuncionarioRepositorioEscrita.Object, _mockLogger.Object);

            var result = await service.ObterPorId(Guid.NewGuid());

            Output.WriteLine($"Result: {result}");

            _mockFuncionarioRepositorioLeitura.Verify(x => x.ObterPorId(It.IsAny <IDbTransaction>(), It.IsAny <Guid>()), Times.Once);
            result.Should().BeNull();
        }
示例#4
0
        public async Task ObterPorId_OK_Quando_Registro_Existe()
        {
            var person = _faker.Person;
            var id     = Guid.NewGuid();
            var tels   = new List <Telefone> {
                new Telefone("+55", "11", "90000-0000", id)
            };
            var endereco    = new Endereco("Rua", 10, "00000-000", "apto", "bairro", "cidade", "sp", Cadastro.Domain.Enums.TipoEnderecoEnum.Residencial, id);
            var funcionario = new Funcionario(id.ToString(), "matricular", "cargo",
                                              new Nome(person.FirstName, person.LastName),
                                              new DataNascimento(new System.DateTime(1987, 08, 14)),
                                              new Email(person.Email), tels, endereco, endereco);

            _mockFuncionarioRepositorioEscrita.Setup(x => x.RecuperarConexao())
            .Returns(_mockConexao.Object);

            _mockFuncionarioRepositorioEscrita.Setup(x => x.IniciarTransacao())
            .Returns(_mockTransacao.Object);

            _mockFuncionarioRepositorioLeitura.Setup(x => x.ObterPorId(It.IsAny <IDbTransaction>(), It.IsAny <Guid>()))
            .ReturnsAsync(funcionario)
            .Callback <IDbTransaction, Guid>((transacao, id) =>
            {
                Output.WriteLine($"Callback Email: {id}");
                Assert.Equal(funcionario.Id, id);
            });

            var service = new FuncionarioService(_mockFuncionarioRepositorioLeitura.Object, _mockFuncionarioRepositorioEscrita.Object, _mockLogger.Object);

            var result = await service.ObterPorId(funcionario.Id);

            Output.WriteLine($"Result: {result}");

            _mockFuncionarioRepositorioLeitura.Verify(x => x.ObterPorId(It.IsAny <IDbTransaction>(), It.IsAny <Guid>()), Times.Once);
            result.Should().NotBeNull();
        }