@@ -76,7 +76,7 @@ class TestAssignmentsPresenter extends Tester\TestCase
7676 $ this ->hardwareGroups = $ container ->getByType (HardwareGroups::class);
7777 $ this ->assignmentSolutionViewFactory = $ container ->getByType (AssignmentSolutionViewFactory::class);
7878
79- // patch container, since we cannot create actual file storage manarer
79+ // patch container, since we cannot create actual file storage manager
8080 $ fsName = current ($ this ->container ->findByType (FileStorageManager::class));
8181 $ this ->container ->removeService ($ fsName );
8282 $ this ->container ->addService ($ fsName , new FileStorageManager (
@@ -234,8 +234,7 @@ class TestAssignmentsPresenter extends Tester\TestCase
234234
235235 /** @var Mockery\Mock | AssignmentEmailsSender $mockAssignmentEmailsSender */
236236 $ mockAssignmentEmailsSender = Mockery::mock (JobConfig \JobConfig::class);
237- $ mockAssignmentEmailsSender ->shouldReceive ()->never (
238- ); // this is the main assertion of this test (no mail is sent)
237+ $ mockAssignmentEmailsSender ->shouldReceive ()->never (); // this is the main assertion of this test (no mail is sent)
239238 $ this ->presenter ->assignmentEmailsSender = $ mockAssignmentEmailsSender ;
240239
241240 $ mockEvaluations = Mockery::mock (SolutionEvaluations::class);
@@ -619,32 +618,39 @@ class TestAssignmentsPresenter extends Tester\TestCase
619618 {
620619 PresenterTestHelper::loginDefaultAdmin ($ this ->container );
621620
621+ $ exercises = array_filter (
622+ $ this ->presenter ->exercises ->findAll (),
623+ function (Exercise $ e ) {
624+ return !$ e ->getFileLinks ()->isEmpty (); // select the exercise with file links
625+ }
626+ );
627+ Assert::count (1 , $ exercises );
622628 /** @var Exercise $exercise */
623- $ exercise = $ this ->presenter ->exercises ->findAll ()[0 ];
629+ $ exercise = array_pop ($ exercises );
630+
624631 /** @var Group $group */
625632 $ group = $ this ->presenter ->groups ->findAll ()[0 ];
626633
627- $ request = new Nette \Application \Request (
634+ $ payload = PresenterTestHelper::performPresenterRequest (
635+ $ this ->presenter ,
628636 'V1:Assignments ' ,
629637 'POST ' ,
630638 ['action ' => 'create ' ],
631639 ['exerciseId ' => $ exercise ->getId (), 'groupId ' => $ group ->getId ()]
632640 );
633641
634- $ response = $ this ->presenter ->run ($ request );
635- Assert::type (Nette \Application \Responses \JsonResponse::class, $ response );
636-
637- $ result = $ response ->getPayload ();
638- Assert::equal (200 , $ result ['code ' ]);
639-
640642 /** @var AssignmentViewFactory $viewFactory */
641643 $ viewFactory = $ this ->container ->getByType (AssignmentViewFactory::class);
642644
643645 // Make sure the assignment was persisted
644646 Assert::same (
645- $ viewFactory ->getAssignment ($ this ->presenter ->assignments ->findOneBy (['id ' => $ result [ ' payload ' ] ["id " ]])),
646- $ result [ ' payload ' ]
647+ $ viewFactory ->getAssignment ($ this ->presenter ->assignments ->findOneBy (['id ' => $ payload ["id " ]])),
648+ $ payload
647649 );
650+ Assert::count (2 , $ payload ['localizedTextsLinks ' ]);
651+ $ keys = array_keys ($ payload ['localizedTextsLinks ' ]);
652+ sort ($ keys );
653+ Assert::same (['LIB ' , 'ORIG ' ], $ keys );
648654 }
649655
650656 public function testCreateAssignmentFromLockedExercise ()
0 commit comments