ILIAS  trunk Revision v11.0_alpha-2645-g16283d3b3f8
AdministrationEditLinksTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
30 
31 class 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)