fix phpunit annotations (#794)
This commit is contained in:
@@ -10,6 +10,9 @@
|
||||
namespace App\Form;
|
||||
|
||||
use App\Configuration\TimesheetConfiguration;
|
||||
use App\Entity\Activity;
|
||||
use App\Entity\Customer;
|
||||
use App\Entity\Project;
|
||||
use App\Entity\Timesheet;
|
||||
use App\Form\Type\ActivityType;
|
||||
use App\Form\Type\CustomerType;
|
||||
@@ -80,6 +83,7 @@ class TimesheetEditForm extends AbstractType
|
||||
$end = null;
|
||||
$begin = null;
|
||||
$customerCount = $this->customers->countCustomer(true);
|
||||
$projectCount = $this->projects->countProject(true);
|
||||
$isNew = true;
|
||||
|
||||
if (isset($options['data'])) {
|
||||
@@ -123,51 +127,13 @@ class TimesheetEditForm extends AbstractType
|
||||
}
|
||||
|
||||
if ($isNew || null === $end || !$this->configuration->isDurationOnly()) {
|
||||
$builder->add('begin', DateTimePickerType::class, array_merge($dateTimeOptions, [
|
||||
'label' => 'label.begin'
|
||||
]));
|
||||
$this->addBegin($builder, $dateTimeOptions);
|
||||
}
|
||||
|
||||
if ($this->configuration->isDurationOnly()) {
|
||||
$builder->add('duration', DurationType::class, [
|
||||
'required' => false,
|
||||
'docu_chapter' => 'timesheet.html#duration-format',
|
||||
'attr' => [
|
||||
'placeholder' => '00:00',
|
||||
]
|
||||
]);
|
||||
|
||||
$builder->addEventListener(
|
||||
FormEvents::POST_SET_DATA,
|
||||
function (FormEvent $event) {
|
||||
/** @var Timesheet $data */
|
||||
$data = $event->getData();
|
||||
if (null === $data || null === $data->getEnd()) {
|
||||
$event->getForm()->get('duration')->setData(null);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// make sure that duration is mapped back to end field
|
||||
$builder->addEventListener(
|
||||
FormEvents::SUBMIT,
|
||||
function (FormEvent $event) {
|
||||
/** @var Timesheet $data */
|
||||
$data = $event->getData();
|
||||
$duration = $data->getDuration();
|
||||
$end = null;
|
||||
if (null !== $duration) {
|
||||
$end = clone $data->getBegin();
|
||||
$end->modify('+ ' . $duration . 'seconds');
|
||||
}
|
||||
$data->setEnd($end);
|
||||
}
|
||||
);
|
||||
$this->addDuration($builder);
|
||||
} else {
|
||||
$builder->add('end', DateTimePickerType::class, array_merge($dateTimeOptions, [
|
||||
'label' => 'label.end',
|
||||
'required' => false,
|
||||
]));
|
||||
$this->addEnd($builder, $dateTimeOptions);
|
||||
}
|
||||
|
||||
$projectOptions = [];
|
||||
@@ -175,35 +141,60 @@ class TimesheetEditForm extends AbstractType
|
||||
if ($customerCount < 2) {
|
||||
$projectOptions['group_by'] = null;
|
||||
} elseif ($options['customer']) {
|
||||
$builder
|
||||
->add('customer', CustomerType::class, [
|
||||
'query_builder' => function (CustomerRepository $repo) use ($customer) {
|
||||
return $repo->builderForEntityType($customer);
|
||||
},
|
||||
'data' => $customer ? $customer : '',
|
||||
'required' => false,
|
||||
'placeholder' => null === $customer ? '' : null,
|
||||
'mapped' => false,
|
||||
'project_enabled' => true,
|
||||
]);
|
||||
$this->addCustomer($builder, $customer);
|
||||
}
|
||||
|
||||
if ($this->projects->countProject(true) <= 1) {
|
||||
if ($projectCount <= 1) {
|
||||
$projectOptions['group_by'] = null;
|
||||
}
|
||||
|
||||
$this->addProject($builder, $projectOptions, $project, $customer);
|
||||
$this->addActivity($builder, $activity, $project);
|
||||
$this->addDescription($builder);
|
||||
$this->addTags($builder);
|
||||
|
||||
if ($options['include_rate']) {
|
||||
$this->addRates($builder, $currency);
|
||||
}
|
||||
|
||||
if ($options['include_user']) {
|
||||
$this->addUser($builder);
|
||||
}
|
||||
|
||||
if ($options['include_exported']) {
|
||||
$this->addExported($builder);
|
||||
}
|
||||
}
|
||||
|
||||
protected function addCustomer(FormBuilderInterface $builder, ?Customer $customer = null)
|
||||
{
|
||||
$builder
|
||||
->add('customer', CustomerType::class, [
|
||||
'query_builder' => function (CustomerRepository $repo) use ($customer) {
|
||||
return $repo->builderForEntityType($customer);
|
||||
},
|
||||
'data' => $customer ? $customer : '',
|
||||
'required' => false,
|
||||
'placeholder' => null === $customer ? '' : null,
|
||||
'mapped' => false,
|
||||
'project_enabled' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
protected function addProject(FormBuilderInterface $builder, array $projectOptions, ?Project $project = null, ?Customer $customer = null)
|
||||
{
|
||||
$builder
|
||||
->add(
|
||||
'project',
|
||||
ProjectType::class,
|
||||
array_merge($projectOptions, [
|
||||
'placeholder' => '',
|
||||
'activity_enabled' => true,
|
||||
'query_builder' => function (ProjectRepository $repo) use ($project, $customer) {
|
||||
return $repo->builderForEntityType($project, $customer);
|
||||
},
|
||||
])
|
||||
);
|
||||
'placeholder' => '',
|
||||
'activity_enabled' => true,
|
||||
'query_builder' => function (ProjectRepository $repo) use ($project, $customer) {
|
||||
return $repo->builderForEntityType($project, $customer);
|
||||
},
|
||||
])
|
||||
);
|
||||
|
||||
// replaces the project select after submission, to make sure only projects for the selected customer are displayed
|
||||
$builder->addEventListener(
|
||||
@@ -224,7 +215,10 @@ class TimesheetEditForm extends AbstractType
|
||||
]);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
protected function addActivity(FormBuilderInterface $builder, ?Activity $activity = null, ?Project $project = null)
|
||||
{
|
||||
$builder
|
||||
->add('activity', ActivityType::class, [
|
||||
'placeholder' => '',
|
||||
@@ -251,13 +245,72 @@ class TimesheetEditForm extends AbstractType
|
||||
]);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
protected function addBegin(FormBuilderInterface $builder, array $dateTimeOptions)
|
||||
{
|
||||
$builder->add('begin', DateTimePickerType::class, array_merge($dateTimeOptions, [
|
||||
'label' => 'label.begin'
|
||||
]));
|
||||
}
|
||||
|
||||
protected function addEnd(FormBuilderInterface $builder, array $dateTimeOptions)
|
||||
{
|
||||
$builder->add('end', DateTimePickerType::class, array_merge($dateTimeOptions, [
|
||||
'label' => 'label.end',
|
||||
'required' => false,
|
||||
]));
|
||||
}
|
||||
|
||||
protected function addDuration(FormBuilderInterface $builder)
|
||||
{
|
||||
$builder->add('duration', DurationType::class, [
|
||||
'required' => false,
|
||||
'docu_chapter' => 'timesheet.html#duration-format',
|
||||
'attr' => [
|
||||
'placeholder' => '00:00',
|
||||
]
|
||||
]);
|
||||
|
||||
$builder->addEventListener(
|
||||
FormEvents::POST_SET_DATA,
|
||||
function (FormEvent $event) {
|
||||
/** @var Timesheet $data */
|
||||
$data = $event->getData();
|
||||
if (null === $data || null === $data->getEnd()) {
|
||||
$event->getForm()->get('duration')->setData(null);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// make sure that duration is mapped back to end field
|
||||
$builder->addEventListener(
|
||||
FormEvents::SUBMIT,
|
||||
function (FormEvent $event) {
|
||||
/** @var Timesheet $data */
|
||||
$data = $event->getData();
|
||||
$duration = $data->getDuration();
|
||||
$end = null;
|
||||
if (null !== $duration) {
|
||||
$end = clone $data->getBegin();
|
||||
$end->modify('+ ' . $duration . 'seconds');
|
||||
}
|
||||
$data->setEnd($end);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
protected function addDescription(FormBuilderInterface $builder)
|
||||
{
|
||||
$builder
|
||||
->add('description', TextareaType::class, [
|
||||
'label' => 'label.description',
|
||||
'required' => false,
|
||||
]);
|
||||
}
|
||||
|
||||
protected function addTags(FormBuilderInterface $builder)
|
||||
{
|
||||
$builder
|
||||
->add('tags', TagsInputType::class, [
|
||||
// documentation is for NelmioApiDocBundle
|
||||
@@ -267,26 +320,29 @@ class TimesheetEditForm extends AbstractType
|
||||
],
|
||||
'required' => false,
|
||||
]);
|
||||
}
|
||||
|
||||
if ($options['include_rate']) {
|
||||
$builder
|
||||
->add('fixedRate', FixedRateType::class, [
|
||||
'currency' => $currency,
|
||||
])
|
||||
->add('hourlyRate', HourlyRateType::class, [
|
||||
'currency' => $currency,
|
||||
]);
|
||||
}
|
||||
|
||||
if ($options['include_user']) {
|
||||
$builder->add('user', UserType::class);
|
||||
}
|
||||
|
||||
if ($options['include_exported']) {
|
||||
$builder->add('exported', YesNoType::class, [
|
||||
'label' => 'label.exported'
|
||||
protected function addRates(FormBuilderInterface $builder, $currency)
|
||||
{
|
||||
$builder
|
||||
->add('fixedRate', FixedRateType::class, [
|
||||
'currency' => $currency,
|
||||
])
|
||||
->add('hourlyRate', HourlyRateType::class, [
|
||||
'currency' => $currency,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
protected function addUser(FormBuilderInterface $builder)
|
||||
{
|
||||
$builder->add('user', UserType::class);
|
||||
}
|
||||
|
||||
protected function addExported(FormBuilderInterface $builder)
|
||||
{
|
||||
$builder->add('exported', YesNoType::class, [
|
||||
'label' => 'label.exported'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,7 +17,6 @@ use Symfony\Bundle\FrameworkBundle\Client;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\API\ActivityController
|
||||
* @group integration
|
||||
*/
|
||||
class ActivityControllerTest extends APIControllerBaseTest
|
||||
|
||||
@@ -12,7 +12,6 @@ namespace App\Tests\API;
|
||||
use App\Entity\User;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\API\ConfigurationController
|
||||
* @group integration
|
||||
*/
|
||||
class ConfigurationControllerTest extends APIControllerBaseTest
|
||||
|
||||
@@ -13,7 +13,6 @@ use App\Entity\User;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\API\CustomerController
|
||||
* @group integration
|
||||
*/
|
||||
class CustomerControllerTest extends APIControllerBaseTest
|
||||
|
||||
@@ -13,7 +13,7 @@ use App\API\Model\I18n;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\API\Model\I18n
|
||||
* @covers \App\API\Model\I18n
|
||||
*/
|
||||
class I18nTest extends TestCase
|
||||
{
|
||||
|
||||
@@ -17,7 +17,6 @@ use Symfony\Bundle\FrameworkBundle\Client;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\API\ProjectController
|
||||
* @group integration
|
||||
*/
|
||||
class ProjectControllerTest extends APIControllerBaseTest
|
||||
|
||||
@@ -13,7 +13,6 @@ use App\Constants;
|
||||
use App\Entity\User;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\API\StatusController
|
||||
* @group integration
|
||||
*/
|
||||
class StatusControllerTest extends APIControllerBaseTest
|
||||
|
||||
@@ -14,7 +14,6 @@ use App\Tests\DataFixtures\TagFixtures;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\API\TagController
|
||||
* @group integration
|
||||
*/
|
||||
class TagControllerTest extends APIControllerBaseTest
|
||||
|
||||
@@ -18,7 +18,6 @@ use App\Tests\DataFixtures\TimesheetFixtures;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\API\TimesheetController
|
||||
* @group integration
|
||||
*/
|
||||
class TimesheetControllerTest extends APIControllerBaseTest
|
||||
|
||||
@@ -12,7 +12,6 @@ namespace App\Tests\API;
|
||||
use App\Entity\User;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\API\UserController
|
||||
* @group integration
|
||||
*/
|
||||
class UserControllerTest extends APIControllerBaseTest
|
||||
|
||||
@@ -14,7 +14,7 @@ use App\Calendar\Source;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Calendar\Google
|
||||
* @covers \App\Calendar\Google
|
||||
*/
|
||||
class GoogleTest extends TestCase
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@ use App\Calendar\Source;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Calendar\Source
|
||||
* @covers \App\Calendar\Source
|
||||
*/
|
||||
class SourceTest extends TestCase
|
||||
{
|
||||
|
||||
@@ -16,7 +16,7 @@ use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
|
||||
use Symfony\Component\Console\Tester\CommandTester;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Command\CreateUserCommand
|
||||
* @covers \App\Command\CreateUserCommand
|
||||
* @group integration
|
||||
*/
|
||||
class CreateUserCommandTest extends KernelTestCase
|
||||
|
||||
@@ -12,7 +12,6 @@ namespace App\Tests\Controller;
|
||||
use App\Entity\User;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\AboutController
|
||||
* @group integration
|
||||
*/
|
||||
class AboutControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -16,7 +16,6 @@ use App\Tests\DataFixtures\ProjectFixtures;
|
||||
use App\Tests\DataFixtures\TimesheetFixtures;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\ActivityController
|
||||
* @group integration
|
||||
*/
|
||||
class ActivityControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -13,7 +13,6 @@ use App\Configuration\CalendarConfiguration;
|
||||
use App\Tests\Configuration\TestConfigLoader;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\CalendarController
|
||||
* @group integration
|
||||
*/
|
||||
class CalendarControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -15,7 +15,6 @@ use App\Tests\DataFixtures\CustomerFixtures;
|
||||
use App\Tests\DataFixtures\TimesheetFixtures;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\CustomerController
|
||||
* @group integration
|
||||
*/
|
||||
class CustomerControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -12,7 +12,6 @@ namespace App\Tests\Controller;
|
||||
use App\Entity\User;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\DashboardController
|
||||
* @group integration
|
||||
*/
|
||||
class DashboardControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -13,7 +13,6 @@ use App\Entity\User;
|
||||
use App\Tests\DataFixtures\TimesheetFixtures;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\ExportController
|
||||
* @group integration
|
||||
*/
|
||||
class ExportControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -15,7 +15,6 @@ use App\Form\Type\InitialViewType;
|
||||
use App\Form\Type\LanguageType;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\HomepageController
|
||||
* @group integration
|
||||
*/
|
||||
class HomepageControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -16,7 +16,6 @@ use App\Tests\DataFixtures\InvoiceFixtures;
|
||||
use App\Tests\DataFixtures\TimesheetFixtures;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\InvoiceController
|
||||
* @group integration
|
||||
*/
|
||||
class InvoiceControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -14,7 +14,6 @@ use App\Plugin\PluginManager;
|
||||
use App\Tests\Plugin\Fixtures\TestPlugin;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\PluginController
|
||||
* @group integration
|
||||
*/
|
||||
class PluginControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -17,7 +17,6 @@ use Symfony\Bundle\FrameworkBundle\Client;
|
||||
use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\ProfileController
|
||||
* @group integration
|
||||
*/
|
||||
class ProfileControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -16,7 +16,6 @@ use App\Tests\DataFixtures\ProjectFixtures;
|
||||
use App\Tests\DataFixtures\TimesheetFixtures;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\ProjectController
|
||||
* @group integration
|
||||
*/
|
||||
class ProjectControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace App\Tests\Controller;
|
||||
|
||||
/**
|
||||
* This test makes sure the login and registration work as expected.
|
||||
* They live in the FOSUserBundle and are tested already, but we use a different layout.
|
||||
* The logic is located in the FOSUserBundle and already tested, but we use a different layout.
|
||||
*
|
||||
* @group integration
|
||||
*/
|
||||
|
||||
@@ -13,7 +13,6 @@ use App\Configuration\SystemConfiguration;
|
||||
use App\Entity\User;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\SystemConfigurationController
|
||||
* @group integration
|
||||
*/
|
||||
class SystemConfigurationControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -13,7 +13,6 @@ use App\Entity\User;
|
||||
use App\Tests\DataFixtures\TagFixtures;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\TagController
|
||||
* @group integration
|
||||
*/
|
||||
class TagControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -15,7 +15,6 @@ use App\Form\Type\DateRangeType;
|
||||
use App\Tests\DataFixtures\TimesheetFixtures;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\TimesheetController
|
||||
* @group integration
|
||||
*/
|
||||
class TimesheetControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -15,7 +15,6 @@ use App\Form\Type\DateRangeType;
|
||||
use App\Tests\DataFixtures\TimesheetFixtures;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\TimesheetTeamController
|
||||
* @group integration
|
||||
*/
|
||||
class TimesheetTeamControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -14,7 +14,6 @@ use App\Entity\User;
|
||||
use App\Tests\DataFixtures\TimesheetFixtures;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \App\Controller\UserController
|
||||
* @group integration
|
||||
*/
|
||||
class UserControllerTest extends ControllerBaseTest
|
||||
|
||||
@@ -11,12 +11,35 @@ namespace App\Tests\Entity;
|
||||
|
||||
use App\Entity\User;
|
||||
use App\Entity\UserPreference;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
|
||||
/**
|
||||
* @covers \App\Entity\User
|
||||
*/
|
||||
class UserTest extends AbstractEntityTest
|
||||
{
|
||||
public function testDefaultValues()
|
||||
{
|
||||
$user = new User();
|
||||
$this->assertInstanceOf(ArrayCollection::class, $user->getPreferences());
|
||||
$this->assertNull($user->getTitle());
|
||||
$this->assertNull($user->getAvatar());
|
||||
$this->assertNull($user->getAlias());
|
||||
$this->assertNull($user->getId());
|
||||
$this->assertNull($user->getApiToken());
|
||||
$this->assertNull($user->getPlainApiToken());
|
||||
$this->assertEquals(User::DEFAULT_LANGUAGE, $user->getLocale());
|
||||
|
||||
$user->setAvatar('https://www.gravatar.com/avatar/00000000000000000000000000000000?d=retro&f=y');
|
||||
$this->assertEquals('https://www.gravatar.com/avatar/00000000000000000000000000000000?d=retro&f=y', $user->getAvatar());
|
||||
$user->setApiToken('nbvfdswe34567ujko098765rerfghbgvfcdsert');
|
||||
$this->assertEquals('nbvfdswe34567ujko098765rerfghbgvfcdsert', $user->getApiToken());
|
||||
$user->setPlainApiToken('https://www.gravatar.com/avatar/nbvfdswe34567ujko098765rerfghbgvfcdsert');
|
||||
$this->assertEquals('https://www.gravatar.com/avatar/nbvfdswe34567ujko098765rerfghbgvfcdsert', $user->getPlainApiToken());
|
||||
$user->setTitle('Mr. Code Blaster');
|
||||
$this->assertEquals('Mr. Code Blaster', $user->getTitle());
|
||||
}
|
||||
|
||||
public function getInvalidTestData()
|
||||
{
|
||||
return [
|
||||
|
||||
56
tests/Event/ThemeEventTest.php
Normal file
56
tests/Event/ThemeEventTest.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Kimai time-tracking app.
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace App\Tests\EventSubscriber;
|
||||
|
||||
use App\Entity\User;
|
||||
use App\Event\DashboardEvent;
|
||||
use App\Event\ThemeEvent;
|
||||
use App\Model\DashboardSection;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @covers \App\Event\ThemeEvent
|
||||
*/
|
||||
class ThemeEventTest extends TestCase
|
||||
{
|
||||
public function testDefaultValues()
|
||||
{
|
||||
$user = new User();
|
||||
$user->setAlias('foo');
|
||||
|
||||
$sut = new ThemeEvent($user);
|
||||
|
||||
$this->assertEquals($user, $sut->getUser());
|
||||
$this->assertNull($sut->getPayload());
|
||||
$this->assertEquals('', $sut->getContent());
|
||||
}
|
||||
|
||||
public function testGetterAndSetter()
|
||||
{
|
||||
$user = new User();
|
||||
$user->setAlias('foo');
|
||||
|
||||
$payload = [null, '', 'test', new \stdClass()];
|
||||
|
||||
$sut = new ThemeEvent($user);
|
||||
$sut->setPayload($payload);
|
||||
$this->assertEquals($payload, $sut->getPayload());
|
||||
|
||||
$sut = new ThemeEvent($user, $payload);
|
||||
$this->assertEquals($payload, $sut->getPayload());
|
||||
|
||||
$sut = new ThemeEvent($user);
|
||||
$sut->addContent('foo');
|
||||
$this->assertEquals('foo', $sut->getContent());
|
||||
|
||||
$sut->addContent('<script>');
|
||||
$this->assertEquals('foo<script>', $sut->getContent());
|
||||
}
|
||||
}
|
||||
@@ -41,4 +41,14 @@ class ServiceExportTest extends TestCase
|
||||
|
||||
$this->assertEquals(1, count($sut->getRenderer()));
|
||||
}
|
||||
|
||||
public function testAddViaConstruct()
|
||||
{
|
||||
$renderer = [new HtmlRenderer(
|
||||
$this->getMockBuilder(Environment::class)->disableOriginalConstructor()->getMock()
|
||||
)];
|
||||
$sut = new ServiceExport($renderer);
|
||||
|
||||
$this->assertEquals(1, count($sut->getRenderer()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,8 +52,8 @@ class TagArrayToStringTransformerTest extends AbstractRendererTest
|
||||
$this->assertEquals([], $sut->reverseTransform(''));
|
||||
$this->assertEquals([], $sut->reverseTransform(null));
|
||||
|
||||
$actual = $sut->reverseTransform('foo, bar');
|
||||
$actual = $sut->reverseTransform('foo, bar, hello');
|
||||
|
||||
$this->assertEquals($results, $actual);
|
||||
$this->assertEquals(array_merge($results, [(new Tag())->setName('hello')]), $actual);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user