mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-07-10 10:24:31 +02:00
Added tests for RedirectController
This commit is contained in:
parent
40ca5bd0e4
commit
45a624d768
15 changed files with 509 additions and 6 deletions
18
src/DataFixtures/AppFixtures.php
Normal file
18
src/DataFixtures/AppFixtures.php
Normal 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();
|
||||
}
|
||||
}
|
37
src/DataFixtures/GroupFixtures.php
Normal file
37
src/DataFixtures/GroupFixtures.php
Normal 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();
|
||||
}
|
||||
}
|
50
src/DataFixtures/UserFixtures.php
Normal file
50
src/DataFixtures/UserFixtures.php
Normal 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();
|
||||
}
|
||||
}
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue