Files
Portfolio-Codex/tests/projects.test.php
2026-02-04 17:03:04 +01:00

34 lines
1.1 KiB
PHP

<?php
require_once __DIR__ . '/../includes/functions.php';
function assertTrue($cond, $msg) {
if (!$cond) {
fwrite(STDERR, $msg . PHP_EOL);
exit(1);
}
}
$projects = getProjects();
assertTrue(is_array($projects), 'getProjects not array');
assertTrue(count($projects) >= 2, 'expected at least 2 projects');
$featured = getProjectsByCategory('vedette');
assertTrue(count($featured) >= 1, 'expected featured projects');
$found = getProjectBySlug('ecommerce-xyz');
assertTrue(is_array($found), 'project ecommerce-xyz not found');
assertTrue(($found['slug'] ?? '') === 'ecommerce-xyz', 'slug mismatch');
$missing = getProjectBySlug('inexistant');
assertTrue($missing === null, 'missing project should be null');
$missingData = loadJsonData('missing.json');
assertTrue($missingData === [], 'missing.json should return empty array');
$invalidPath = __DIR__ . '/../data/__invalid.json';
file_put_contents($invalidPath, '{invalid json');
$invalidData = loadJsonData('__invalid.json');
@unlink($invalidPath);
assertTrue($invalidData === [], 'invalid json should return empty array');
fwrite(STDOUT, "OK\n");