1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-25 00:17:37 +00:00
Files
matomo/tests/PHPUnit/Unit/Report/ReportWidgetFactoryTest.php
Stefan Giehl d6d72d1fa7 [Coding Style] Enable rule PSR1.Methods.CamelCapsMethodName.NotCamelCaps (#22144)
* [Coding Style] Enable rule PSR1.Methods.CamelCapsMethodName.NotCamelCaps

* [Coding Style] Use camel case for method names in API plugin tests (#22145)

* [Coding Style] Use camel case for method names in Core* plugin tests (#22147)

* [Coding Style] Use camel case for method names in core Unit tests (#22149)

* [Coding Style] Use camel case for method names in Actions and BulkTracking plugin tests (#22146)

* [Coding Style] Use camel case for method names in CustomDimensions and CustomJSTracker plugin tests (#22148)

* [Coding Style] Use camel case for method names in core Integration tests (#22151)

* [Coding Style] Use camel case for method names in more core plugin tests (#22153)

* [Coding Style] Use camel case for method names in more core plugin tests (#22157)

* [Coding Style] Use camel case for method names in more core plugin tests

* Update plugins/Monolog/tests/Unit/Processor/ExceptionToTextProcessorTest.php

Co-authored-by: Michal Kleiner <michal@innocraft.com>

---------

Co-authored-by: Michal Kleiner <michal@innocraft.com>

* [Coding Style] Use camel case for method names in more core plugin tests (#22159)

* [Coding Style] Use camel case for method names in remaining tests (#22160)

* [Coding Style] Use camel case for method names in remaining tests

* rename expected test files

---------

Co-authored-by: Michal Kleiner <michal@innocraft.com>
2024-04-25 20:57:55 +02:00

110 خطوط
3.4 KiB
PHP

<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Tests\Unit\Report;
use Piwik\Plugin\Report;
use Piwik\Report\ReportWidgetConfig;
use Piwik\Report\ReportWidgetFactory;
use Piwik\Widget\WidgetContainerConfig;
class GetBasicReport extends Report
{
protected function init()
{
parent::init();
$this->name = 'Report_MyCustomReportName';
$this->order = 20;
$this->module = 'TestPlugin';
$this->action = 'getBasicReport';
$this->categoryId = 'Goals_Goals';
$this->subcategoryId = 'General_Overview';
$this->actionToLoadSubTables = 'invalidReport';
$this->parameters = array('idGoal' => '1');
}
public function getDefaultTypeViewDataTable()
{
return 'graph';
}
}
/**
* @group Widget
* @group Report
* @group ReportWidgetFactory
* @group ReportWidgetFactoryTest
*/
class ReportWidgetFactoryTest extends \PHPUnit\Framework\TestCase
{
/**
* @var ReportWidgetFactory
*/
private $factory;
public function setUp(): void
{
parent::setUp();
$this->factory = new ReportWidgetFactory(new GetBasicReport());
}
public function testCreateContainerWidgetShouldCreateAContainerBasedOnReportWithGivenId()
{
$config = $this->factory->createContainerWidget('myId');
$this->assertTrue($config instanceof WidgetContainerConfig);
$this->assertSame('myId', $config->getId());
$this->assertSame('Goals_Goals', $config->getCategoryId());
$this->assertSame('General_Overview', $config->getSubcategoryId());
$this->assertSame(100 + 20, $config->getOrder());
}
public function testCreateWidgetShouldCreateAContainerBasedOnReportWithGivenId()
{
$config = $this->factory->createWidget();
$this->assertTrue($config instanceof ReportWidgetConfig);
$this->assertSame('Report_MyCustomReportName', $config->getName());
$this->assertSame('Goals_Goals', $config->getCategoryId());
$this->assertSame('General_Overview', $config->getSubcategoryId());
$this->assertSame('graph', $config->getViewDataTable());
$this->assertSame(100 + 20, $config->getOrder());
$this->assertSame('TestPlugin', $config->getModule());
$this->assertSame('getBasicReport', $config->getAction());
$this->assertSame(array(
'module' => 'TestPlugin',
'action' => 'getBasicReport',
'idGoal' => '1'
), $config->getParameters());
}
public function testCreateCustomWidgetShouldCreateAContainerBasedOnReportWithGivenId()
{
$config = $this->factory->createCustomWidget('customAction');
$this->assertTrue($config instanceof ReportWidgetConfig);
$this->assertSame('Report_MyCustomReportName', $config->getName());
$this->assertSame('Goals_Goals', $config->getCategoryId());
$this->assertSame('General_Overview', $config->getSubcategoryId());
$this->assertNull($config->getViewDataTable());
$this->assertSame(100 + 20, $config->getOrder());
$this->assertSame('TestPlugin', $config->getModule());
$this->assertSame('customAction', $config->getAction());
$this->assertSame(array(
'module' => 'TestPlugin',
'action' => 'customAction',
'idGoal' => '1'
), $config->getParameters());
}
}