public void QuandoConsultoUmaCotacaoDoFornecedorQueJaFoiPreenchidaRetornaOsDadosEsperados() { ProcessoDeCotacaoDeMaterial processo = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); Fornecedor fornecedor = processo.FornecedoresParticipantes.First().Fornecedor; var cotacao = processo.InformarCotacao(fornecedor.Codigo, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "Desc Incoterm"); var processoCotacaoItem = processo.Itens.First(); cotacao.InformarCotacaoDeItem(processoCotacaoItem, 100, 120, 12, DateTime.Today.AddMonths(1), "observacoes"); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processo); var consulta = ObjectFactory.GetInstance <IConsultaCotacaoDoFornecedor>(); CotacaoMaterialCadastroVm vm = consulta.ConsultarCotacaoDeMaterial(processo.Id, fornecedor.Codigo); Assert.IsNotNull(vm); Assert.AreEqual(processo.Id, vm.IdProcessoCotacao); Assert.AreEqual(cotacao.Id, vm.IdCotacao); Assert.AreEqual(cotacao.CondicaoDePagamento.Codigo, vm.CodigoCondicaoPagamento); Assert.AreEqual(cotacao.Incoterm.Codigo, vm.CodigoIncoterm); Assert.AreEqual("Desc Incoterm", vm.DescricaoIncoterm); Assert.AreEqual(fornecedor.Codigo, vm.CodigoFornecedor); Assert.IsTrue(processo.DataLimiteDeRetorno.HasValue); Assert.AreEqual(processo.DataLimiteDeRetorno.Value.ToShortDateString(), vm.DataLimiteDeRetorno); Assert.AreEqual("Aberto", vm.Status); }
public void QuandoConsultoUmaCotacaoDoFornecedorParaUmItemQueJaFoiPreenchidaRetornaOsDadosEsperados() { ProcessoDeCotacaoDeMaterial processo = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); Fornecedor fornecedor = processo.FornecedoresParticipantes.First().Fornecedor; var cotacao = processo.InformarCotacao(fornecedor.Codigo, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "Desc Incoterm"); var processoCotacaoItem = processo.Itens.First(); var cotacaoItem = cotacao.InformarCotacaoDeItem(processoCotacaoItem, 100, 120, 12, DateTime.Today.AddMonths(1), "observacoes"); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processo); var consulta = ObjectFactory.GetInstance <IConsultaCotacaoDoFornecedor>(); var itemDoProcesso = (ProcessoDeCotacaoDeMaterialItem)processo.Itens.First(); RequisicaoDeCompra requisicaoDeCompra = itemDoProcesso.RequisicaoDeCompra; CotacaoMaterialItemCadastroVm vm = consulta.ConsultarCotacaoDeItemDeMaterial(processo.Id, fornecedor.Codigo, requisicaoDeCompra.Numero, requisicaoDeCompra.NumeroItem); Assert.IsNotNull(vm); Assert.AreEqual(processo.Id, vm.IdProcessoCotacao); Assert.AreEqual(cotacao.Id, vm.IdCotacao); Assert.AreEqual(cotacaoItem.Id, vm.IdCotacaoItem); Assert.AreEqual(itemDoProcesso.Id, vm.IdProcessoCotacaoItem); Assert.AreEqual(itemDoProcesso.Produto.Descricao, vm.Material); Assert.AreEqual(itemDoProcesso.Quantidade, vm.Quantidade); Assert.AreEqual(itemDoProcesso.UnidadeDeMedida.Descricao, vm.UnidadeDeMedida); Assert.AreEqual(100, vm.ValorComImpostos); Assert.AreEqual(100, vm.Custo); Assert.AreEqual(100, vm.Preco); Assert.AreEqual(120, vm.Mva); }
public void QuandoInformoImpostosDeUmaCotacaoRetornaOsDadosDosImpostos() { ProcessoDeCotacaoDeMaterial processo = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); Fornecedor fornecedor = processo.FornecedoresParticipantes.First().Fornecedor; var cotacao = processo.InformarCotacao(fornecedor.Codigo, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "Desc Incoterm"); var itemDoProcesso = (ProcessoDeCotacaoDeMaterialItem)processo.Itens.First(); RequisicaoDeCompra requisicaoDeCompra = itemDoProcesso.RequisicaoDeCompra; var cotacaoItem = cotacao.InformarCotacaoDeItem(itemDoProcesso, 100, 120, 12, DateTime.Today.AddMonths(1), "observacoes"); cotacaoItem.InformarImposto(Enumeradores.TipoDeImposto.Icms, 1); cotacaoItem.InformarImposto(Enumeradores.TipoDeImposto.IcmsSubstituicao, 11); cotacaoItem.InformarImposto(Enumeradores.TipoDeImposto.Ipi, 21); cotacaoItem.InformarImposto(Enumeradores.TipoDeImposto.PisCofins, 3); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processo); var consulta = ObjectFactory.GetInstance <IConsultaCotacaoDoFornecedor>(); CotacaoImpostosVm vm = consulta.ConsultarCotacaoDeItemDeMaterial(processo.Id, fornecedor.Codigo, requisicaoDeCompra.Numero, requisicaoDeCompra.NumeroItem).Impostos; Assert.AreEqual(1, vm.IcmsAliquota); Assert.AreEqual(1, vm.IcmsValor); Assert.AreEqual(11, vm.IcmsStAliquota); Assert.AreEqual(11, vm.IcmsStValor); Assert.AreEqual(21, vm.IpiAliquota); Assert.AreEqual(21, vm.IpiValor); Assert.AreEqual(3, vm.PisCofinsValor); Assert.AreEqual(3, vm.PisCofinsAliquota); }
public void QuandoACotacaoPossuiIcmsDeSubstituicaoTributariaEoCampoMvaNaoForPreenchidoDeveDispararExcecao() { ProcessoDeCotacaoDeMaterial processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); var codigoFornecedor = processoDeCotacao.FornecedoresParticipantes.First().Fornecedor.Codigo; ProcessoDeCotacaoItem processoDeCotacaoItem = processoDeCotacao.Itens.First(); var cotacao = processoDeCotacao.InformarCotacao(codigoFornecedor, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "INC"); var cotacaoItem = cotacao.InformarCotacaoDeItem(processoDeCotacaoItem, 100, null, 100, DateTime.Today, null); cotacaoItem.InformarImposto(Enumeradores.TipoDeImposto.IcmsSubstituicao, 17); }
public ProcessoDeCotacaoDeMaterialFechamentoTests() { _unitOfWorkMock = CommonMocks.DefaultUnitOfWorkMock(); _processosDeCotacaoMock = new Mock <IProcessosDeCotacao>(MockBehavior.Strict); _processosDeCotacaoMock.Setup(x => x.Save(It.IsAny <ProcessoDeCotacao>())) .Callback( (ProcessoDeCotacao processoDeCotacao) => { _unitOfWorkMock.Verify(x => x.BeginTransaction(), Times.Once()); _unitOfWorkMock.Verify(x => x.Commit(), Times.Never()); Assert.IsNotNull(processoDeCotacao); foreach (var fornecedorParticipante in processoDeCotacao.FornecedoresParticipantes) { Assert.IsNotNull(fornecedorParticipante); } }); _processosDeCotacaoMock.Setup(x => x.BuscaPorId(It.IsAny <int>())) .Returns(_processosDeCotacaoMock.Object) .Callback((int idProcessoCotacao) => { _unitOfWorkMock.Verify(x => x.BeginTransaction(), Times.Once()); _unitOfWorkMock.Verify(x => x.Commit(), Times.Never()); if (idProcessoCotacao == 10) { _processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado(); _processoDeCotacao.AdicionarFornecedor(DefaultObjects.ObtemFornecedorPadrao()); } if (idProcessoCotacao == 20) { _processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); var codigoFornecedor = _processoDeCotacao.FornecedoresParticipantes.First().Fornecedor.Codigo; var cotacao = _processoDeCotacao.InformarCotacao(codigoFornecedor, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "inc"); var processoCotacaoItem = _processoDeCotacao.Itens.First(); var cotacaoItem = (CotacaoMaterialItem)cotacao.InformarCotacaoDeItem(processoCotacaoItem, 150, null, 100, DateTime.Today.AddMonths(1), "obs fornec"); cotacaoItem.Selecionar(100, DefaultObjects.ObtemIvaPadrao()); } if (idProcessoCotacao == 30) { _processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialFechado(); } }); _processosDeCotacaoMock.Setup(x => x.Single()).Returns(() => _processoDeCotacao); //_geradorDeEmailMock = new Mock<IGeradorDeEmailDeFechamentoDeProcessoDeCotacao>(MockBehavior.Strict); //_geradorDeEmailMock.Setup(x => x.GerarEmail(It.IsAny<ProcessoDeCotacao>())); _comunicacaoSapMock = new Mock <IProcessoDeCotacaoDeMaterialFechamentoComunicacaoSap>(MockBehavior.Strict); _comunicacaoSapMock.Setup(x => x.EfetuarComunicacao(It.IsAny <ProcessoDeCotacaoDeMaterial>(), It.IsAny <ProcessoDeCotacaoDeMaterialFechamentoInfoVm>())); _fechamentoDeProcessoDeCotacaoService = new FechamentoDeProcessoDeCotacaoDeMaterialService(_unitOfWorkMock.Object, _processosDeCotacaoMock.Object, _comunicacaoSapMock.Object); }
public void QuandoCrioUmaCotacaoAsPropriedadesSaoIniciadasCorretamente() { CondicaoDePagamento condicaoDePagamento = DefaultObjects.ObtemCondicaoDePagamentoPadrao(); Incoterm incoterm = DefaultObjects.ObtemIncotermPadrao(); ProcessoDeCotacaoDeMaterial processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); var fornecedor = processoDeCotacao.FornecedoresParticipantes.First().Fornecedor.Codigo; var cotacao = processoDeCotacao.InformarCotacao(fornecedor, condicaoDePagamento, incoterm, "Descrição do Incoterm"); Assert.AreSame(incoterm, cotacao.Incoterm); Assert.AreEqual("Descrição do Incoterm", cotacao.DescricaoIncoterm); Assert.AreSame(condicaoDePagamento, cotacao.CondicaoDePagamento); }
public void ConsigoPersistirEConsultarUmProcessoDeCotacaoComFornecedores() { ProcessoDeCotacaoDeMaterial processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacaoDeMaterial); var processosDeCotacaoDeMaterial = ObjectFactory.GetInstance <IProcessosDeCotacao>(); //sou obrigado a executar o método Clear aqui, caso contrário o objeto que foi persistido fica em cache UnitOfWorkNh.Session.Clear(); var processoConsultado = (ProcessoDeCotacaoDeMaterial)processosDeCotacaoDeMaterial.BuscaPorId(processoDeCotacaoDeMaterial.Id).Single(); Assert.AreEqual(processoDeCotacaoDeMaterial.FornecedoresParticipantes.Count, processoConsultado.FornecedoresParticipantes.Count); }
public void QuandoFecharUmProcessoDeCotacaoDevePassarParaStatusFechadoEPreencherDataDeFechamento() { ProcessoDeCotacaoDeMaterial processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); string codigoDoFornecedor = processoDeCotacaoDeMaterial.FornecedoresParticipantes.First().Fornecedor.Codigo; var cotacao = processoDeCotacaoDeMaterial.InformarCotacao(codigoDoFornecedor, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "inc"); var processoCotacaoItem = processoDeCotacaoDeMaterial.Itens.First(); var cotacaoItem = (CotacaoMaterialItem)cotacao.InformarCotacaoDeItem(processoCotacaoItem, 120, null, 100, DateTime.Today.AddMonths(1), "obs fornec"); Iva iva = DefaultObjects.ObtemIvaPadrao(); cotacaoItem.Selecionar(100, iva); processoDeCotacaoDeMaterial.Fechar(); Assert.AreEqual(Enumeradores.StatusProcessoCotacao.Fechado, processoDeCotacaoDeMaterial.Status); Assert.AreEqual(DateTime.Now.Date, processoDeCotacaoDeMaterial.DataDeFechamento); }
public void QuandoConsultoUmaCotacaoDoFornecedorParaUmItemQueAindaNaoFoiPreenchidaRetornaOsDadosEsperados() { ProcessoDeCotacaoDeMaterial processo = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processo); Fornecedor fornecedor = processo.FornecedoresParticipantes.First().Fornecedor; var itemDoProcesso = (ProcessoDeCotacaoDeMaterialItem)processo.Itens.First(); RequisicaoDeCompra requisicaoDeCompra = itemDoProcesso.RequisicaoDeCompra; var consulta = ObjectFactory.GetInstance <IConsultaCotacaoDoFornecedor>(); CotacaoMaterialItemCadastroVm vm = consulta.ConsultarCotacaoDeItemDeMaterial(processo.Id, fornecedor.Codigo, requisicaoDeCompra.Numero, requisicaoDeCompra.NumeroItem); Assert.IsNotNull(vm); Assert.AreEqual(itemDoProcesso.Produto.Descricao, vm.Material); Assert.AreEqual(itemDoProcesso.Quantidade, vm.Quantidade); Assert.AreEqual(itemDoProcesso.UnidadeDeMedida.Descricao, vm.UnidadeDeMedida); Assert.IsNull(vm.ValorComImpostos); Assert.IsNull(vm.Preco); Assert.IsNull(vm.Mva); }
public void QuandoConsultoUmaCotacaoDoFornecedorQueAindaNaoFoiPreenchidaRetornaOsDadosEsperados() { ProcessoDeCotacaoDeMaterial processo = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processo); Fornecedor fornecedor = processo.FornecedoresParticipantes.First().Fornecedor; var consulta = ObjectFactory.GetInstance <IConsultaCotacaoDoFornecedor>(); CotacaoMaterialCadastroVm vm = consulta.ConsultarCotacaoDeMaterial(processo.Id, fornecedor.Codigo); Assert.IsNotNull(vm); Assert.AreEqual(processo.Id, vm.IdProcessoCotacao); Assert.AreEqual(0, vm.IdCotacao); Assert.IsNull(vm.CodigoCondicaoPagamento); Assert.IsNull(vm.CodigoIncoterm); Assert.IsNull(vm.DescricaoIncoterm); Assert.AreEqual(fornecedor.Codigo, vm.CodigoFornecedor); Assert.IsTrue(processo.DataLimiteDeRetorno.HasValue); Assert.AreEqual(processo.DataLimiteDeRetorno.Value.ToShortDateString(), vm.DataLimiteDeRetorno); Assert.AreEqual("Aberto", vm.Status); }
public void QuandoCrioUmItemDeCotacaoAsPropriedasSaoIniciadasCorretamente() { CondicaoDePagamento condicaoDePagamento = DefaultObjects.ObtemCondicaoDePagamentoPadrao(); Incoterm incoterm = DefaultObjects.ObtemIncotermPadrao(); ProcessoDeCotacaoDeMaterial processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); var fornecedor = processoDeCotacao.FornecedoresParticipantes.First().Fornecedor.Codigo; var cotacao = processoDeCotacao.InformarCotacao(fornecedor, condicaoDePagamento, incoterm, "Descrição do Incoterm"); var itemDoProcesso = processoDeCotacao.Itens.First(); var cotacaoItem = (CotacaoMaterialItem)cotacao.InformarCotacaoDeItem(itemDoProcesso, 110, 5, 80, DateTime.Today.AddMonths(1), "observacoes"); Assert.IsFalse(cotacaoItem.Selecionada); Assert.IsNull(cotacaoItem.Iva); Assert.IsNull(cotacaoItem.QuantidadeAdquirida); Assert.AreEqual(110, cotacaoItem.Preco); Assert.AreEqual(110, cotacaoItem.PrecoInicial); Assert.AreEqual(110, cotacaoItem.ValorComImpostos); Assert.AreEqual(110, cotacaoItem.Custo); Assert.AreEqual(5, cotacaoItem.Mva); Assert.AreEqual(80, cotacaoItem.QuantidadeDisponivel); Assert.AreEqual(DateTime.Today.AddMonths(1), cotacaoItem.PrazoDeEntrega); Assert.AreEqual("observacoes", cotacaoItem.Observacoes); }
public void QuandoAtualizoUmItemDeCotacaoAsPropriedadesSaoAlteradasCorretamente() { CondicaoDePagamento condicaoDePagamento = DefaultObjects.ObtemCondicaoDePagamentoPadrao(); Incoterm incoterm = DefaultObjects.ObtemIncotermPadrao(); ProcessoDeCotacaoDeMaterial processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); var fornecedor = processoDeCotacao.FornecedoresParticipantes.First().Fornecedor.Codigo; var cotacao = processoDeCotacao.InformarCotacao(fornecedor, condicaoDePagamento, incoterm, "Descrição do Incoterm"); var itemDoProcesso = processoDeCotacao.Itens.First(); var cotacaoItem = (CotacaoMaterialItem)cotacao.InformarCotacaoDeItem(itemDoProcesso, 110, 0, 80, DateTime.Today.AddMonths(1), "observacoes"); decimal valorLiquidoInicial = cotacaoItem.Preco; cotacaoItem.Atualizar(220, 10, 90, DateTime.Today.AddMonths(2), "observacoes alteradas"); Assert.AreEqual(220, cotacaoItem.Preco); Assert.AreEqual(valorLiquidoInicial, cotacaoItem.PrecoInicial); Assert.AreEqual(220, cotacaoItem.ValorComImpostos); Assert.AreEqual(220, cotacaoItem.Custo); Assert.AreEqual(10, cotacaoItem.Mva); Assert.AreEqual(DateTime.Today.AddMonths(2), cotacaoItem.PrazoDeEntrega); Assert.AreEqual(90, cotacaoItem.QuantidadeDisponivel); Assert.AreEqual("observacoes alteradas", cotacaoItem.Observacoes); }
public void NaoEPermitidoRemoverItensDeUmProcessoDeCotacaoAberto() { ProcessoDeCotacaoDeMaterial processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); processoDeCotacao.RemoverItem(processoDeCotacao.Itens.First()); }
public void NaoEPermitidoAdicionarItensEmUmProcessoDeCotacaoAberto() { ProcessoDeCotacaoDeMaterial processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); processoDeCotacao.AdicionarItem(DefaultObjects.ObtemRequisicaoDeCompraPadrao()); }
public void QuandoFecharUmProcessoDeCotacaoENaoHouverPeloMenosFornecedorSelecionadoDeveGerarExcecao() { ProcessoDeCotacaoDeMaterial processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); processoDeCotacaoDeMaterial.Fechar(); }
public ProcessoDeCotacaoAberturaTests() { _unitOfWorkMock = CommonMocks.DefaultUnitOfWorkMock(); _processosDeCotacaoMock = new Mock <IProcessosDeCotacao>(MockBehavior.Strict); _processosDeCotacaoMock.Setup(x => x.Save(It.IsAny <ProcessoDeCotacao>())) .Callback( (ProcessoDeCotacao processoDeCotacao) => { _unitOfWorkMock.Verify(x => x.BeginTransaction(), Times.Once()); _unitOfWorkMock.Verify(x => x.Commit(), Times.Never()); Assert.IsNotNull(processoDeCotacao); foreach (var fornecedorParticipante in processoDeCotacao.FornecedoresParticipantes) { Assert.IsNotNull(fornecedorParticipante); } }); _processosDeCotacaoMock.Setup(x => x.BuscaPorId(It.IsAny <int>())) .Returns(_processosDeCotacaoMock.Object) .Callback((int idProcessoCotacao) => { _unitOfWorkMock.Verify(x => x.BeginTransaction(), Times.Once()); _unitOfWorkMock.Verify(x => x.Commit(), Times.Never()); if (idProcessoCotacao == 10) { _processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado(); _processoDeCotacao.AdicionarFornecedor(DefaultObjects.ObtemFornecedorPadrao()); } if (idProcessoCotacao == 20) { _processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAbertoPadrao(); var codigoFornecedor = _processoDeCotacao.FornecedoresParticipantes.First().Fornecedor.Codigo; var cotacao = _processoDeCotacao.InformarCotacao(codigoFornecedor, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "inc"); var processoCotacaoItem = _processoDeCotacao.Itens.First(); var cotacaoItem = (CotacaoMaterialItem)cotacao.InformarCotacaoDeItem(processoCotacaoItem, 150, null, 100, DateTime.Today.AddMonths(1), "obs fornec"); cotacaoItem.Selecionar(100, DefaultObjects.ObtemIvaPadrao()); } }); _processosDeCotacaoMock.Setup(x => x.Single()).Returns(() => _processoDeCotacao); _comunicacaoSapMock = new Mock <IProcessoDeCotacaoComunicacaoSap>(MockBehavior.Strict); _comunicacaoSapMock.Setup(x => x.EfetuarComunicacao(It.IsAny <ProcessoDeCotacao>())) .Returns(new ApiResponseMessage { Retorno = new Retorno { Codigo = "200", Texto = "S" } }); _geradorDeEmailMock = new Mock <IGeradorDeEmailDeAberturaDeProcessoDeCotacao>(MockBehavior.Strict); _geradorDeEmailMock.Setup(x => x.GerarEmail(It.IsAny <ProcessoDeCotacao>())); _gerenciadorUsuarioMock = new Mock <IGerenciadorUsuario>(MockBehavior.Strict); _gerenciadorUsuarioMock.Setup(x => x.CriarSenhaParaUsuariosSemSenha(It.IsAny <string[]>())); _usuariosMock = new Mock <IUsuarios>(MockBehavior.Strict); _usuariosMock.Setup(x => x.UsuarioConectado()).Returns(_usuarioConectado); _service = new AberturaDeProcessoDeCotacaoService(_unitOfWorkMock.Object, _processosDeCotacaoMock.Object, _geradorDeEmailMock.Object, _comunicacaoSapMock.Object, _gerenciadorUsuarioMock.Object, _usuariosMock.Object); }