builder = $this->makeBuilder(array());
DataTable\Manager::getInstance()->deleteAll();
}
public function testRenderSuccessShouldAlwaysReturnTrueAndIgnoreMessage()
{
$response = $this->builder->renderSuccess('ok');
$this->assertEquals('Success:ok', $response);
}
public function testRenderExceptionShouldThrowTheException()
{
$response = $this->builder->renderException('This message should be used', new \BadMethodCallException('The other message'));
$this->assertEquals('Error: This message should be used', $response);
}
public function testRenderScalarShouldReturnTheSameValue()
{
$response = $this->builder->renderScalar(true);
$this->assertSame("- 1 ['0' => 1] [] [idsubtable = ]
", $response);
$response = $this->builder->renderScalar(5);
$this->assertSame("- 1 ['0' => 5] [] [idsubtable = ]
", $response);
$response = $this->builder->renderScalar('string');
$this->assertSame("- 1 ['0' => 'string'] [] [idsubtable = ]
", $response);
}
public function testRenderObjectShouldReturAnError()
{
$response = $this->builder->renderObject(new \stdClass());
$this->assertEquals('Error: The API cannot handle this data structure.', $response);
}
public function testRenderResourceShouldReturAnError()
{
$response = $this->builder->renderResource(new \stdClass());
$this->assertEquals('Error: The API cannot handle this data structure.', $response);
}
public function testRenderDataTableShouldReturnResult()
{
$dataTable = new DataTable();
$dataTable->addRowFromSimpleArray(array('nb_visits' => 5, 'nb_random' => 10));
$response = $this->builder->renderDataTable($dataTable);
$this->assertSame("- 1 ['nb_visits' => 5, 'nb_random' => 10] [] [idsubtable = ]
", $response);
}
public function testRenderDataTableWithObjectsShouldReturnResult()
{
$dataTable = new DataTable();
$dataTable->addRowFromSimpleArray(array('nb_visits' => 5, 'nb_random' => 10));
$dataTable->setMetadata('processedRows', [
new AverageTimeOnSite(),
new \stdClass(),
Date::factory('2016-01-01 00:00:00'),
]);
$response = $this->builder->renderDataTable($dataTable);
$this->assertSame("- 1 ['nb_visits' => 5, 'nb_random' => 10] [] [idsubtable = ]