diff --git a/phpunit.xml b/phpunit.xml
new file mode 100644
index 0000000..02b8a66
--- /dev/null
+++ b/phpunit.xml
@@ -0,0 +1,17 @@
+
+
+
+ tests
+
+
+
+ ./src
+
+
+
diff --git a/src/Checks/Puqi/MDPuqi.php b/src/Checks/Puqi/MDPuqi.php
index ad671f4..eae97bc 100644
--- a/src/Checks/Puqi/MDPuqi.php
+++ b/src/Checks/Puqi/MDPuqi.php
@@ -894,7 +894,7 @@ final class MDPuqi {
$this->_messages[] = new MDPuqiMessage(
MDPuqiCheckSection::metadataLicense,
- MDPuqiMessageStatus::warning,
+ MDPuqiMessageStatus::praise,
$this->_tlLoader->tl("basis", "basis", "metadata") . ': ' . $this->_tlLoader->tl("quality", "quality", "open_access_licence_used"),
self::QI_REWARD_METADATA_LICENCE_OPEN_ACCESS_ATTRIBUTION,
);
diff --git a/tests/MDPlausiTest.php b/tests/MDPlausiTest.php
index 0bf058f..bf6fd04 100644
--- a/tests/MDPlausiTest.php
+++ b/tests/MDPlausiTest.php
@@ -7,22 +7,13 @@
declare(strict_types = 1);
use PHPUnit\Framework\TestCase;
-
-define('TL_FILE_DIRS', [
- __DIR__ . '/../../../l10n/musdb/',
- __DIR__ . '/../../../l10n/quality-web/',
- __DIR__ . '/../../importer/dependencies/MDAllowedValueSets/l18n/',
-]);
-
-require_once __DIR__ . '/../src/Checks/Plausi/MDPlausi.php';
-require_once __DIR__ . '/../src/Checks/Plausi/MDEventCategory.php';
-require_once __DIR__ . '/../src/Checks/Plausi/MDPlausiEventCategory.php';
-require_once __DIR__ . '/../src/Checks/Plausi/MDPlausiEvent.php';
-# require_once __DIR__ . '/../../MDTlLoader/src/MDTlLoader.php';
-require_once __DIR__ . '/../../importer/dependencies/MDAllowedValueSets/src/MDRequirementsSet.php';
-require_once __DIR__ . '/../../importer/dependencies/MDAllowedValueSets/src/MDValueSet.php';
-require_once __DIR__ . '/../../importer/dependencies/MDAllowedValueSets/src/MDEventsSet.php';
-require_once __DIR__ . '/../../importer/dependencies/MDTlLoader/src/MDTlLoader.php';
+if (!defined('TL_FILE_DIRS')) {
+ define('TL_FILE_DIRS', [
+ __DIR__ . '/../../../l10n/musdb/',
+ __DIR__ . '/../../../l10n/quality-web/',
+ __DIR__ . '/../../importer/dependencies/MDAllowedValueSets/l18n/',
+ ]);
+}
/**
* Tests for plausi.
diff --git a/tests/MDPuqiTest.php b/tests/MDPuqiTest.php
index a18c7b1..c4e0da0 100644
--- a/tests/MDPuqiTest.php
+++ b/tests/MDPuqiTest.php
@@ -7,10 +7,79 @@
declare(strict_types = 1);
use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\Small;
/**
* Tests for PUQI.
*/
+#[small]
+#[CoversClass(\MDPuqi::class)]
final class MDPuqiTest extends TestCase {
+ /**
+ * Provider for licenses.
+ *
+ * @return Generator
+ */
+ public static function licenseProvider():Generator {
+ yield 'Empty' => ['', MDPuqiMessageStatus::warning, false];
+ yield 'Open' => ['CC0', MDPuqiMessageStatus::praise, true];
+ yield 'Open Attr' => ['CC BY', MDPuqiMessageStatus::praise, true];
+ yield 'Closed' => ['RR-F', MDPuqiMessageStatus::warning, false];
+
+ }
+
+ /**
+ * Test for license.
+ *
+ * @param string $input Input string.
+ * @param MDPuqiMessageStatus $warningStatus Expected message status.
+ * @param boolean $positive Positive or negative result.
+ *
+ * @return void
+ */
+ #[DataProvider('licenseProvider')]
+ public function testMetadataLicensesResultInExpectedAccessment(string $input, MDPuqiMessageStatus $warningStatus, bool $positive):void {
+
+ $tlLoader = new MDTlLoader("abc", "en");
+ $puqi = new MDPuqi($tlLoader);
+ $puqi->checkMetadataLicense($input);
+ $msgs = $puqi->getMessages();
+
+ self::assertEquals(1, count($msgs));
+ $msg = $msgs[0];
+
+ self::assertEquals($warningStatus, $msg->status);
+ $score = $puqi->getScore();
+ self::assertEquals($positive, $score > 0, "Expected score to be positive or negative, got the oppite result. Score is: " . $score);
+
+ }
+
+ /**
+ * Test for license.
+ *
+ * @param string $input Input string.
+ * @param MDPuqiMessageStatus $warningStatus Expected message status.
+ * @param boolean $positive Positive or negative result.
+ *
+ * @return void
+ */
+ #[DataProvider('licenseProvider')]
+ public function testImageLicensesResultInExpectedAccessment(string $input, MDPuqiMessageStatus $warningStatus, bool $positive):void {
+
+ $tlLoader = new MDTlLoader("abc", "en");
+ $puqi = new MDPuqi($tlLoader);
+ $puqi->checkImageLicenses([['license' => $input, 'rightsholder' => 'Somebody']]);
+ $msgs = $puqi->getMessages();
+
+ self::assertEquals(1, count($msgs));
+ $msg = $msgs[0];
+
+ self::assertEquals($warningStatus, $msg->status);
+ $score = $puqi->getScore();
+ self::assertEquals($positive, $score > 0, "Expected score to be positive or negative, got the oppite result. Score is: " . $score);
+
+ }
}
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
new file mode 100644
index 0000000..c7c9990
--- /dev/null
+++ b/tests/bootstrap.php
@@ -0,0 +1,48 @@
+