<?xml version="1.0" encoding="UTF-8"?>
<!--
	Unit test suite configuration.

	`source` is the declared test scope: every file listed here is fully covered by intent — each of its
	public methods has a test. It is a curated allowlist, not a filter over the whole application; files
	that need a database, HTTP or a session never enter it. See docs/TESTING.md.
-->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
		 bootstrap="tests/bootstrap.php"
		 cacheDirectory="runtime/phpunit"
		 colors="true"
		 executionOrder="defects"
		 beStrictAboutOutputDuringTests="true"
		 failOnRisky="true"
		 failOnWarning="true"
		 failOnNotice="true"
		 failOnDeprecation="true">

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

	<source ignoreIndirectDeprecations="true" restrictNotices="true" restrictWarnings="true">
		<include>
			<file>helpers/CookieHelper.php</file>
			<file>helpers/DateRanges.php</file>
			<file>helpers/Email.php</file>
			<file>helpers/Geo.php</file>
			<file>helpers/Language.php</file>
			<file>helpers/Property.php</file>
			<file>helpers/SpreadsheetValue.php</file>
			<file>helpers/StringHelper.php</file>
			<file>helpers/StyleHelper.php</file>
			<file>helpers/Url.php</file>
			<file>helpers/Validation.php</file>
			<file>models/PaymentMethod.php</file>
			<file>models/PaymentStatus.php</file>
			<file>models/RentStatus.php</file>
			<file>models/StorageAvailability.php</file>
			<file>modules/admin/helpers/LabelingHelper.php</file>
			<file>modules/admin/models/ProposalRequestItemCalculator.php</file>
		</include>
	</source>

</phpunit>
