<?xml version="1.0" encoding="UTF-8"?>
<phpunit
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd"
	bootstrap="tests/bootstrap.php"
	colors="true"
	verbose="true"
	stopOnFailure="false"
	processIsolation="false"
	backupGlobals="false"
	testdox="true">

	<testsuites>
		<testsuite name="KiviCare API Contract Tests">
			<directory>tests/contract</directory>
		</testsuite>
		<testsuite name="KiviCare API Integration Tests">
			<directory>tests/integration</directory>
		</testsuite>
		<testsuite name="KiviCare API Unit Tests">
			<directory>tests/unit</directory>
		</testsuite>
		<testsuite name="KiviCare API Performance Tests">
			<directory>tests/performance</directory>
		</testsuite>
	</testsuites>

	<coverage>
		<report>
			<html outputDirectory="coverage-html" lowUpperBound="50" highLowerBound="80"/>
			<text outputFile="coverage.txt" showUncoveredFiles="false" showOnlySummary="true"/>
		</report>
	</coverage>

	<source>
		<include>
			<directory suffix=".php">src</directory>
		</include>
		<exclude>
			<directory>src/vendor</directory>
			<file>src/kivicare-api.php</file>
		</exclude>
	</source>

	<logging>
		<junit outputFile="tests/_output/junit.xml"/>
		<testdoxHtml outputFile="tests/_output/testdox.html"/>
	</logging>

	<php>
		<server name="WP_TESTS_DIR" value="/tmp/wordpress-tests-lib"/>
		<server name="WP_CORE_DIR" value="/tmp/wordpress/"/>
		<server name="WP_TESTS_CONFIG_FILE" value="/tmp/wordpress-tests-lib/wp-tests-config.php"/>
		
		<!-- WordPress Database Configuration -->
		<server name="DB_NAME" value="wordpress_test"/>
		<server name="DB_USER" value="root"/>
		<server name="DB_PASSWORD" value=""/>
		<server name="DB_HOST" value="localhost"/>
		<server name="DB_CHARSET" value="utf8"/>
		<server name="DB_COLLATE" value=""/>
		
		<!-- WordPress Configuration -->
		<server name="WP_DEBUG" value="true"/>
		<server name="WP_DEBUG_LOG" value="true"/>
		<server name="WP_DEBUG_DISPLAY" value="false"/>
		<server name="SCRIPT_DEBUG" value="true"/>
		<server name="WP_TESTS_MULTISITE" value="false"/>
		
		<!-- KiviCare API Test Configuration -->
		<server name="KIVICARE_API_TEST_MODE" value="true"/>
		<server name="KIVICARE_API_DEBUG" value="true"/>
		<server name="KIVICARE_JWT_SECRET" value="test-secret-key-for-jwt-tokens"/>
		<server name="KIVICARE_API_CACHE_TTL" value="60"/>
		
		<!-- HTTP Test Server Configuration -->
		<server name="WP_TESTS_DOMAIN" value="example.org"/>
		<server name="WP_TESTS_EMAIL" value="admin@example.org"/>
		<server name="WP_TESTS_TITLE" value="Test Blog"/>
		<server name="WP_PHP_BINARY" value="php"/>
		<server name="WP_TESTS_FORCE_KNOWN_BUGS" value="false"/>
	</php>
</phpunit>