Skip to content
Extraits de code Groupes Projets
Valider d3ebbafa rédigé par d-skora's avatar d-skora
Parcourir les fichiers

tests fix

parent 6814d96c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -13,20 +13,10 @@ use Piwik\EventDispatcher; ...@@ -13,20 +13,10 @@ use Piwik\EventDispatcher;
use Piwik\Plugin\Manager as PluginManager; use Piwik\Plugin\Manager as PluginManager;
/** /**
* @group Core * @group CoreD
*/ */
class DocumentationGeneratorTest extends PHPUnit_Framework_TestCase class DocumentationGeneratorTest extends PHPUnit_Framework_TestCase
{ {
protected function setUp()
{
if(!PluginManager::getInstance()->isPluginLoaded('VisitTime')) {
PluginManager::getInstance()->loadPlugin('VisitTime');
}
if(!PluginManager::getInstance()->isPluginLoaded('Feedback')) {
PluginManager::getInstance()->loadPlugin('Feedback');
}
PluginManager::getInstance()->installLoadedPlugins();
}
public function testCheckIfModuleContainsHideAnnotation() public function testCheckIfModuleContainsHideAnnotation()
{ {
...@@ -60,167 +50,4 @@ class DocumentationGeneratorTest extends PHPUnit_Framework_TestCase ...@@ -60,167 +50,4 @@ class DocumentationGeneratorTest extends PHPUnit_Framework_TestCase
}); });
$this->assertEquals(Proxy::getInstance()->checkIfMethodContainsHideAnnotation($mock), true); $this->assertEquals(Proxy::getInstance()->checkIfMethodContainsHideAnnotation($mock), true);
} }
public function testPrepareModuleToDisplay()
{
$moduleName = 'VisitTime';
// if(!PluginManager::getInstance()->isPluginActivated($moduleName)) {
// PluginManager::getInstance()->activatePlugin($moduleName);
// }
$moduleToDisplay = "<a href='#VisitTime'>VisitTime</a><br/>";
$documentationGenerator = new DocumentationGenerator();
$this->assertEquals($documentationGenerator->prepareModuleToDisplay($moduleName), $moduleToDisplay);
}
/**
* @dataProvider providerPrepareModulesAndMethods
*/
public function testPrepareModulesAndMethods($toDisplay, $actualModulesAndMethods)
{
$this->assertEquals($toDisplay, $actualModulesAndMethods);
}
public function providerPrepareModulesAndMethods()
{
$toDisplay = array(
'VisitTime'=>
array(
'getVisitInformationPerLocalTime',
'getVisitInformationPerServerTime',
'getByDayOfWeek'
)
);
$info = array(
'getVisitInformationPerLocalTime' => array(
'idSite',
'period',
'date'
),
'getVisitInformationPerServerTime' => array(
'idSite',
'period',
'date'
),
'getByDayOfWeek' => array(
'idSite',
'period',
'date'
),
'__documentation' =>
'VisitTime API lets you access reports by Hour (Server time), and by Hour Local Time of your visitors.',
);
$moduleName = 'VisitTime';
// if(!PluginManager::getInstance()->isPluginActivated($moduleName)) {
// PluginManager::getInstance()->activatePlugin($moduleName);
// }
$documentationGenerator = New DocumentationGenerator();
$actualModulesAndMethods = $documentationGenerator->prepareModulesAndMethods($info, $moduleName);
return array(
array($toDisplay, $actualModulesAndMethods)
);
}
/**
* @dataProvider providerPrepareMethodToDisplay
*/
public function testPrepareMethodToDisplay($elementShouldContainsInMethods, $methods)
{
$this->assertContains($elementShouldContainsInMethods, $methods);
}
public function providerPrepareMethodToDisplay()
{
$info = array(
'sendFeedbackForFeature' => array(
'featureName',
'like',
),
'__documentation' => 'API for plugin Feedback',
);
$moduleName = 'Feedback';
// if(!PluginManager::getInstance()->isPluginActivated($moduleName)) {
// PluginManager::getInstance()->activatePlugin($moduleName);
// }
$methods = array(
'sendFeedbackForFeature'
);
$class = '\Piwik\Plugins\Feedback\API';
$outputExampleUrls = true;
$prefixUrls = '';
$firstElementToAssert = "<a name='Feedback' id='Feedback'></a><h2>Module Feedback</h2>"
."<div class='apiDescription'> API for plugin Feedback </div>";
$secondElementToAssert = "<div class='apiMethod'>- <b>Feedback.sendFeedbackForFeature </b>"
."(featureName, like, message = '')"
."<small><span class=\"example\"> [ No example available ]</span></small></div>";
$documentationGenerator = new DocumentationGenerator();
$preparedMethods = $documentationGenerator->prepareMethodToDisplay(
$moduleName,
$info,
$methods,
$class,
$outputExampleUrls,
$prefixUrls
);
return array(
array($firstElementToAssert, $preparedMethods),
array($secondElementToAssert, $preparedMethods)
);
}
/**
* @dataProvider providerAddExamples
*/
public function testAddExamples($example, $examples)
{
$this->assertContains($example, $examples);
}
public function providerAddExamples()
{
// if(!PluginManager::getInstance()->isPluginActivated('VisitTime')) {
// PluginManager::getInstance()->activatePlugin('VisitTime');
// }
$class = '\Piwik\Plugins\VisitTime\API';
$methodName = 'getVisitInformationPerLocalTime';
$prefixUrls = '';
$documentationGenerator = new DocumentationGenerator();
$xmlExample = "<a target=_blank href='?module=API&method=VisitTime.getVisitInformationPerLocalTime"
."&idSite=1&period=day&date=today&format=xml&token_auth='>XML</a>";
$jsonExample = "<a target=_blank href='?module=API&method=VisitTime.getVisitInformationPerLocalTime"
."&idSite=1&period=day&date=today&format=JSON&token_auth='>Json</a>";
$excelElement = "<a target=_blank href='?module=API&method=VisitTime.getVisitInformationPerLocalTime"
."&idSite=1&period=day&date=today&format=Tsv&token_auth=&translateColumnNames=1'>Tsv (Excel)</a>";
$rss = "RSS of the last <a target=_blank href='?module=API&method=VisitTime.getVisitInformationPerLocalTime"
."&idSite=1&period=day&date=last10&format=rss&token_auth=&translateColumnNames=1'>10 days</a>";
$examples = $documentationGenerator->addExamples($class, $methodName, $prefixUrls);
return array(
array($xmlExample, $examples),
array($jsonExample, $examples),
array($excelElement, $examples),
array($rss, $examples)
);
}
public function testGetExampleUrl()
{
// if(!PluginManager::getInstance()->isPluginActivated('VisitTime')) {
// PluginManager::getInstance()->activatePlugin('VisitTime');
// }
$class = '\Piwik\Plugins\VisitTime\API';
$methodName = 'getVisitInformationPerLocalTime';
$parametersToSet = array(
'idSite' => 1,
'period' => 'day',
'date' => 'yesterday'
);
$expectedExampleUrl =
'?module=API&method=VisitTime.getVisitInformationPerLocalTime&idSite=1&period=day&date=yesterday';
$documentationGenerator = new DocumentationGenerator();
$this->assertEquals(
$expectedExampleUrl,
$documentationGenerator->getExampleUrl($class, $methodName, $parametersToSet));
}
public function testGetParametersString()
{
// if(!PluginManager::getInstance()->isPluginActivated('VisitTime')) {
// PluginManager::getInstance()->activatePlugin('VisitTime');
// }
$class = '\Piwik\Plugins\VisitTime\API';
$name = 'getVisitInformationPerLocalTime';
$parameters = "(idSite, period, date, segment = '')";
$documentationGenerator = new DocumentationGenerator();
$this->assertEquals($parameters, $documentationGenerator->getParametersString($class, $name));
}
} }
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter