added glass scale symptoms to translations
Some checks failed
PHPUnit / test (push) Has been cancelled
Some checks failed
PHPUnit / test (push) Has been cancelled
This commit is contained in:
@ -1430,7 +1430,7 @@ function qdb_format_glass_answer_json_display(PDO $pdo, ?string $raw, array &$st
|
||||
*/
|
||||
function qdb_translation_entry_lists(PDO $pdo, string $qnID): array {
|
||||
$qStmt = $pdo->prepare("
|
||||
SELECT q.questionID, q.defaultText, q.configJson, q.orderIndex
|
||||
SELECT q.questionID, q.defaultText, q.type, q.configJson, q.orderIndex
|
||||
FROM question q WHERE q.questionnaireID = :id ORDER BY q.orderIndex
|
||||
");
|
||||
$qStmt->execute([':id' => $qnID]);
|
||||
|
||||
@ -515,6 +515,9 @@ if ($qnID) {
|
||||
if (isset($config['hint1'])) $q['hint1'] = $config['hint1'];
|
||||
if (isset($config['hint2'])) $q['hint2'] = $config['hint2'];
|
||||
if (isset($config['symptoms'])) $q['symptoms'] = $config['symptoms'];
|
||||
if ($layout === 'glass_scale_question' && !empty($config['symptoms'])) {
|
||||
$q['glassSymptoms'] = qdb_glass_symptoms_with_labels($pdo, $config);
|
||||
}
|
||||
if (isset($config['scaleType'])) $q['scaleType'] = $config['scaleType'];
|
||||
if (isset($config['range'])) $q['range'] = $config['range'];
|
||||
if (isset($config['step'])) $q['step'] = (int)$config['step'];
|
||||
|
||||
@ -27,6 +27,18 @@ final class AppQuestionnairesTest extends QdbTestCase
|
||||
]);
|
||||
$this->assertApiOk($res);
|
||||
$this->assertNotEmpty($res['data']['questions']);
|
||||
|
||||
$glass = null;
|
||||
foreach ($res['data']['questions'] as $q) {
|
||||
if (($q['layout'] ?? '') === 'glass_scale_question') {
|
||||
$glass = $q;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$this->assertNotNull($glass);
|
||||
$this->assertIsArray($glass['glassSymptoms'] ?? null);
|
||||
$symptomKeys = array_column($glass['glassSymptoms'], 'key');
|
||||
$this->assertContains($this->fixture()->glassSymptomKey, $symptomKeys);
|
||||
}
|
||||
|
||||
public function testCoachListsAssignedClients(): void
|
||||
|
||||
@ -80,4 +80,25 @@ final class TranslationsWriteTest extends QdbTestCase
|
||||
}
|
||||
$this->assertSame('Oui', $fr);
|
||||
}
|
||||
|
||||
public function testAllTranslationsIncludeGlassSymptomKeys(): void
|
||||
{
|
||||
$token = $this->api()->loginWebAndGetToken(
|
||||
DatabaseSeeder::ADMIN_USERNAME,
|
||||
DatabaseSeeder::PASSWORD
|
||||
)['token'];
|
||||
$f = $this->fixture();
|
||||
|
||||
$res = $this->api()->withToken($token, 'GET', 'translations', null, ['all' => '1']);
|
||||
$this->assertApiOk($res);
|
||||
|
||||
$stringKeys = [];
|
||||
foreach ($res['data']['entries'] as $entry) {
|
||||
if (($entry['type'] ?? '') === 'string') {
|
||||
$stringKeys[] = $entry['key'] ?? '';
|
||||
}
|
||||
}
|
||||
$this->assertContains($f->glassSymptomKey, $stringKeys);
|
||||
$this->assertContains('fatigue', $stringKeys);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user