<?php

#namespace Saireh\Tests;

#require_once __DIR__ . "/../../bootstrap.php";

use PHPUnit\Framework\TestCase;
use Saireh\Payroll\CurlRequest;

class curl_requestTest extends TestCase
{
    private $curl;

    protected function setUp(): void
    {
        // Crear un recurso de sesión cURL simulado
        $this->curl = \curl_init();
    }

    protected function tearDown(): void
    {
        // Cerrar el recurso de sesión cURL
        curl_close($this->curl);
    }

    public function testPostRequest()
    {
        // URL de prueba
        $url = 'http://example.com/';

        // Datos de prueba
        $data = array('key' => 'value');

        // Configuración de la sesión cURL simulada
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);

        // Crear una instancia de CurlRequest
        $curlRequest = new CurlRequest($url, $this->curl);

        // Realizar la solicitud POST
        list($response, $info) = $curlRequest->post($data);

        // Verificar que la respuesta no esté vacía
        $this->assertNotEmpty($response);

        // Verificar que la información de la solicitud contenga la URL correcta
        $this->assertEquals($url, $info['url']);
    }

    public function testGetRequest()
    {
        // URL de prueba
        $url = 'http://example.com';

        // Configuración de la sesión cURL simulada
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);

        // Crear una instancia de CurlRequest
        $curlRequest = new CurlRequest($url, $this->curl);

        // Realizar la solicitud GET
        $response = $curlRequest->get($url, array("foo" => "var"));

        // Verificar que la respuesta no esté vacía
        $this->assertNotEmpty($response);
    }
}
