Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,29 @@
use ILIAS\LegalDocuments\Value\Document;
use ILIAS\LegalDocuments\Value\Criterion;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\MockObject\Stub;

class AdministrationEditLinksTest extends TestCase
{
public function testConstruct(): void
{
$admin = $this->getMockBuilder(Administration::class)->disableOriginalConstructor()->getMock();
$gui = $this->getMockBuilder(ilLegalDocumentsAdministrationGUI::class)->disableOriginalConstructor()->getMock();
/** @var Administration&Stub $admin */
$admin = $this->createStub(Administration::class);
/** @var ilLegalDocumentsAdministrationGUI&Stub $gui */
$gui = $this->createStub(ilLegalDocumentsAdministrationGUI::class);
$this->assertInstanceOf(AdministrationEditLinks::class, new AdministrationEditLinks($gui, $admin));
}

#[DataProvider('methods')]
public function testMethods(string $method, string $target, int $argc): void
{
$admin = $this->getMockBuilder(Administration::class)->disableOriginalConstructor()->getMock();
$gui = $this->getMockBuilder(ilLegalDocumentsAdministrationGUI::class)->disableOriginalConstructor()->getMock();
/** @var ilLegalDocumentsAdministrationGUI&Stub $gui */
$gui = $this->createStub(ilLegalDocumentsAdministrationGUI::class);

$args = [
$this->getMockBuilder(Document::class)->disableOriginalConstructor()->getMock(),
$this->getMockBuilder(Criterion::class)->disableOriginalConstructor()->getMock(),
$this->createStub(Document::class),
$this->createStub(Criterion::class),
];

$args = array_slice($args, 0, $argc);
Expand Down
34 changes: 22 additions & 12 deletions components/ILIAS/LegalDocuments/tests/AdministrationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
use ILIAS\Refinery\Factory as Refinery;
use ILIAS\Refinery\KindlyTo\Group as KindlyToGroup;
use ILIAS\Refinery\Transformation;
use PHPUnit\Framework\MockObject\Stub;

require_once __DIR__ . '/ContainerMock.php';

Expand All @@ -49,17 +50,22 @@ class AdministrationTest extends TestCase

public function testConstruct(): void
{
$config = $this->getMockBuilder(Config::class)->disableOriginalConstructor()->getMock();
$container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
$ui = $this->getMockBuilder(UI::class)->disableOriginalConstructor()->getMock();
/** @var Config&Stub $config */
$config = $this->createStub(Config::class);
/** @var Container&Stub $container */
$container = $this->createStub(Container::class);
/** @var UI&Stub $ui */
$ui = $this->createStub(UI::class);

$this->assertInstanceOf(Administration::class, new Administration($config, $container, $ui));
}

public function testDeleteDocumentsConfirmation(): void
{
$config = $this->getMockBuilder(Config::class)->disableOriginalConstructor()->getMock();
$container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
/** @var Config&Stub $config */
$config = $this->createStub(Config::class);
/** @var Container&Stub $container */
$container = $this->createStub(Container::class);
$ui = $this->mockMethod(UI::class, 'txt', ['sure_delete_documents_p'], 'translated');

$documents = [$this->doc(9, 'First title'), $this->doc(49, 'Second title')];
Expand All @@ -83,13 +89,15 @@ public function testDeleteDocumentsConfirmation(): void

public function testDeleteDocuments(): void
{
$container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
$ui = $this->getMockBuilder(UI::class)->disableOriginalConstructor()->getMock();
/** @var Container&Stub $container */
$container = $this->createStub(Container::class);
/** @var UI&Stub $ui */
$ui = $this->createStub(UI::class);

$documents = [
$this->getMockBuilder(Document::class)->disableOriginalConstructor()->getMock(),
$this->getMockBuilder(Document::class)->disableOriginalConstructor()->getMock(),
$this->getMockBuilder(Document::class)->disableOriginalConstructor()->getMock(),
$this->createStub(Document::class),
$this->createStub(Document::class),
$this->createStub(Document::class),
];

$repository = $this->getMockBuilder(DocumentRepository::class)->getMock();
Expand All @@ -115,8 +123,10 @@ public function testDeleteDocuments(): void

public function testWithDocumentAndCriterion(): void
{
$container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
$ui = $this->getMockBuilder(UI::class)->disableOriginalConstructor()->getMock();
/** @var Container&Stub $container */
$container = $this->createStub(Container::class);
/** @var UI&Stub $ui */
$ui = $this->createStub(UI::class);

$criterion = $this->mockMethod(Criterion::class, 'id', [], 98);
$document = $this->mockMethod(Document::class, 'criteria', [], [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ class RoleDefinitionTest extends TestCase
public function testConstruct(): void
{
$this->assertInstanceOf(RoleDefinition::class, new RoleDefinition(
$this->mock(UI::class),
$this->mock(ilObjectDataCache::class),
$this->mock(ilRbacReview::class),
$this->stub(UI::class),
$this->stub(ilObjectDataCache::class),
$this->stub(ilRbacReview::class),
$this->fail(...)
));
}
Expand All @@ -54,10 +54,10 @@ public function testFormGroup(): void
}

$instance = new RoleDefinition(
$this->mock(UI::class),
$this->mock(ilObjectDataCache::class),
$this->mock(ilRbacReview::class),
fn() => $this->mock(Constraint::class)
$this->stub(UI::class),
$this->stub(ilObjectDataCache::class),
$this->stub(ilRbacReview::class),
fn() => $this->stub(Constraint::class)
);

$this->assertInstanceOf(Group::class, $instance->formGroup());
Expand All @@ -66,9 +66,9 @@ public function testFormGroup(): void
public function testTranslatedRole(): void
{
$instance = new RoleDefinition(
$this->mock(UI::class),
$this->stub(UI::class),
$this->mockMethod(ilObjectDataCache::class, 'lookupTitle', [87], 'foo'),
$this->mock(ilRbacReview::class),
$this->stub(ilRbacReview::class),
$this->fail(...)
);

Expand All @@ -79,8 +79,8 @@ public function testTranslatedType(): void
{
$instance = new RoleDefinition(
$this->mockMethod(UI::class, 'txt', ['crit_type_usr_global_role'], 'foo'),
$this->mock(ilObjectDataCache::class),
$this->mock(ilRbacReview::class),
$this->stub(ilObjectDataCache::class),
$this->stub(ilRbacReview::class),
$this->fail(...)
);

Expand All @@ -90,12 +90,12 @@ public function testTranslatedType(): void
public function testWithCriterion(): void
{
$instance = new RoleDefinition(
$this->mock(UI::class),
$this->mock(ilObjectDataCache::class),
$this->mock(ilRbacReview::class),
$this->stub(UI::class),
$this->stub(ilObjectDataCache::class),
$this->stub(ilRbacReview::class),
$this->fail(...)
);

$this->assertInstanceOf(Role::class, $instance->withCriterion($this->mock(CriterionContent::class)));
$this->assertInstanceOf(Role::class, $instance->withCriterion($this->stub(CriterionContent::class)));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,25 +38,25 @@ class UserCountryDefinitionTest extends TestCase
public function testConstruct(): void
{
$this->assertInstanceOf(UserCountryDefinition::class, new UserCountryDefinition(
$this->mock(UI::class),
$this->stub(UI::class),
$this->fail(...)
));
}

public function testFormGroup(): void
{
$instance = new UserCountryDefinition(
$this->mock(UI::class),
fn() => $this->mock(Constraint::class)
$this->stub(UI::class),
fn() => $this->stub(Constraint::class)
);

$this->assertInstanceOf(Group::class, $instance->formGroup());
}

public function testWithCriterion(): void
{
$instance = new UserCountryDefinition($this->mock(UI::class), $this->fail(...));
$this->assertInstanceOf(UserCountry::class, $instance->withCriterion($this->mock(CriterionContent::class)));
$instance = new UserCountryDefinition($this->stub(UI::class), $this->fail(...));
$this->assertInstanceOf(UserCountry::class, $instance->withCriterion($this->stub(CriterionContent::class)));
}

public function testTranslatedType(): void
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,20 +37,20 @@ class UserLanguageDefinitionTest extends TestCase

public function testConstruct(): void
{
$this->assertInstanceOf(UserLanguageDefinition::class, new UserLanguageDefinition($this->mock(UI::class), [], $this->fail(...)));
$this->assertInstanceOf(UserLanguageDefinition::class, new UserLanguageDefinition($this->stub(UI::class), [], $this->fail(...)));
}

public function testFormGroup(): void
{
$instance = new UserLanguageDefinition($this->mock(UI::class), [], fn() => $this->mock(Constraint::class));
$instance = new UserLanguageDefinition($this->stub(UI::class), [], fn() => $this->stub(Constraint::class));

$this->assertInstanceOf(Group::class, $instance->formGroup());
}

public function testWithCriterion(): void
{
$instance = new UserLanguageDefinition($this->mock(UI::class), [], $this->fail(...));
$this->assertInstanceOf(UserLanguage::class, $instance->withCriterion($this->mock(CriterionContent::class)));
$instance = new UserLanguageDefinition($this->stub(UI::class), [], $this->fail(...));
$this->assertInstanceOf(UserLanguage::class, $instance->withCriterion($this->stub(CriterionContent::class)));
}

public function testTranslatedType(): void
Expand Down
44 changes: 22 additions & 22 deletions components/ILIAS/LegalDocuments/tests/Condition/RoleTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,27 +40,27 @@ class RoleTest extends TestCase
public function testConstruct(): void
{
$this->assertInstanceOf(Role::class, new Role(
$this->mock(CriterionContent::class),
$this->mock(RoleDefinition::class),
$this->mock(UIFactory::class),
$this->mock(ilRbacReview::class)
$this->stub(CriterionContent::class),
$this->stub(RoleDefinition::class),
$this->stub(UIFactory::class),
$this->stub(ilRbacReview::class)
));
}

public function testAsComponent(): void
{
$legacy = $this->mock(Legacy\Content::class);
$legacy = $this->stub(Legacy\Content::class);
$legacy_factory = $this->mock(Legacy\Factory::class);
$legacy_factory
->expects($this->once())
->method('content')
->willReturn($legacy);

$this->assertSame($legacy, (new Role(
$this->mockTree(CriterionContent::class, ['arguments' => ['role_id' => 78]]),
$this->mock(RoleDefinition::class),
$this->mockTree(UIFactory::class, ['legacy' => $legacy_factory]),
$this->mock(ilRbacReview::class)
$this->stubTree(CriterionContent::class, ['arguments' => ['role_id' => 78]]),
$this->stub(RoleDefinition::class),
$this->stubTree(UIFactory::class, ['legacy' => $legacy_factory]),
$this->stub(ilRbacReview::class)
))->asComponent());
}

Expand All @@ -69,24 +69,24 @@ public function testEval(): void
$rbac = $this->mockMethod(ilRbacReview::class, 'isAssigned', [45, 78], true);

$instance = new Role(
$this->mockTree(CriterionContent::class, ['arguments' => ['role_id' => 78]]),
$this->mock(RoleDefinition::class),
$this->mock(UIFactory::class),
$this->stubTree(CriterionContent::class, ['arguments' => ['role_id' => 78]]),
$this->stub(RoleDefinition::class),
$this->stub(UIFactory::class),
$rbac
);

$this->assertTrue($instance->eval($this->mockTree(ilObjUser::class, ['getId' => 45])));
$this->assertTrue($instance->eval($this->stubTree(ilObjUser::class, ['getId' => 45])));
}

public function testDefinition(): void
{
$definition = $this->mock(RoleDefinition::class);
$definition = $this->stub(RoleDefinition::class);

$instance = new Role(
$this->mock(CriterionContent::class),
$this->stub(CriterionContent::class),
$definition,
$this->mock(UIFactory::class),
$this->mock(ilRbacReview::class)
$this->stub(UIFactory::class),
$this->stub(ilRbacReview::class)
);

$this->assertSame($definition, $instance->definition());
Expand All @@ -95,12 +95,12 @@ public function testDefinition(): void
public function testKnownToNeverMatchWith(): void
{
$instance = new Role(
$this->mock(CriterionContent::class),
$this->mock(RoleDefinition::class),
$this->mock(UIFactory::class),
$this->mock(ilRbacReview::class)
$this->stub(CriterionContent::class),
$this->stub(RoleDefinition::class),
$this->stub(UIFactory::class),
$this->stub(ilRbacReview::class)
);

$this->assertFalse($instance->knownToNeverMatchWith($this->mock(Condition::class)));
$this->assertFalse($instance->knownToNeverMatchWith($this->stub(Condition::class)));
}
}
Loading
Loading