Ajudar Teste Com JUnit

Minha Classe De Teste:

`package com.getnet.antecipacao.service.impl;

import java.util.Date;

import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.springframework.stereotype.Service;

import com.getnet.antecipacao.dto.AprovarFlexibilizacaoDto;
import com.getnet.antecipacao.exception.ParBusinessException;
import com.getnet.antecipacao.repository.FlexibilizacaoRepository;
import com.getnet.antecipacao.repository.Par12AntOperDiaAntecRepository;
import com.getnet.antecipacao.repository.Par13AntOperDiaAntecRepository;
import com.getnet.antecipacao.repository.Par19AntOperConsDtAntecRepository;
import com.getnet.antecipacao.repository.Par32ParamTravaTxSprdMinRepository;
import com.getnet.antecipacao.repository.Par34CanalXTravaRepository;
import com.getnet.antecipacao.repository.Par38NegociacaoRepository;
import com.getnet.antecipacao.repository.Par41AntOperTotDispVencRepository;
import com.getnet.antecipacao.service.AprovarFlexibilizacaoService;

import junit.framework.Assert;

@Service
public class AprovarFlexibilizacaoServiceImplTest implements AprovarFlexibilizacaoService {

@InjectMocks
AprovarFlexibilizacaoServiceImpl aprovarFlexibilizacaoServiceImpl;

@Mock
private Par12AntOperDiaAntecRepository par12AntOperDiaAntecRepository;

@Mock
private Par13AntOperDiaAntecRepository par13AntOperDiaAntecRepository;

@Mock
private Par19AntOperConsDtAntecRepository par19AntOperConsDtAntecRepository;

@Mock
private Par32ParamTravaTxSprdMinRepository par32ParamTravaTxSprdMinRepository;

@Mock
private Par34CanalXTravaRepository par34CanalXTravaRepository;

@Mock
private Par38NegociacaoRepository par38NegociacaoRepository;

@Mock
private Par41AntOperTotDispVencRepository par41AntOperTotDispVencRepository;

@Mock
private FlexibilizacaoRepository flexibilizacaoRepository;

@Test
public void testAprovarFlexibilizacao () {
	
	try {
		Mockito.when(par13AntOperDiaAntecRepository.obterDataAntecipacao()).thenReturn(new Date());
		Mockito.when(aprovarFlexibilizacaoServiceImpl.aprovarFlexibilizacao(aprovarFlexibilizacaoDtoVazio())).thenThrow(new ParBusinessException());
		AprovarFlexibilizacaoDto aprovarFlexibilizacaoDto = aprovarFlexibilizacaoServiceImpl.aprovarFlexibilizacao(aprovarFlexibilizacaoDtoVazio());
		Assert.assertTrue(false);
	
	} catch (Exception e) {
		System.out.println(e.getCause());
	} //catch (ParBusinessException e) {
		// TODO: handle exception
	//}
}

private AprovarFlexibilizacaoDto aprovarFlexibilizacaoDtoNull () {
	AprovarFlexibilizacaoDto aprovarFlexibilizacaoDto = null;
	return aprovarFlexibilizacaoDto;
}

private AprovarFlexibilizacaoDto aprovarFlexibilizacaoDtoVazio () {
	AprovarFlexibilizacaoDto aprovarFlexibilizacaoDto = new AprovarFlexibilizacaoDto();
	return aprovarFlexibilizacaoDto;
}

@Override
public AprovarFlexibilizacaoDto aprovarFlexibilizacao(AprovarFlexibilizacaoDto dto)
		throws ParBusinessException, Exception {
	// TODO Auto-generated method stub
	return null;
}

}
`

Classe A Ser Testada:

