<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php"
         colors="true"
         cacheDirectory=".phpunit.cache"
         failOnWarning="true"
         failOnDeprecation="true"
         failOnNotice="true"
         beStrictAboutTestsThatDoNotTestAnything="true"
         executionOrder="default"
         resolveDependencies="true">
    <testsuites>
        <testsuite name="Unit">
            <directory>tests/Unit</directory>
        </testsuite>
        <testsuite name="Feature">
            <directory>tests/Feature</directory>
        </testsuite>
        <testsuite name="Core">
            <directory>src/core</directory>
        </testsuite>
        <testsuite name="Services">
            <directory>src/services</directory>
        </testsuite>
        <testsuite name="Layout">
            <directory>src/layout</directory>
        </testsuite>
        <testsuite name="Modules">
            <directory>src/modules</directory>
        </testsuite>
    </testsuites>
    <source>
        <include>
            <directory>src</directory>
        </include>
    </source>
    <php>
        <!-- Testes rodam 100% isolados: banco real dedicado + drivers em memória. -->
        <env name="APP_ENV" value="testing"/>
        <env name="APP_KEY" value="base64:zTwb50ThDh/QqMLtW99159ZBDkM7g/aQXlc7LQ2X3vc="/>
        <env name="APP_DEBUG" value="true"/>
        <env name="BCRYPT_ROUNDS" value="4"/>
        <!-- Argon2id é o padrão (ADR-020); nos testes usa parâmetros baratos (mesmo algoritmo). -->
        <env name="ARGON_MEMORY" value="8192"/>
        <env name="ARGON_TIME" value="1"/>
        <env name="DB_DATABASE" value="concordia_test"/>
        <env name="CACHE_STORE" value="array"/>
        <env name="SESSION_DRIVER" value="array"/>
        <env name="QUEUE_CONNECTION" value="sync"/>
        <env name="MAIL_MAILER" value="array"/>
        <env name="FILESYSTEM_DISK" value="local"/>
        <env name="TELESCOPE_ENABLED" value="false"/>
        <!-- Telemetria OTLP nunca ligada nos testes: evita I/O de rede e latência (ADR-024). -->
        <env name="TELEMETRY_ENABLED" value="false"/>
        <!-- Únicos em memória nos testes (ADR-047): sem ValKey real, determinístico. -->
        <env name="METRICS_UNIQUE_DRIVER" value="array"/>
        <!-- Pepper fixo: o HMAC do HLL é determinístico nos testes. -->
        <env name="METRICS_UNIQUE_PEPPER" value="test-pepper"/>
        <env name="METRICS_UNIQUE_PEPPER_VERSION" value="1"/>
    </php>
</phpunit>
