Added tests for RedirectController

This commit is contained in:
Jan Böhmer 2019-10-20 14:35:19 +02:00
parent 40ca5bd0e4
commit 45a624d768
15 changed files with 509 additions and 6 deletions

View file

@ -0,0 +1,18 @@
<?php
namespace App\DataFixtures;
use App\Entity\Parts\Part;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
class AppFixtures extends Fixture
{
public function load(ObjectManager $manager)
{
// $product = new Product();
// $manager->persist($product);
$manager->flush();
}
}

View file

@ -0,0 +1,37 @@
<?php
namespace App\DataFixtures;
use App\Entity\UserSystem\Group;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
class GroupFixtures extends Fixture
{
public const ADMINS = 'group-admin';
public const USERS = 'group-users';
public const READONLY = 'group-readonly';
public function load(ObjectManager $manager)
{
$admins = new Group();
$admins->setName('admins');
$this->setReference(self::ADMINS, $admins);
$manager->persist($admins);
$readonly = new Group();
$readonly->setName('readonly');
$this->setReference(self::READONLY, $readonly);
$manager->persist($readonly);
$users = new Group();
$users->setName('users');
$this->setReference(self::USERS, $users);
$manager->persist($users);
$manager->flush();
}
}

View file

@ -0,0 +1,50 @@
<?php
namespace App\DataFixtures;
use App\Entity\UserSystem\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
use Doctrine\ORM\EntityManagerInterface;
use ReflectionClass;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
class UserFixtures extends Fixture
{
protected $encoder;
protected $em;
public function __construct(UserPasswordEncoderInterface $encoder, EntityManagerInterface $entityManager)
{
$this->em = $entityManager;
$this->encoder = $encoder;
}
public function load(ObjectManager $manager)
{
//Reset autoincrement
$this->em->getConnection()->exec('ALTER TABLE `users` AUTO_INCREMENT = 1;');
$anonymous = new User();
$anonymous->setName('anonymous');
$anonymous->setGroup($this->getReference(GroupFixtures::READONLY));
$manager->persist($anonymous);
$admin = new User();
$admin->setName('admin');
$admin->setPassword($this->encoder->encodePassword($admin, 'test'));
$admin->setGroup($this->getReference(GroupFixtures::ADMINS));
$manager->persist($admin);
$user = new User();
$user->setName('user');
$user->setNeedPwChange(false);
$user->setFirstName('Test')->setLastName('User');
$user->setPassword($this->encoder->encodePassword($user, 'test'));
$user->setGroup($this->getReference(GroupFixtures::USERS));
$manager->persist($user);
$manager->flush();
}
}

View file

@ -42,12 +42,16 @@ use Doctrine\DBAL\Types\DateTimeType;
*/
class UTCDateTimeType extends DateTimeType
{
private static $utc;
private static $utc_timezone;
public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
if (!self::$utc_timezone) {
self::$utc_timezone = new \DateTimeZone('UTC');
}
if ($value instanceof \DateTime) {
$value->setTimezone(self::$utc);
$value->setTimezone(self::$utc_timezone);
}
return parent::convertToDatabaseValue($value, $platform);
@ -55,6 +59,10 @@ class UTCDateTimeType extends DateTimeType
public function convertToPHPValue($value, AbstractPlatform $platform)
{
if (!self::$utc_timezone) {
self::$utc_timezone = new \DateTimeZone('UTC');
}
if (null === $value || $value instanceof \DateTime) {
return $value;
}
@ -62,7 +70,7 @@ class UTCDateTimeType extends DateTimeType
$converted = \DateTime::createFromFormat(
$platform->getDateTimeFormatString(),
$value,
self::$utc ? self::$utc : self::$utc = new \DateTimeZone('UTC')
self::$utc_timezone
);
if (! $converted) {