Skip to content

Commit

Permalink
working on more comprehensive tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinkhill committed Apr 22, 2017
1 parent b4d021e commit 7cd2815
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 11 deletions.
3 changes: 2 additions & 1 deletion composer.json
Expand Up @@ -94,8 +94,9 @@
"test": "phpunit -c phpunit.xml",
"cs": "phpcs --standard=PSR2 src tests",
"cbf" : "phpcbf --standard=PSR2 src tests",
"version": "php -r \"require(__DIR__.\\\"/src/Lavacharts.php\\\");echo \\Khill\\Lavacharts\\Lavacharts::VERSION;\"",
"lavajs:release" : "gulp --cwd javascript release && git add javascript/dist/lava.js && git commit -m 'Releasing new build of the lava.js module' && git push",
"lavajs:dev" : "gulp --cwd javascript",
"lavajs:gulp" : "gulp --cwd javascript",
"lavajs:pull" : "git subtree --prefix=javascript pull lavajs master",
"lavajs:push" : "git subtree --prefix=javascript push lavajs master"
},
Expand Down
4 changes: 2 additions & 2 deletions src/Lavacharts.php
Expand Up @@ -39,7 +39,7 @@ class Lavacharts
/**
* Lavacharts version
*/
const VERSION = '3.1.1';
const VERSION = '3.1.4';

/**
* Locale for the Charts and Dashboards.
Expand Down Expand Up @@ -343,7 +343,7 @@ public function render($type, $label, $elementId = null, $div = false)
}

if (is_array($elementId)) {
$div = $elementId;
$div = $elementId; // @TODO allow missing element ids to use renderable instance's id
}

if ($type == 'Dashboard') {
Expand Down
32 changes: 24 additions & 8 deletions tests/LavachartsTest.php
Expand Up @@ -99,27 +99,43 @@ public function testCreatingChartsViaMagicMethodOfLavaObject($chartType)
/**
* @depends testCreateDataTableViaAlias
*/
public function testDirectRenderChart()
public function testRenderChart()
{
$this->lava->LineChart('test', $this->partialDataTable);

$this->assertTrue(is_string($this->lava->render('LineChart', 'test', 'test-div')));
}

/**
* @depends testCreateDataTableViaAlias
* depends testCreateDataTableViaAlias
*/
public function testDirectRenderChartWithDivNoDimensions()
public function testRenderChartWithElementIdAndDivWithNoDimensions()
{
$this->lava->LineChart('test', $this->partialDataTable);

$this->assertTrue(is_string($this->lava->render('LineChart', 'test', 'test-div', true)));
$output = $this->lava->render('LineChart', 'test', 'test-div', true);

$this->assertStringHasString($output, '<div id="test-div"></div>');
}

/**
* depends testCreateDataTableViaAlias
*/
public function testRenderChartWithNoElementIdAndDivNoDimensions()
{
$this->lava->LineChart('test', $this->partialDataTable, [
'elementId' => 'test-div'
]);

$output = $this->lava->render('LineChart', 'test', true);

$this->assertStringHasString($output, '<div id="test-div"></div>');
}

/**
* @depends testCreateDataTableViaAlias
*/
public function testDirectRenderChartWithDivAndDimensions()
public function testRenderChartWithDivAndDimensions()
{
$this->lava->LineChart('test', $this->partialDataTable);

Expand All @@ -134,7 +150,7 @@ public function testDirectRenderChartWithDivAndDimensions()
/**
* @depends testCreateDataTableViaAlias
*/
public function testDirectRenderChartWithDivAndBadDimensionKeys()
public function testRenderChartWithDivAndBadDimensionKeys()
{
$this->lava->LineChart('test', $this->partialDataTable);

Expand All @@ -150,7 +166,7 @@ public function testDirectRenderChartWithDivAndBadDimensionKeys()
* @depends testCreateDataTableViaAlias
* @expectedException \Khill\Lavacharts\Exceptions\InvalidDivDimensions
*/
public function testDirectRenderChartWithDivAndBadDimensionType()
public function testRenderChartWithDivAndBadDimensionType()
{
$this->lava->LineChart('test', $this->partialDataTable);

Expand All @@ -161,7 +177,7 @@ public function testDirectRenderChartWithDivAndBadDimensionType()
* @depends testCreateDataTableViaAlias
* @expectedException \Khill\Lavacharts\Exceptions\InvalidConfigValue
*/
public function testDirectRenderChartWithDivAndDimensionsWithBadValues()
public function testRenderChartWithDivAndDimensionsWithBadValues()
{
$this->lava->LineChart('my-chart', $this->partialDataTable);

Expand Down
11 changes: 11 additions & 0 deletions tests/ProvidersTestCase.php
Expand Up @@ -33,6 +33,17 @@ public function setUp()
$this->partialDataTable = \Mockery::mock(DATATABLE_NS.'DataTable')->makePartial();
}

/**
* Checks if a string contains another string
*
* @param $haystack
* @param $needle
*/
public function assetStringHasString($haystack, $needle)
{
$this->assertTrue(strpos($haystack, $needle) !== false);
}

/**
* Uses reflection to retrieve private member variables from objects.
*
Expand Down

0 comments on commit 7cd2815

Please sign in to comment.