1 <?php declare(strict_types=1);
23 ->getMockBuilder(ilTermsOfServiceDocument::class)
24 ->disableOriginalConstructor()
25 ->addMethods([
'getId'])
29 ->getMockBuilder(ilHtmlPurifierInterface::class)
33 ->getMockBuilder(ilObjUser::class)
34 ->disableOriginalConstructor()
38 ->getMockBuilder(Filesystem::class)
42 ->getMockBuilder(FileUpload::class)
58 $form->getItemByPostVar(
'document')->getRequired(),
59 'Failed asserting document upload is required for new documents' 64 $form->getCommandButtons(),
65 'Failed asserting save and cancel buttons are given if form is editable' 67 $this->assertArrayHasKey(
69 $form->getCommandButtons(),
70 'Failed asserting save and cancel buttons are given if form is editable' 72 $this->assertArrayHasKey(
74 $form->getCommandButtons(),
75 'Failed asserting save and cancel buttons are given if form is editable' 79 $form->getCommandButtons()[0][
'cmd'],
80 'Failed asserting save and cancel buttons are given if form is editable' 84 $form->getCommandButtons()[1][
'cmd'],
85 'Failed asserting save and cancel buttons are given if form is editable' 102 $form->getCommandButtons(),
103 'Failed asserting only cancel button is given if form is not editable' 105 $this->assertArrayHasKey(
107 $form->getCommandButtons(),
108 'Failed asserting only cancel button is given if form is not editable' 112 $form->getCommandButtons()[0][
'cmd'],
113 'Failed asserting only cancel button is given if form is not editable' 123 ->getMockBuilder(ilTermsOfServiceDocument::class)
124 ->disableOriginalConstructor()
125 ->onlyMethods([
'fetchAllCriterionAssignments'])
126 ->addMethods([
'getId'])
130 ->expects($this->any())
131 ->method(
'fetchAllCriterionAssignments');
134 ->getMockBuilder(ilHtmlPurifierInterface::class)
141 $this->getMockBuilder(ImmutableStringMap::class)->getMock(),
147 ->getMockBuilder(ilObjUser::class)
148 ->disableOriginalConstructor()
149 ->onlyMethods([
'getId'])
153 ->expects($this->exactly(2))
158 ->getMockBuilder(Filesystem::class)
162 ->expects($this->exactly(2))
164 ->with(
'/agreements/' . $uploadResult->getName())
168 ->expects($this->exactly(2))
170 ->with(
'/agreements/' . $uploadResult->getName())
171 ->willReturn(
'phpunit');
174 ->expects($this->atLeast(1))
177 ->willReturnArgument(0);
180 ->expects($this->exactly(2))
182 ->with(
'/agreements/' . $uploadResult->getName());
185 ->getMockBuilder(FileUpload::class)
199 ->expects($this->any())
200 ->method(
'hasUploads')
204 ->expects($this->exactly(2))
205 ->method(
'hasBeenProcessed')
209 ->expects($this->exactly(2))
213 ->expects($this->exactly(2))
214 ->method(
'getResults')
220 ->expects($this->exactly(2))
221 ->method(
'moveOneFileTo')
232 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
233 $criterionConnector = $this->getMockBuilder(arConnector::class)->getMock();
235 $expectedSortingValueExistingDocuments = 10;
238 ->expects($this->once())
240 ->willReturnCallback(
function () use ($expectedSortingValueExistingDocuments) {
244 'title' =>
'another',
245 'sorting' => $expectedSortingValueExistingDocuments - 1,
251 ->expects($this->once())
259 $form = $this->getMockBuilder(ilTermsOfServiceDocumentFormGUI::class)
260 ->setConstructorArgs([
271 ->onlyMethods([
'checkInput'])
275 ->expects($this->once())
276 ->method(
'checkInput')
279 $_FILES[
'document'] = [];
281 'title' =>
'phpunit',
285 $form->setCheckInputCalled(
true);
287 $this->assertTrue($form->saveObject());
288 $this->assertFalse($form->hasTranslatedError());
289 $this->assertEmpty($form->getTranslatedError());
291 $expectedSortingValueExistingDocuments,
292 $document->getSorting(),
293 'Failed asserting that the sorting of the new document equals the maximum incremented by one when other documents exist' 296 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
299 ->expects($this->once())
301 ->willReturnCallback(
function () {
307 $form = $this->getMockBuilder(ilTermsOfServiceDocumentFormGUI::class)
308 ->setConstructorArgs([
319 ->onlyMethods([
'checkInput'])
323 ->expects($this->once())
324 ->method(
'checkInput')
327 $form->setCheckInputCalled(
true);
329 $this->assertTrue($form->saveObject());
330 $this->assertFalse($form->hasTranslatedError());
331 $this->assertEmpty($form->getTranslatedError());
334 $document->getSorting(),
335 'Failed asserting that the sorting of the new document equals 1 when no other document exists' 345 ->getMockBuilder(ilTermsOfServiceDocument::class)
346 ->disableOriginalConstructor()
347 ->addMethods([
'getId'])
351 ->expects($this->any())
356 ->getMockBuilder(ilHtmlPurifierInterface::class)
360 ->getMockBuilder(ilObjUser::class)
361 ->disableOriginalConstructor()
362 ->onlyMethods([
'getId'])
366 ->getMockBuilder(Filesystem::class)
370 ->getMockBuilder(FileUpload::class)
386 $form->getItemByPostVar(
'document')->getRequired(),
387 'Failed asserting document upload is not required for existing documents' 396 $expectedSorting = 10;
399 ->getMockBuilder(ilTermsOfServiceDocument::class)
400 ->disableOriginalConstructor()
401 ->onlyMethods([
'fetchAllCriterionAssignments'])
404 $document->setId(4711);
405 $document->setTitle(
'phpunit');
406 $document->setSorting($expectedSorting);
409 ->getMockBuilder(ilHtmlPurifierInterface::class)
413 ->getMockBuilder(ilObjUser::class)
414 ->disableOriginalConstructor()
415 ->onlyMethods([
'getId'])
419 ->expects($this->once())
424 ->getMockBuilder(Filesystem::class)
428 ->getMockBuilder(FileUpload::class)
442 ->expects($this->any())
443 ->method(
'hasUploads')
448 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
453 $form = $this->getMockBuilder(ilTermsOfServiceDocumentFormGUI::class)
454 ->setConstructorArgs([
465 ->onlyMethods([
'checkInput'])
469 ->expects($this->once())
470 ->method(
'checkInput')
474 'title' =>
'phpunit',
478 $form->setCheckInputCalled(
true);
480 $this->assertTrue($form->saveObject());
481 $this->assertFalse($form->hasTranslatedError());
482 $this->assertEmpty($form->getTranslatedError());
485 $document->getSorting(),
486 'Failed asserting that the sorting of the existing document has not been changed' 498 ->expects($this->any())
500 ->willReturn(
'translation');
505 ->getMockBuilder(ilTermsOfServiceDocument::class)
506 ->disableOriginalConstructor()
507 ->onlyMethods([
'fetchAllCriterionAssignments'])
508 ->addMethods([
'getId'])
512 ->getMockBuilder(ilHtmlPurifierInterface::class)
516 ->getMockBuilder(ilObjUser::class)
517 ->disableOriginalConstructor()
521 ->getMockBuilder(FileUpload::class)
535 ->expects($this->exactly(3))
536 ->method(
'hasUploads')
540 ->expects($this->exactly(3))
541 ->method(
'hasBeenProcessed')
545 ->expects($this->exactly(3))
552 $this->getMockBuilder(ImmutableStringMap::class)->getMock(),
561 $this->getMockBuilder(ImmutableStringMap::class)->getMock(),
567 ->expects($this->exactly(3))
568 ->method(
'getResults')
569 ->willReturnOnConsecutiveCalls(
571 [0 => $uploadFailingResult],
576 ->getMockBuilder(Filesystem::class)
580 ->expects($this->once())
582 ->with(
'/agreements/' . $uploadResult->getName())
587 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
592 $form = $this->getMockBuilder(ilTermsOfServiceDocumentFormGUI::class)
593 ->setConstructorArgs([
604 ->onlyMethods([
'checkInput'])
608 ->expects($this->once())
609 ->method(
'checkInput')
617 $form->setCheckInputCalled(
true);
619 $this->assertFalse($form->saveObject());
620 $this->assertTrue($form->hasTranslatedError());
621 $this->assertNotEmpty($form->getTranslatedError());
623 $form = $this->getMockBuilder(ilTermsOfServiceDocumentFormGUI::class)
624 ->setConstructorArgs([
635 ->onlyMethods([
'checkInput'])
639 ->expects($this->once())
640 ->method(
'checkInput')
643 $form->setCheckInputCalled(
true);
645 $this->assertFalse($form->saveObject());
646 $this->assertTrue($form->hasTranslatedError());
647 $this->assertNotEmpty($form->getTranslatedError());
649 $form = $this->getMockBuilder(ilTermsOfServiceDocumentFormGUI::class)
650 ->setConstructorArgs([
661 ->onlyMethods([
'checkInput'])
665 ->expects($this->once())
666 ->method(
'checkInput')
669 $form->setCheckInputCalled(
true);
671 $this->assertFalse($form->saveObject());
672 $this->assertTrue($form->hasTranslatedError());
673 $this->assertNotEmpty($form->getTranslatedError());
setGlobalVariable(string $name, $value)
static register(ActiveRecord $ar, arConnector $connector)
Class ilTermsOfServiceDocumentCriterionAssignment.
Class ilTermsOfServiceBaseTest.
Class ilTermsOfServiceDocument.