19 declare(strict_types=1);
43 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
44 $parent = $this->getMockBuilder(BadgeParent::class)->disableOriginalConstructor()->getMock();
45 $modal = $this->getMockBuilder(Modal::class)->disableOriginalConstructor()->getMock();
46 $sign_file =
static fn(
string $x):
string =>
'';
47 $format_date =
static fn(
int $x):
string =>
'';
49 $this->assertInstanceOf(Tile::class,
new Tile(
$container, $parent, $modal, $sign_file, $format_date));
52 #[DataProvider('provideAsVariants')] 53 public function testAs(
string $method, array $expected_components): void
55 $signed_file =
'/some-signed-file';
56 $badge_image_path =
'/file-path';
57 $badge_image_name =
'Dummy image';
58 $badge_image_rid_name =
'43242-324234-324234-234233';
59 $badge = $this->getMockBuilder(ilBadge::class)->disableOriginalConstructor()->getMock();
60 $modal_content = $this->getMockBuilder(ModalContent::class)->disableOriginalConstructor()->getMock();
61 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
62 $parent = $this->getMockBuilder(BadgeParent::class)->disableOriginalConstructor()->getMock();
63 $modal = $this->getMockBuilder(Modal::class)->disableOriginalConstructor()->getMock();
64 $ui = $this->getMockBuilder(UIServices::class)->disableOriginalConstructor()->getMock();
65 $ctrl = $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock();
66 $language = $this->getMockBuilder(ilLanguage::class)->disableOriginalConstructor()->getMock();
67 $resource_storage = $this->getMockBuilder(Services::class)->disableOriginalConstructor()->getMock();
68 $language->method(
'txt')->willReturnCallback(
69 static fn(
string $lang_key) =>
'Translated: ' . $lang_key
73 $container->method(
'language')->willReturn($language);
74 $container->method(
'resourceStorage')->willReturn($resource_storage);
75 $format_date =
function (
int $x):
void {
76 throw new \RuntimeException(
'Should not be called.');
78 $sign_file =
function (
string $path) use ($signed_file, $badge_image_path):
string {
82 $badge->method(
'getImagePath')->willReturn($badge_image_path);
83 $badge->method(
'getImage')->willReturn($badge_image_name);
84 $badge->method(
'getImageRid')->willReturn($badge_image_rid_name);
85 $modal_content->method(
'badge')->willReturn($badge);
87 $tile =
new Tile(
$container, $parent, $modal, $sign_file, $format_date);
91 $this->assertCount(\count($expected_components),
$components);
98 'Test asImage' => [
'asImage', [ModalComponent::class, ImageComponent::class]],
99 'Test asTitle' => [
'asTitle', [ModalComponent::class, ButtonComponent::class]],
100 'Test asTitleWithLeadingImage' => [
101 'asTitleWithLeadingImage',
102 [ModalComponent::class, ImageComponent::class, ButtonComponent::class]
static provideAsVariants()
testAs(string $method, array $expected_components)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...