19declare(strict_types=1);
21use PHPUnit\Framework\TestCase;
24use ILIAS\TestQuestionPool\Questions\SuggestedSolution\SuggestedSolutionText;
38 string $internal_link,
40 int $subquestion_index,
43 DateTimeImmutable $last_update
61 protected function setUp(): void
64 $this->createMock(ilDBInterface::class),
73 $import_id =
'imported_xy';
74 $subquestion_index = 0;
75 $type = SuggestedSolution::TYPE_FILE;
78 'name' =>
'something.jpg',
79 'type' =>
'image/jpeg',
81 'filename' =>
'actually title of file',
84 $last_update =
new DateTimeImmutable();
86 $sugsol = $this->repo->getSolution(
96 $this->assertInstanceOf(SuggestedSolution::class, $sugsol);
97 $this->assertInstanceOf(SuggestedSolutionFile::class, $sugsol);
99 $this->assertEquals($values[$sugsol::ARRAY_KEY_TITLE], $sugsol->getTitle());
100 $this->assertEquals($values[$sugsol::ARRAY_KEY_MIME], $sugsol->getMime());
101 $this->assertEquals($values[$sugsol::ARRAY_KEY_SIZE], $sugsol->getSize());
102 $this->assertEquals($values[$sugsol::ARRAY_KEY_FILENAME], $sugsol->getFilename());
103 $this->assertEquals(serialize($values), $sugsol->getStorableValue());
104 $this->assertTrue($sugsol->isOfTypeFile());
105 $this->assertFalse($sugsol->isOfTypeLink());
111 #[\PHPUnit\Framework\Attributes\Depends('testSuggestedSolutionFile')]
115 'name' =>
'somethingelse.ico',
116 'type' =>
'image/x-icon',
123 ->withMime($values[
'type'])
124 ->withSize($values[
'size'])
125 ->withFilename($values[
'name']);
127 $this->assertEquals($values[
'name'], $sugsol->
getTitle());
128 $this->assertEquals($values[
'name'], $sugsol->getFileName());
129 $this->assertEquals($values[
'type'], $sugsol->
getMime());
130 $this->assertEquals($values[
'size'], $sugsol->
getSize());
132 $nu_title =
'another title';
133 $this->assertEquals($nu_title, $sugsol->
withTitle($nu_title)->getTitle());
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
a suggested solution for file-contents
a suggested solution that links to some other object/place
Repository for suggested solutions.
buildSuggestedSolution(int $id, int $question_id, string $internal_link, string $import_id, int $subquestion_index, string $type, string $value, \DateTimeImmutable $last_update)
test the suggested solution immutable(s)
getSolution(int $id, int $question_id, string $internal_link, string $import_id, int $subquestion_index, string $type, string $value, DateTimeImmutable $last_update)
SuggestedSolutionRepoMock $repo
testSuggestedSolutionFile()
testSuggestedSolutionMutatorsFile(SuggestedSolutionFile $sugsol)
return['delivery_method'=> 'php',]
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...