19 declare(strict_types=1);
33 require_once __DIR__ .
'/../ContainerMock.php';
41 $this->assertInstanceOf(EditableDocumentTable::class,
new EditableDocumentTable($this->mock(DocumentTable::class), $this->mock(EditLinks::class)));
47 'columns' => [
'foo' =>
'bar',
'a' =>
'b'],
48 'ui' => $this->mockMethod(UI::class,
'txt', [
'actions'],
'txt: actions'),
49 ]), $this->mock(EditLinks::class));
52 'delete' => [
' ',
'',
'1%',
true],
55 'actions' => [
'txt: actions',
'',
'10%']
56 ], $instance->columns());
61 $config = $this->mock(TableConfig::class);
62 $config->expects(self::once())->method(
'addMultiCommand')->with(
'deleteDocuments',
'txt: delete');
63 $config->expects(self::once())->method(
'addCommandButton')->with(
'saveOrder',
'txt: sorting_save');
65 $ui = $this->mock(UI::class);
66 $ui->method(
'txt')->willReturnCallback(fn($key) =>
'txt: ' . $key);
68 $table = $this->mockTree(DocumentTable::class, [
'ui' =>
$ui]);
69 $table->expects(self::once())->method(
'config')->with($config);
73 $instance->config($config);
78 $select = $this->mock(TableSelection::class);
79 $document = $this->mock(Document::class);
80 $table = $this->mock(DocumentTable::class);
82 $table->expects(self::once())->method(
'mapSelection')->willReturn([$document]);
86 $rows = $instance->rows($select);
87 $this->assertSame([$document], $rows);
92 $instance =
new EditableDocumentTable($this->mock(DocumentTable::class), $this->mock(EditLinks::class));
94 $row = $instance->row($this->mock(Document::class), 1);
95 $this->assertSame([
'delete',
'order',
'criteria',
'actions'], array_keys($row));
100 $instance =
new EditableDocumentTable($this->mock(DocumentTable::class), $this->mock(EditLinks::class));
101 $this->assertSame(EditableDocumentTable::class, $instance->name());