ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
AdministrationEditLinksTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
23use PHPUnit\Framework\TestCase;
29use PHPUnit\Framework\Attributes\DataProvider;
30
31class AdministrationEditLinksTest extends TestCase
32{
33 public function testConstruct(): void
34 {
35 $admin = $this->getMockBuilder(Administration::class)->disableOriginalConstructor()->getMock();
36 $gui = $this->getMockBuilder(ilLegalDocumentsAdministrationGUI::class)->disableOriginalConstructor()->getMock();
37 $this->assertInstanceOf(AdministrationEditLinks::class, new AdministrationEditLinks($gui, $admin));
38 }
39
40 #[DataProvider('methods')]
41 public function testMethods(string $method, string $target, int $argc): void
42 {
43 $admin = $this->getMockBuilder(Administration::class)->disableOriginalConstructor()->getMock();
44 $gui = $this->getMockBuilder(ilLegalDocumentsAdministrationGUI::class)->disableOriginalConstructor()->getMock();
45
46 $args = [
47 $this->getMockBuilder(Document::class)->disableOriginalConstructor()->getMock(),
48 $this->getMockBuilder(Criterion::class)->disableOriginalConstructor()->getMock(),
49 ];
50
51 $args = array_slice($args, 0, $argc);
52
53 $admin->expects(self::once())->method($target)->with($gui, ...[...$args, $method])->willReturn('my-link');
54
55 $instance = new AdministrationEditLinks($gui, $admin);
56 $this->assertSame('my-link', $instance->$method(...$args));
57 }
58
59 public static function methods(): array
60 {
61 return [
62 ['editCriterion', 'targetWithDocAndCriterion', 2],
63 ['deleteCriterion', 'targetWithDocAndCriterion', 2],
64 ];
65 }
66}
testMethods(string $method, string $target, int $argc)