Ejemplo n.º 1
0
  public void setCategorias(List<Categoria> categorias, double saldoAnterior, double saldoAtual) {
    Categoria saldoAnteriorCategorias = new Categoria();
    Categoria saldoAtualCategorias = new Categoria();

    saldoAnteriorCategorias.setDescricao("Saldo anterior");
    saldoAtualCategorias.setDescricao("Saldo atual");

    saldoAnteriorCategorias.setSaldoPago(Util.arredondar(saldoAnterior));
    saldoAtualCategorias.setSaldoPago(Util.arredondar(saldoAtual));

    if (saldoAnterior > 0) {
      saldoAnteriorCategorias.setTipoCategoria(TipoCategoria.CREDITO);
    } else {
      saldoAnteriorCategorias.setTipoCategoria(TipoCategoria.DEBITO);
    }

    if (saldoAtual > 0) {
      saldoAtualCategorias.setTipoCategoria(TipoCategoria.CREDITO);
    } else {
      saldoAtualCategorias.setTipoCategoria(TipoCategoria.DEBITO);
    }

    this.categorias.add(saldoAnteriorCategorias);
    this.categorias.addAll(categorias);
    this.categorias.add(saldoAtualCategorias);
  }
  @SuppressWarnings("deprecation")
  @Test
  public void testProcessarRegras() throws ApplicationException {
    List<LancamentoConta> lancamentosAProcessar = new ArrayList<LancamentoConta>();
    List<LancamentoConta> lancamentosProcessados = new ArrayList<LancamentoConta>();

    // Cadastra as regras que serão usadas
    for (int i = 0; i < 3; i++) {
      RegraImportacao r = EntityInitializerFactory.initializeRegraImportacao(conta);
      r.setTexto("Regra " + i);
      r.setIdCategoria(categoria.getId());
      r.setIdFavorecido(favorecido.getId());
      r.setIdMeioPagamento(meioPagamento.getId());
      regraImportacaoService.cadastrar(r);
    }

    // Gera os lançamentos a processar
    LancamentoConta lancamento = new LancamentoConta();
    lancamento.setDataPagamento(new Date());
    lancamento.setDescricao("Lançamento de Teste Regra 2");

    lancamentosAProcessar.addAll(lancamento.clonarLancamentos(3, IncrementoClonagemLancamento.DIA));

    lancamentosProcessados = regraImportacaoService.processarRegras(conta, lancamentosAProcessar);

    int i = 0;

    for (LancamentoConta processado : lancamentosProcessados) {
      for (LancamentoConta aProcessar : lancamentosAProcessar) {
        if (aProcessar.getDataPagamento().equals(processado.getDataPagamento())) {
          assertEquals(categoria.getId(), processado.getCategoria().getId());
          assertEquals(favorecido.getId(), processado.getFavorecido().getId());
          assertEquals(meioPagamento.getId(), processado.getMeioPagamento().getId());
        }
      }
      i++;
    }

    assertEquals(3, i);
  }