<?xml version="1.0" encoding="UTF-8"?>
<!-- https://phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="tests/bootstrap.php">
    <php>
        <ini name="error_reporting" value="-1"/>
        <ini name="max_execution_time" value="-1"/>
        <ini name="intl.default_locale" value="en_US"/>
        <env name="KERNEL_CLASS" value="App\Kernel" force="true"/>
        <env name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>
        <env name="APP_ENV" value="test" force="true"/>
        <env name="APP_DEBUG" value="1" force="true"/>
        <env name="APP_SECRET" value="5a79a1c866efef9ca1800f971d689f3e" force="true"/>
        <!--
            CREATE DATABASE IF NOT EXISTS `kimai2_test`;
            CREATE USER IF NOT EXISTS `kimai2_test`@127.0.0.1;
            ALTER USER `kimai2_test`@127.0.0.1 IDENTIFIED BY "kimai2_test";
            GRANT execute,select,insert,update,delete,create,alter,drop,index,references ON `kimai2_test`.* TO kimai2_test@127.0.0.1;
        -->
        <env name="DATABASE_URL" value="mysql://kimai2_test:kimai2_test@127.0.0.1:3306/kimai2_test"/>
        <env name="CORS_ALLOW_ORIGIN" value="^https?://localhost(:[0-9]+)?$"/>
        <env name="MAILER_URL" value="null://null"/>
        <env name="MAILER_FROM" value="kimai@example.com"/>
        <!--
            REINSTALL THE TEST DATABASE, eg. AFTER CHANGING STRUCTURE!

            Simple:
            - change to "true"
            - composer tests
            - change back to "false"
        -->
        <env name="BOOTSTRAP_RESET_DATABASE" value="true"/>
    </php>

    <testsuites>
        <testsuite name="Kimai">
            <directory>tests/</directory>
        </testsuite>
    </testsuites>

    <coverage processUncoveredFiles="true">
        <include>
            <directory suffix=".php">src/</directory>
            <directory suffix=".php">templates/</directory>
        </include>
        <exclude>
            <directory suffix=".php">src/Migrations/</directory>
            <directory suffix=".php">assets/</directory>
            <directory suffix=".php">bin/</directory>
            <directory suffix=".php">config/</directory>
            <directory suffix=".php">node_modules/</directory>
            <directory suffix=".php">public/</directory>
            <directory suffix=".php">tests/</directory>
            <directory suffix=".php">translations/</directory>
            <directory suffix=".php">var/</directory>
            <directory suffix=".php">vendor/</directory>
        </exclude>
    </coverage>

    <!--
        wrap tests inside database transactions, so tests can safely manipulate contents without
        affecting other tests. @see https://github.com/dmaicher/doctrine-test-bundle
    -->
    <extensions>
        <extension class="DAMA\DoctrineTestBundle\PHPUnit\PHPUnitExtension"/>
    </extensions>

    <listeners>
        <listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener"/>
    </listeners>
</phpunit>
