package com.nuevaeps.webapp.test;

import static org.junit.Assert.assertEquals;
import static org.testng.AssertJUnit.assertEquals;

import java.util.ArrayList;

import org.junit.Test;

import com.nuevaeps.webapp.bc.AutorizacionesBC;
import com.nuevaeps.webapp.bc.LoginBC;
import com.nuevaeps.webapp.ral.dto.AutorizacionesDTO;
import com.nuevaeps.webapp.ral.dto.LoginDTO;
import com.nuevaeps.webapp.utils.Configuracion;


/**
 * <pre>
 * Fecha      Autor     
 * 22-12-2021 Dilan Steven Mejia	
 * </pre>
 * 
 * Ejecuta los casos de prueba para realizar Solicitar y Consultar Autorizaciones.
 * 
 * @author Dilan Steven Mejia
 * 
 * **/
public class AutorizacionesTest {

	
	ArrayList<AutorizacionesDTO> AutorizacionesDataPool = new ArrayList<AutorizacionesDTO>();
	ArrayList<LoginDTO> loginDataPool = new ArrayList<LoginDTO>();
	//Ingresa la configuracion del navegador,la url, y la ruta del archivo de la data
	public void setup(){
		Configuracion.iniciarConfiguracion();
		//TODO this.AutorizacionesDataPool = 
	}

	/**
	 * <pre>
	 * Fecha      Autor     
	 * 22-12-2021 Dilan Steven Mejia	
	 * </pre>
	 * 
	 * Ejecuta los casos de prueba para realizar Solicitar y Consultar Autorizaciones.
	 * 
	 * @author Dilan Steven Mejia
	 * 
	 * **/
	//@Test
	public void cargarAutorizacionSoporteTamanoMaximo() {
		setup();
		assertEquals(AutorizacionesBC.solicitarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
	}
	
	/**
	 * <pre>
	 * Fecha      Autor     
	 * 22-12-2021 Dilan Steven Mejia	
	 * </pre>
	 * 
	 * 
	 * @author Dilan Steven Mejia
	 * 
	 * **/
	//@Test
	public void cargarAutorizacionSoporteYActualizar() {
		setup();
		assertEquals(AutorizacionesBC.solicitarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
	}
	
	/**
	 * <pre>
	 * Fecha      Autor     
	 * 22-12-2021 Dilan Steven Mejia	
	 * </pre>
	 * 
	 * 
	 * @author Dilan Steven Mejia
	 * 
	 * **/
	//@Test
	public void cargarAutorizacionSoporteActualizandoDatos() {
		setup();
		assertEquals(AutorizacionesBC.solicitarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
	}
	
	
	/**
	 * <pre>
	 * Fecha      Autor     
	 * 22-12-2021 Dilan Steven Mejia	
	 * </pre>
	 * 
	 * 
	 * @author Dilan Steven Mejia
	 * 
	 * **/
	//@Test
	public void cargarAutorizacionSinSoporte() {
		setup();
		assertEquals(AutorizacionesBC.solicitarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
	}
	
	/**
	 * <pre>
	 * Fecha      Autor     
	  * 22-12-2021 Dilan Steven Mejia	
	 * </pre>
	 * 
	 * 
	 * @author Dilan Steven Mejia
	 * 
	 * **/
	@Test
	public void consultaAutorizacionesFechaMayorMaxima() {
		/*
		 * Al ingresar un rango de fechas igual a 91 días y pulsar el botón consultar, 
		 * se genera una ventana emergente con el mensaje de alerta: "El rango de fechas 
		 * es máximo de 90 días" y el botón Aceptar.
		 * */
		setup();
		assertEquals(AutorizacionesBC.consultarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
	}
	
	
	/**
	 * <pre>
	 * Fecha      Autor     
	 * 22-12-2021 Dilan Steven Mejia	
	 * </pre>
	 * 
	 * 
	 * @author Dilan Steven Mejia
	 * 
	 * **/
	/*
	 * Al ingresar un rango de fechas igual a 90 días y pulsar el botón consultar, se despliega 
	 * en pantalla la información relacionada a los diferentes radicados que tiene el afiliado en 
	 * este periodo de tiempo. Se genera la siguiente información por cada uno de los radicados: 
	 * Nro. Radicado y estado
	 * 
	 * */
	@Test
	public void consultaAutorizacionesFechaMaxima() {/* en diseÃ±o.... cargar con file y llamar por STRING */
		setup();
		for (LoginDTO login : loginDataPool) 
		{
		/*Enviar cada objeto que contiene el escenario*/
			
		LoginBC.realizarLoginValido(login);
		}
		
		AutorizacionesDTO SolicitudAutorizacion= new AutorizacionesDTO();
		SolicitudAutorizacion.setFechaDesde("01/12/2021");
		SolicitudAutorizacion.setFechaHasta("10/01/2022");
		SolicitudAutorizacion.setRadicado("");
		assertEquals(AutorizacionesBC.consultarAutorizaciones(null).getMensajePantalla(),"Consultar autorizaciones");
	}
}
