<?php

namespace App\Tests\Unit\Service\Utils;

use App\Enum\Utils\EnvironnementVarEnum;
use App\Service\Utils\Environnement;
use PHPUnit\Framework\TestCase;
use RuntimeException;

class EnvironnementTest extends TestCase
{
    public function testGet(): void {
        $environnement = new Environnement();

        $_ENV[EnvironnementVarEnum::APP_ENV()->getValue()] = 'foo';

        $this->assertEquals(
            'foo',
            $environnement->get(EnvironnementVarEnum::APP_ENV()->getValue())
        );
    }

    public function testGetInvalid(): void {
        $environnement = new Environnement();

        $this->expectException(RuntimeException::class);
        $this->expectExceptionMessage('Undefined environment variable : invalid');

        $environnement->get('invalid');
    }
}
