package com.ejie.ad74a.service.test.basic;

import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.util.List;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.TextMessage;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.ejie.ad74a.jms.service.PlateaJMSService;
import com.ejie.ad74a.jms.service.PlateaJMSServiceImpl;
import com.ejie.ad74a.model.Estados;
import com.ejie.ad74a.model.Prueba;
import com.ejie.ad74a.model.comun.Calle;
import com.ejie.ad74a.model.comun.Localidad;
import com.ejie.ad74a.model.comun.Municipio;
import com.ejie.ad74a.model.comun.Portal;
import com.ejie.ad74a.model.comun.Provincia;
import com.ejie.ad74a.service.EstadosService;
import com.ejie.ad74a.service.comun.NoraService;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:test/application-context.xml")
public class TestNoraService {

	@Autowired
	private NoraService noraService;

	@Test
	public void testProvinciasAll() {
		List<Provincia> listaProvincias = this.noraService.findAllProvincias();
		assertTrue("No se ha recuperado las provincias de Nora", listaProvincias != null && !listaProvincias.isEmpty());
	}

	@Test
	public void testMunicipioAll() {
		Municipio filterMunicipio = new Municipio();
		filterMunicipio.setCodProvincia("01");
		List<Municipio> listaMunicipio = this.noraService.findAllMunicipios(filterMunicipio);
		assertTrue("No se ha recuperado los municipios de Nora", listaMunicipio != null && !listaMunicipio.isEmpty());
	}

	@Test
	public void testLocalidadAll() {
		Localidad filterLocalidad = new Localidad();
		filterLocalidad.setCodProvincia("01");
		List<Localidad> listaLocalidades = this.noraService.findAllLocalidades(filterLocalidad);
		assertTrue("No se ha recuperado las localidades de Nora",
				listaLocalidades != null && !listaLocalidades.isEmpty());
	}

	@Test
	public void testCallesAll() {
		Calle filterCalle = new Calle();
		// 10105900000333 Elorriaga
		filterCalle.setCodProvincia("01");
		// 10105900000333 Elorriaga
		List<Calle> listaCalles = this.noraService.findAllCalles(filterCalle);
		assertTrue("No se ha recuperado las calles de Nora", listaCalles != null && !listaCalles.isEmpty());
	}

	@Test
	public void testPortalAll() {
		Portal filterPortal = new Portal();
		filterPortal.setCodLocalidad(10105900000333L);
		// 10105900000333 Elorriaga
		List<Portal> listaPortales = this.noraService.findAllPortales(filterPortal);
		assertTrue("No se ha recuperado los portales de Nora", listaPortales != null && !listaPortales.isEmpty());
	}

}
