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