`package com.getnet.antecipacao.service.impl;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.getnet.antecipacao.bean.Par12AntOperDiaAntec;
import com.getnet.antecipacao.bean.Par19AntOperConsDtAntec;
import com.getnet.antecipacao.bean.Par32ParamTravaTxSprdMin;
import com.getnet.antecipacao.bean.Par34CanalXTrava;
import com.getnet.antecipacao.bean.Par38Negociacao;
import com.getnet.antecipacao.dto.AprovarFlexibilizacaoDto;
import com.getnet.antecipacao.enums.CodigoBandeira;
import com.getnet.antecipacao.enums.CodigoStatusNegociacao;
import com.getnet.antecipacao.enums.CodigoStatusOperacao;
import com.getnet.antecipacao.exception.ParBusinessException;
import com.getnet.antecipacao.model.ObterDesconto;
import com.getnet.antecipacao.model.VencimentosDescontosEntrada;
import com.getnet.antecipacao.repository.FlexibilizacaoRepository;
import com.getnet.antecipacao.repository.Par12AntOperDiaAntecRepository;
import com.getnet.antecipacao.repository.Par13AntOperDiaAntecRepository;
import com.getnet.antecipacao.repository.Par19AntOperConsDtAntecRepository;
import com.getnet.antecipacao.repository.Par32ParamTravaTxSprdMinRepository;
import com.getnet.antecipacao.repository.Par34CanalXTravaRepository;
import com.getnet.antecipacao.repository.Par38NegociacaoRepository;
import com.getnet.antecipacao.repository.Par41AntOperTotDispVencRepository;
import com.getnet.antecipacao.service.AprovarFlexibilizacaoService;
import com.getnet.antecipacao.util.ObterDescontoUtils;

@Service
public class AprovarFlexibilizacaoServiceImpl implements AprovarFlexibilizacaoService {

@Autowired
private Par12AntOperDiaAntecRepository par12AntOperDiaAntecRepository;

@Autowired
private Par13AntOperDiaAntecRepository par13AntOperDiaAntecRepository;

@Autowired
private Par19AntOperConsDtAntecRepository par19AntOperConsDtAntecRepository;

@Autowired
private Par32ParamTravaTxSprdMinRepository par32ParamTravaTxSprdMinRepository;

@Autowired
private Par34CanalXTravaRepository par34CanalXTravaRepository;

@Autowired
private Par38NegociacaoRepository par38NegociacaoRepository;

@Autowired
private Par41AntOperTotDispVencRepository par41AntOperTotDispVencRepository;

@Autowired
private FlexibilizacaoRepository flexibilizacaoRepository;

private static final String INDICADOR_TOTAL_NAO = "N";
private static final String STATUS_CONSULTA = "C";

private static final int SUCESSO = 0;

private static final int APROVADO_SEM_ALTERACAO = 1;
private static final int APROVADO_COM_ALTERACAO = 2;

private static final int TAXA_INFERIOR_TRAVA_32 = 23;
private static final int SPREAD_INFERIOR_TRAVA_32 = 24;
private static final int DT_OPER_MAIOR_HOJE = 25;
private static final int OPER_NAO_ENCONTRADA = 28;
private static final int FLUXOS_DIVERGENTES = 35;
private static final int STATUS_DIF_SIMULACAO = 41;
private static final int NAO_EXISTE_NEG = 53;
private static final int NEGOCIACAO_STATUS_INVALIDO_2_3 = 54;
private static final int NEGOCIACAO_STATUS_INVALIDO_4 = 55;

@Override
public AprovarFlexibilizacaoDto aprovarFlexibilizacao (AprovarFlexibilizacaoDto dto) throws ParBusinessException, Exception {
	
	Date dataAntecipacao = par13AntOperDiaAntecRepository.obterDataAntecipacao();
	if ( dataAntecipacao.after(new Date())) {
		throw new ParBusinessException(DT_OPER_MAIOR_HOJE);
	}

	Par12AntOperDiaAntec par12 = par12AntOperDiaAntecRepository.encontraOperacoesSeqIgual(dto.getCodigoEc(), dto.getNumeroOperacao());
	if (par12 == null) {
		throw new ParBusinessException(OPER_NAO_ENCONTRADA);
	}

	if (!par12.getOperStatusAntec().equals(CodigoStatusOperacao.SIMULACAO.getCode())) {
		throw new ParBusinessException(STATUS_DIF_SIMULACAO);
	}

	Par38Negociacao negociacao = par38NegociacaoRepository.encontraPar38NegociacaoPorIdOperDiaAntec(par12.getIdOperDiaAntec());
	if (negociacao == null) {
		throw new ParBusinessException(NAO_EXISTE_NEG);
	}

	if (negociacao.getOperStatus().equals(CodigoStatusNegociacao.APROVADO_MESA.getCode()) || negociacao.getOperStatus().equals(CodigoStatusNegociacao.APROVADO_MESA_COM_ALTERACAO.getCode())) {
		throw new ParBusinessException(NEGOCIACAO_STATUS_INVALIDO_2_3);
	}

	if (negociacao.getOperStatus().equals(CodigoStatusNegociacao.REPROVADO_MESA.getCode())) {
		throw new ParBusinessException(NEGOCIACAO_STATUS_INVALIDO_4);
	}

	if (!negociacao.getOperStatus().equals(CodigoStatusNegociacao.CANCELADO.getCode())) {
		if(dto.getAcao().equals(APROVADO_SEM_ALTERACAO)){
			persistirFlexibilizacao(par12, dto, CodigoStatusNegociacao.APROVADO_MESA);

		} else if(dto.getAcao().equals(APROVADO_COM_ALTERACAO)){

			verificarTaxaSpreadMinimo(dto.getTaxaProposta(), dto.getSpreadProposto(), dataAntecipacao, dto.getCanal());

			List<Par19AntOperConsDtAntec> par19List = par19AntOperConsDtAntecRepository.consultarOperacoesFluxosPorIdOperDiaAntec(par12.getIdOperDiaAntec());
			if (par19List == null) {
				throw new ParBusinessException(FLUXOS_DIVERGENTES);
			}
			List<VencimentosDescontosEntrada> fluxos = ObterDescontoUtils.convertePar19ListParaVencDescEntDtos(par19List);

			ObterDesconto desconto = par41AntOperTotDispVencRepository.obterDesconto(
					dto.getCanal(),
					STATUS_CONSULTA,
					dto.getCodigoEc(),
					par12.getOperVlBrutoAntec(),
					dto.getTaxaProposta(),
					dto.getSpreadProposto(),
					CodigoBandeira.BANDEIRA999.getCode(),
					INDICADOR_TOTAL_NAO,
					fluxos,
					dto.getUsuario(),
					Long.valueOf(fluxos.size()));

			ObterDescontoUtils.validaRetornoObterDescontoFlexibilizacao(desconto);
			persistirFlexibilizacaoAlteracaoTaxa(par12, desconto, dto);
		}
	}
	dto.setCodigoRetorno(SUCESSO);
	return dto;
}

private void persistirFlexibilizacao(Par12AntOperDiaAntec par12,
		AprovarFlexibilizacaoDto dto, CodigoStatusNegociacao codStatusNeg) throws ParBusinessException {

	int status = flexibilizacaoRepository.procAtualizarFlexibilizacao(par12.getIdOperDiaAntec(),
			codStatusNeg.getCode(),
			dto.getTaxaProposta(),
			dto.getSpreadProposto(),
			dto.getUsuario(),
			dto.getTextoDefesa());

	if(status != 0){
		throw new ParBusinessException(status);
	}
}

private void persistirFlexibilizacaoAlteracaoTaxa(Par12AntOperDiaAntec par12, ObterDesconto desconto, AprovarFlexibilizacaoDto dto) throws ParBusinessException {

	int status = flexibilizacaoRepository.procAprovarSolicitacaoAlteracaoTaxa(par12.getIdOperDiaAntec(),
			desconto.getValorDescontoTotal(), desconto.getValorLiquidoTotal(), desconto.getTaxaOperacao(),
			desconto.getTaxaEfetiva(), dto.getTaxaProposta(), desconto.getSpreadOperacao(),
			desconto.getSpreadEfetivo(), dto.getSpreadProposto(), desconto.getCustoOperacao(),
			desconto.getCustoEfetivo(), dto.getUsuario(), dto.getTextoDefesa(),
			desconto.getListaVencimentoDesconto());

	if (status != 0) {
		throw new ParBusinessException(status);
	}
}

private void verificarTaxaSpreadMinimo(BigDecimal taxaProposta, BigDecimal spreadProposto, Date dataAntecipacao, Long canal)
		throws ParBusinessException {

	Par32ParamTravaTxSprdMin travaTaxaSpread = par32ParamTravaTxSprdMinRepository.obterTaxaSpreadMínimo(dataAntecipacao);
	if(travaTaxaSpread != null){
		Par34CanalXTrava bypass = par34CanalXTravaRepository.pesquisarCanalXTraxaExistente(travaTaxaSpread.getIdParamTravaTxSprdMin(), canal);

		if(bypass == null){
			if(taxaProposta != null && taxaProposta.compareTo(travaTaxaSpread.getParamTxMinima()) < 0 ){
				throw new ParBusinessException(TAXA_INFERIOR_TRAVA_32);
			}
			if(spreadProposto != null && spreadProposto.compareTo(travaTaxaSpread.getParamSpreadMinimo()) < 0 ){
				throw new ParBusinessException(SPREAD_INFERIOR_TRAVA_32);
			}
		}
	}
}

}
`

Bom minha dificuldade é como testar essa classe, estou tentando fazer dessa forma e só estou recebendo NULL nem entra na classe aonde do tentando testar, já tentei procurar na internet mais não achei nada parecido com essa classe que preciso testar, estou usando o Mockito junto com o JUnit mais não precisa ser exatamente com Mockito se algúem souber só usando o JUnit já vai me ajudar bastante.