ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
AdministrationEditLinksTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
29 
30 class AdministrationEditLinksTest extends TestCase
31 {
32  public function testConstruct(): void
33  {
34  $admin = $this->getMockBuilder(Administration::class)->disableOriginalConstructor()->getMock();
35  $gui = $this->getMockBuilder(ilLegalDocumentsAdministrationGUI::class)->disableOriginalConstructor()->getMock();
36  $this->assertInstanceOf(AdministrationEditLinks::class, new AdministrationEditLinks($gui, $admin));
37  }
38 
42  public function testMethods(string $method, string $target, int $argc): void
43  {
44  $admin = $this->getMockBuilder(Administration::class)->disableOriginalConstructor()->getMock();
45  $gui = $this->getMockBuilder(ilLegalDocumentsAdministrationGUI::class)->disableOriginalConstructor()->getMock();
46 
47  $args = [
48  $this->getMockBuilder(Document::class)->disableOriginalConstructor()->getMock(),
49  $this->getMockBuilder(Criterion::class)->disableOriginalConstructor()->getMock(),
50  ];
51 
52  $args = array_slice($args, 0, $argc);
53 
54  $admin->expects(self::once())->method($target)->with($gui, ...[...$args, $method])->willReturn('my-link');
55 
56  $instance = new AdministrationEditLinks($gui, $admin);
57  $this->assertSame('my-link', $instance->$method(...$args));
58  }
59 
60  public function methods(): array
61  {
62  return [
63  ['addCriterion', 'targetWithDoc', 1],
64  ['editDocument', 'targetWithDoc', 1],
65  ['deleteDocument', 'targetWithDoc', 1],
66  ['editCriterion', 'targetWithDocAndCriterion', 2],
67  ['deleteCriterion', 'targetWithDocAndCriterion', 2],
68  ];
69  }
70 }
testMethods(string $method, string $target, int $argc)
methods