Skip to content

Commit 530e3e0

Browse files
committed
Tests
1 parent a16400e commit 530e3e0

File tree

7 files changed

+78
-0
lines changed

7 files changed

+78
-0
lines changed

src/Traits/Configuration/ComponentConfiguration.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,13 +262,19 @@ public function setCollapsingColumnsDisabled(): self
262262
return $this;
263263
}
264264

265+
/**
266+
* @return $this
267+
*/
265268
public function setTableRowUrl(callable $callback): self
266269
{
267270
$this->trUrlCallback = $callback;
268271

269272
return $this;
270273
}
271274

275+
/**
276+
* @return $this
277+
*/
272278
public function setTableRowUrlTarget(callable $callback): self
273279
{
274280
$this->trUrlTargetCallback = $callback;

src/Traits/Helpers/ComponentHelpers.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,16 +276,29 @@ public function collapsingColumnsAreDisabled(): bool
276276
return $this->getCollapsingColumnsStatus() === false;
277277
}
278278

279+
/**
280+
* @return bool
281+
*/
279282
public function hasTableRowUrl(): bool
280283
{
281284
return $this->trUrlCallback !== null;
282285
}
283286

287+
/**
288+
* @param $row
289+
*
290+
* @return ?string
291+
*/
284292
public function getTableRowUrl($row): ?string
285293
{
286294
return $this->trUrlCallback ? call_user_func($this->trUrlCallback, $row) : null;
287295
}
288296

297+
/**
298+
* @param $row
299+
*
300+
* @return ?string
301+
*/
289302
public function getTableRowUrlTarget($row): ?string
290303
{
291304
return $this->trUrlTargetCallback ? call_user_func($this->trUrlTargetCallback, $row) : null;

src/Views/Traits/Configuration/ColumnConfiguration.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,9 @@ public function footer($callback = null): self
177177
return $this;
178178
}
179179

180+
/**
181+
* @return $this
182+
*/
180183
public function unclickable(): self
181184
{
182185
$this->clickable = false;

src/Views/Traits/Helpers/ColumnHelpers.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Rappasoft\LaravelLivewireTables\DataTableComponent;
88
use Rappasoft\LaravelLivewireTables\Exceptions\DataTableConfigurationException;
99
use Rappasoft\LaravelLivewireTables\Views\Column;
10+
use Rappasoft\LaravelLivewireTables\Views\Columns\LinkColumn;
1011

1112
trait ColumnHelpers
1213
{
@@ -510,6 +511,9 @@ public function arrayToAttributes(array $attributes)
510511
}, array_keys($attributes)));
511512
}
512513

514+
/**
515+
* @return bool
516+
*/
513517
public function isClickable(): bool
514518
{
515519
return $this->clickable &&

tests/Traits/Configuration/ComponentConfigurationTest.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,4 +211,28 @@ public function can_set_collapsing_columns_status(): void
211211

212212
$this->assertTrue($this->basicTable->getCollapsingColumnsStatus());
213213
}
214+
215+
/** @test */
216+
public function can_set_tr_url(): void
217+
{
218+
$this->assertNull($this->basicTable->getTableRowUrl(1));
219+
220+
$this->basicTable->setTableRowUrl(function ($row) {
221+
return 'https://example.com';
222+
});
223+
224+
$this->assertSame($this->basicTable->getTableRowUrl(1), 'https://example.com');
225+
}
226+
227+
/** @test */
228+
public function can_set_tr_url_target(): void
229+
{
230+
$this->assertNull($this->basicTable->getTableRowUrlTarget(1));
231+
232+
$this->basicTable->setTableRowUrlTarget(function ($row) {
233+
return '__blank';
234+
});
235+
236+
$this->assertSame($this->basicTable->getTableRowUrlTarget(1), '__blank');
237+
}
214238
}

tests/Traits/Helpers/ComponentHelpersTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,16 @@ public function can_get_collapsing_columns_status(): void
140140

141141
$this->assertFalse($this->basicTable->getCollapsingColumnsStatus());
142142
}
143+
144+
/** @test */
145+
public function can_check_for_tr_url(): void
146+
{
147+
$this->assertFalse($this->basicTable->hasTableRowUrl());
148+
149+
$this->basicTable->setTableRowUrl(function ($row) {
150+
return 'https://example.com';
151+
});
152+
153+
$this->assertTrue($this->basicTable->hasTableRowUrl());
154+
}
143155
}

tests/Views/Traits/Configuration/ColumnConfigurationTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,20 @@ public function can_exclude_from_column_select(): void
8080

8181
$this->assertFalse($column->isSelectable());
8282
}
83+
84+
/** @test */
85+
public function can_make_column_unclickable(): void
86+
{
87+
$column = Column::make('Name');
88+
89+
$column->setComponent($this->basicTable);
90+
91+
$this->basicTable->setTableRowUrl(fn ($row) => 'https://example.com');
92+
93+
$this->assertTrue($column->isClickable());
94+
95+
$column->unclickable();
96+
97+
$this->assertFalse($column->isClickable());
98+
}
8399
}

0 commit comments

Comments
 (0)