Skip to content

Commit

Permalink
Fix broken tests and add tests for new functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
d13r committed Nov 6, 2019
1 parent a6f3043 commit 4d23f6f
Showing 1 changed file with 43 additions and 2 deletions.
45 changes: 43 additions & 2 deletions tests/SortableLinkTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\HtmlString;
use Kyslik\ColumnSortable\SortableLink;

/**
Expand Down Expand Up @@ -53,11 +54,51 @@ public function testInjectTitleInQueryStringsIsOff()
}


public function testGeneratingTitle()
{
Config::set('columnsortable.formatting_function', 'ucfirst');
Config::set('columnsortable.format_custom_titles', true);
$link = SortableLink::render(['column']);

$this->assertSame('<a href="http://localhost?sort=column&direction=asc" >Column</a><i class=""></i>', $link);
}


public function testCustomTitle()
{
Config::set('columnsortable.formatting_function', 'ucfirst');
Config::set('columnsortable.format_custom_titles', true);
$link = SortableLink::render(['column', 'columnTitle']);

$this->assertSame('<a href="http://localhost?sort=column&direction=asc" >ColumnTitle</a><i class=""></i>', $link);
}


public function testCustomTitleWithoutFormatting()
{
Config::set('columnsortable.formatting_function', 'ucfirst');
Config::set('columnsortable.format_custom_titles', false);
$link = SortableLink::render(['column', 'columnTitle']);

$this->assertSame('<a href="http://localhost?sort=column&direction=asc" >columnTitle</a><i class=""></i>', $link);
}


public function testCustomTitleWithHTML()
{
Config::set('columnsortable.formatting_function', 'ucfirst');
Config::set('columnsortable.format_custom_titles', true);
$link = SortableLink::render(['column', new HtmlString('<em>columnTitle</em>')]);

$this->assertSame('<a href="http://localhost?sort=column&direction=asc" ><em>columnTitle</em></a><i class=""></i>', $link);
}


public function testParseParameters()
{
$parameters = ['column'];
$resultArray = SortableLink::parseParameters($parameters);
$expected = ['column', 'column', 'column', [], []];
$expected = ['column', 'column', null, [], []];
$this->assertEquals($expected, $resultArray);

$parameters = ['column', 'ColumnTitle'];
Expand All @@ -77,7 +118,7 @@ public function testParseParameters()

$parameters = ['relation.column'];
$resultArray = SortableLink::parseParameters($parameters);
$expected = ['column', 'relation.column', 'column', [], []];
$expected = ['column', 'relation.column', null, [], []];
$this->assertEquals($expected, $resultArray);

$parameters = ['relation.column', 'ColumnTitle'];
Expand Down

0 comments on commit 4d23f6f

Please sign in to comment.