Esempio n. 1
0
 public ProcessoDeCotacaoDeFreteAberturaController(IAberturaDeProcessoDeCotacaoServiceFactory serviceFactory)
 {
     _service = serviceFactory.Construir();
 }
Esempio n. 2
0
        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);
        }