mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-10-31 17:28:23 +00:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			v4.4.0
			...
			integrate_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 23a0cfae14 | |||
| 1a213ab5f8 | |||
| aee8e17cfa | 
| @@ -62,6 +62,7 @@ | ||||
|         "twig/twig": "^3.0" | ||||
|     }, | ||||
|     "require-dev": { | ||||
|         "dama/doctrine-test-bundle": "^7.1", | ||||
|         "doctrine/doctrine-fixtures-bundle": "^3.3", | ||||
|         "fakerphp/faker": "^1.13", | ||||
|         "jangregor/phpstan-prophecy": "^1.0", | ||||
| @@ -82,7 +83,8 @@ | ||||
|         "symfony/phpunit-bridge": "^4.4", | ||||
|         "symfony/stopwatch": "^4.4", | ||||
|         "symfony/var-dumper": "^4.4", | ||||
|         "vimeo/psalm": "^4.30.0" | ||||
|         "vimeo/psalm": "^4.30.0", | ||||
|         "zenstruck/foundry": "^1.36" | ||||
|     }, | ||||
|     "conflict": { | ||||
|         "symfony/symfony": "*" | ||||
|   | ||||
| @@ -78,6 +78,10 @@ | ||||
|         <listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" /> | ||||
|     </listeners> | ||||
|  | ||||
|     <extensions> | ||||
|         <extension class="DAMA\DoctrineTestBundle\PHPUnit\PHPUnitExtension" /> | ||||
|     </extensions> | ||||
|  | ||||
|     <!-- Run `composer require symfony/panther` before enabling this extension --> | ||||
|     <!-- | ||||
|     <extensions> | ||||
|   | ||||
| @@ -0,0 +1,58 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Chill\MainBundle\Factory\Embeddable; | ||||
|  | ||||
| use Chill\MainBundle\Entity\Embeddable\PrivateCommentEmbeddable; | ||||
| use Zenstruck\Foundry\ModelFactory; | ||||
| use Zenstruck\Foundry\Proxy; | ||||
|  | ||||
| /** | ||||
|  * @extends ModelFactory<PrivateCommentEmbeddable> | ||||
|  * | ||||
|  * @method        PrivateCommentEmbeddable|Proxy create(array|callable $attributes = []) | ||||
|  * @method static PrivateCommentEmbeddable|Proxy createOne(array $attributes = []) | ||||
|  * @method static PrivateCommentEmbeddable[]|Proxy[] createMany(int $number, array|callable $attributes = []) | ||||
|  * @method static PrivateCommentEmbeddable[]|Proxy[] createSequence(iterable|callable $sequence) | ||||
|  * | ||||
|  * @phpstan-method        Proxy<PrivateCommentEmbeddable> create(array|callable $attributes = []) | ||||
|  * @phpstan-method static Proxy<PrivateCommentEmbeddable> createOne(array $attributes = []) | ||||
|  */ | ||||
| final class PrivateCommentEmbeddableFactory extends ModelFactory | ||||
| { | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#factories-as-services | ||||
|      * | ||||
|      * @todo inject services if required | ||||
|      */ | ||||
|     public function __construct() | ||||
|     { | ||||
|         parent::__construct(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#model-factories | ||||
|      * | ||||
|      * @todo add your default values here | ||||
|      */ | ||||
|     protected function getDefaults(): array | ||||
|     { | ||||
|         return [ | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#initialization | ||||
|      */ | ||||
|     protected function initialize(): self | ||||
|     { | ||||
|         return $this | ||||
|             ->withoutPersisting() | ||||
|             // ->afterInstantiate(function(PrivateCommentEmbeddable $privateCommentEmbeddable): void {}) | ||||
|         ; | ||||
|     } | ||||
|  | ||||
|     protected static function getClass(): string | ||||
|     { | ||||
|         return PrivateCommentEmbeddable::class; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										83
									
								
								src/Bundle/ChillMainBundle/Factory/UserFactory.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								src/Bundle/ChillMainBundle/Factory/UserFactory.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Chill\MainBundle\Factory; | ||||
|  | ||||
| use Chill\MainBundle\Entity\User; | ||||
| use Doctrine\ORM\EntityRepository; | ||||
| use Zenstruck\Foundry\ModelFactory; | ||||
| use Zenstruck\Foundry\Proxy; | ||||
| use Zenstruck\Foundry\RepositoryProxy; | ||||
|  | ||||
| /** | ||||
|  * @extends ModelFactory<User> | ||||
|  * | ||||
|  * @method        User|Proxy create(array|callable $attributes = []) | ||||
|  * @method static User|Proxy createOne(array $attributes = []) | ||||
|  * @method static User|Proxy find(object|array|mixed $criteria) | ||||
|  * @method static User|Proxy findOrCreate(array $attributes) | ||||
|  * @method static User|Proxy first(string $sortedField = 'id') | ||||
|  * @method static User|Proxy last(string $sortedField = 'id') | ||||
|  * @method static User|Proxy random(array $attributes = []) | ||||
|  * @method static User|Proxy randomOrCreate(array $attributes = []) | ||||
|  * @method static EntityRepository|RepositoryProxy repository() | ||||
|  * @method static User[]|Proxy[] all() | ||||
|  * @method static User[]|Proxy[] createMany(int $number, array|callable $attributes = []) | ||||
|  * @method static User[]|Proxy[] createSequence(iterable|callable $sequence) | ||||
|  * @method static User[]|Proxy[] findBy(array $attributes) | ||||
|  * @method static User[]|Proxy[] randomRange(int $min, int $max, array $attributes = []) | ||||
|  * @method static User[]|Proxy[] randomSet(int $number, array $attributes = []) | ||||
|  * | ||||
|  * @phpstan-method        Proxy<User> create(array|callable $attributes = []) | ||||
|  * @phpstan-method static Proxy<User> createOne(array $attributes = []) | ||||
|  * @phpstan-method static Proxy<User> find(object|array|mixed $criteria) | ||||
|  * @phpstan-method static Proxy<User> findOrCreate(array $attributes) | ||||
|  * @phpstan-method static Proxy<User> first(string $sortedField = 'id') | ||||
|  * @phpstan-method static Proxy<User> last(string $sortedField = 'id') | ||||
|  * @phpstan-method static Proxy<User> random(array $attributes = []) | ||||
|  * @phpstan-method static Proxy<User> randomOrCreate(array $attributes = []) | ||||
|  * @phpstan-method static RepositoryProxy<User> repository() | ||||
|  */ | ||||
| final class UserFactory extends ModelFactory | ||||
| { | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#factories-as-services | ||||
|      * | ||||
|      * @todo inject services if required | ||||
|      */ | ||||
|     public function __construct() | ||||
|     { | ||||
|         parent::__construct(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#model-factories | ||||
|      * | ||||
|      * @todo add your default values here | ||||
|      */ | ||||
|     protected function getDefaults(): array | ||||
|     { | ||||
|         return [ | ||||
|             'attributes' => [], | ||||
|             'enabled' => self::faker()->boolean(), | ||||
|             'label' => self::faker()->text(200), | ||||
|             'locked' => self::faker()->boolean(), | ||||
|             'password' => self::faker()->text(255), | ||||
|             'username' => self::faker()->text(80), | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#initialization | ||||
|      */ | ||||
|     protected function initialize(): self | ||||
|     { | ||||
|         return $this | ||||
|             // ->afterInstantiate(function(User $user): void {}) | ||||
|         ; | ||||
|     } | ||||
|  | ||||
|     protected static function getClass(): string | ||||
|     { | ||||
|         return User::class; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,83 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Chill\PersonBundle\Factory\AccompanyingPeriod; | ||||
|  | ||||
| use Chill\PersonBundle\Entity\AccompanyingPeriod; | ||||
| use Doctrine\ORM\EntityRepository; | ||||
| use Zenstruck\Foundry\ModelFactory; | ||||
| use Zenstruck\Foundry\Proxy; | ||||
| use Zenstruck\Foundry\RepositoryProxy; | ||||
|  | ||||
| /** | ||||
|  * @extends ModelFactory<AccompanyingPeriod> | ||||
|  * | ||||
|  * @method        AccompanyingPeriod|Proxy create(array|callable $attributes = []) | ||||
|  * @method static AccompanyingPeriod|Proxy createOne(array $attributes = []) | ||||
|  * @method static AccompanyingPeriod|Proxy find(object|array|mixed $criteria) | ||||
|  * @method static AccompanyingPeriod|Proxy findOrCreate(array $attributes) | ||||
|  * @method static AccompanyingPeriod|Proxy first(string $sortedField = 'id') | ||||
|  * @method static AccompanyingPeriod|Proxy last(string $sortedField = 'id') | ||||
|  * @method static AccompanyingPeriod|Proxy random(array $attributes = []) | ||||
|  * @method static AccompanyingPeriod|Proxy randomOrCreate(array $attributes = []) | ||||
|  * @method static EntityRepository|RepositoryProxy repository() | ||||
|  * @method static AccompanyingPeriod[]|Proxy[] all() | ||||
|  * @method static AccompanyingPeriod[]|Proxy[] createMany(int $number, array|callable $attributes = []) | ||||
|  * @method static AccompanyingPeriod[]|Proxy[] createSequence(iterable|callable $sequence) | ||||
|  * @method static AccompanyingPeriod[]|Proxy[] findBy(array $attributes) | ||||
|  * @method static AccompanyingPeriod[]|Proxy[] randomRange(int $min, int $max, array $attributes = []) | ||||
|  * @method static AccompanyingPeriod[]|Proxy[] randomSet(int $number, array $attributes = []) | ||||
|  * | ||||
|  * @phpstan-method        Proxy<AccompanyingPeriod> create(array|callable $attributes = []) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriod> createOne(array $attributes = []) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriod> find(object|array|mixed $criteria) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriod> findOrCreate(array $attributes) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriod> first(string $sortedField = 'id') | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriod> last(string $sortedField = 'id') | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriod> random(array $attributes = []) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriod> randomOrCreate(array $attributes = []) | ||||
|  * @phpstan-method static RepositoryProxy<AccompanyingPeriod> repository() | ||||
|  * @phpstan-method static list<Proxy<AccompanyingPeriod>> all() | ||||
|  */ | ||||
| final class AccompanyingPeriodFactory extends ModelFactory | ||||
| { | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#factories-as-services | ||||
|      * | ||||
|      * @todo inject services if required | ||||
|      */ | ||||
|     public function __construct() | ||||
|     { | ||||
|         parent::__construct(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#model-factories | ||||
|      * | ||||
|      * @todo add your default values here | ||||
|      */ | ||||
|     protected function getDefaults(): array | ||||
|     { | ||||
|         return [ | ||||
|             'confidential' => self::faker()->boolean(), | ||||
|             'emergency' => self::faker()->boolean(), | ||||
|             'openingDate' => self::faker()->dateTime(), | ||||
|             'remark' => self::faker()->text(), | ||||
|             'requestorAnonymous' => self::faker()->boolean(), | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#initialization | ||||
|      */ | ||||
|     protected function initialize(): self | ||||
|     { | ||||
|         return $this | ||||
|             // ->afterInstantiate(function(AccompanyingPeriod $accompanyingPeriod): void {}) | ||||
|         ; | ||||
|     } | ||||
|  | ||||
|     protected static function getClass(): string | ||||
|     { | ||||
|         return AccompanyingPeriod::class; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,89 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Chill\PersonBundle\Factory\AccompanyingPeriod; | ||||
|  | ||||
| use Chill\MainBundle\Factory\Embeddable\PrivateCommentEmbeddableFactory; | ||||
| use Chill\MainBundle\Factory\UserFactory; | ||||
| use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork; | ||||
| use Doctrine\ORM\EntityRepository; | ||||
| use Zenstruck\Foundry\ModelFactory; | ||||
| use Zenstruck\Foundry\Proxy; | ||||
| use Zenstruck\Foundry\RepositoryProxy; | ||||
|  | ||||
| /** | ||||
|  * @extends ModelFactory<AccompanyingPeriodWork> | ||||
|  * | ||||
|  * @method        AccompanyingPeriodWork|Proxy create(array|callable $attributes = []) | ||||
|  * @method static AccompanyingPeriodWork|Proxy createOne(array $attributes = []) | ||||
|  * @method static AccompanyingPeriodWork|Proxy find(object|array|mixed $criteria) | ||||
|  * @method static AccompanyingPeriodWork|Proxy findOrCreate(array $attributes) | ||||
|  * @method static AccompanyingPeriodWork|Proxy first(string $sortedField = 'id') | ||||
|  * @method static AccompanyingPeriodWork|Proxy last(string $sortedField = 'id') | ||||
|  * @method static AccompanyingPeriodWork|Proxy random(array $attributes = []) | ||||
|  * @method static AccompanyingPeriodWork|Proxy randomOrCreate(array $attributes = []) | ||||
|  * @method static EntityRepository|RepositoryProxy repository() | ||||
|  * @method static AccompanyingPeriodWork[]|Proxy[] all() | ||||
|  * @method static AccompanyingPeriodWork[]|Proxy[] createMany(int $number, array|callable $attributes = []) | ||||
|  * @method static AccompanyingPeriodWork[]|Proxy[] createSequence(iterable|callable $sequence) | ||||
|  * @method static AccompanyingPeriodWork[]|Proxy[] findBy(array $attributes) | ||||
|  * @method static AccompanyingPeriodWork[]|Proxy[] randomRange(int $min, int $max, array $attributes = []) | ||||
|  * @method static AccompanyingPeriodWork[]|Proxy[] randomSet(int $number, array $attributes = []) | ||||
|  * | ||||
|  * @phpstan-method        Proxy<AccompanyingPeriodWork> create(array|callable $attributes = []) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriodWork> createOne(array $attributes = []) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriodWork> find(object|array|mixed $criteria) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriodWork> findOrCreate(array $attributes) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriodWork> first(string $sortedField = 'id') | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriodWork> last(string $sortedField = 'id') | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriodWork> random(array $attributes = []) | ||||
|  * @phpstan-method static Proxy<AccompanyingPeriodWork> randomOrCreate(array $attributes = []) | ||||
|  * @phpstan-method static RepositoryProxy<AccompanyingPeriodWork> repository() | ||||
|  */ | ||||
| final class AccompanyingPeriodWorkFactory extends ModelFactory | ||||
| { | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#factories-as-services | ||||
|      * | ||||
|      * @todo inject services if required | ||||
|      */ | ||||
|     public function __construct() | ||||
|     { | ||||
|         parent::__construct(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#model-factories | ||||
|      * | ||||
|      * @todo add your default values here | ||||
|      */ | ||||
|     protected function getDefaults(): array | ||||
|     { | ||||
|         return [ | ||||
|             'createdAt' => \DateTimeImmutable::createFromMutable(self::faker()->dateTime()), | ||||
|             'createdAutomatically' => self::faker()->boolean(), | ||||
|             'createdAutomaticallyReason' => self::faker()->text(), | ||||
|             'createdBy' => UserFactory::new(), | ||||
|             'note' => self::faker()->text(), | ||||
|             'privateComment' => PrivateCommentEmbeddableFactory::new(), | ||||
|             'startDate' => \DateTimeImmutable::createFromMutable(self::faker()->dateTime()), | ||||
|             'updatedAt' => \DateTimeImmutable::createFromMutable(self::faker()->dateTime()), | ||||
|             'updatedBy' => UserFactory::new(), | ||||
|             'version' => self::faker()->randomNumber(), | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#initialization | ||||
|      */ | ||||
|     protected function initialize(): self | ||||
|     { | ||||
|         return $this | ||||
|             // ->afterInstantiate(function(AccompanyingPeriodWork $accompanyingPeriodWork): void {}) | ||||
|         ; | ||||
|     } | ||||
|  | ||||
|     protected static function getClass(): string | ||||
|     { | ||||
|         return AccompanyingPeriodWork::class; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,53 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Repository; | ||||
|  | ||||
| use Chill\MainBundle\Factory\UserFactory; | ||||
| use Chill\PersonBundle\Entity\AccompanyingPeriod; | ||||
| use Chill\PersonBundle\Factory\AccompanyingPeriod\AccompanyingPeriodFactory; | ||||
| use Chill\PersonBundle\Repository\AccompanyingPeriodRepository; | ||||
| use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; | ||||
| use Zenstruck\Foundry\Test\Factories; | ||||
| use Zenstruck\Foundry\Test\ResetDatabase; | ||||
|  | ||||
| class AccompanyingPeriodRepositoryTest extends KernelTestCase | ||||
| { | ||||
|     use ResetDatabase, Factories; | ||||
|  | ||||
|     public function testFindConfirmedByUser() | ||||
|     { | ||||
|         self::bootKernel(); | ||||
|  | ||||
|         $user = UserFactory::createOne([ | ||||
|             'username' => 'Bob ISLA' | ||||
|         ]); | ||||
|  | ||||
|         $userTwo = UserFactory::createOne([ | ||||
|             'username' => 'Richard REEVES' | ||||
|         ]); | ||||
|  | ||||
|         $apOne = AccompanyingPeriodFactory::createOne([ | ||||
|             'step' => AccompanyingPeriod::STEP_CONFIRMED, | ||||
|             'user' => $user->object() | ||||
|         ]); | ||||
|  | ||||
|         $apTwo = AccompanyingPeriodFactory::createOne([ | ||||
|             'step' => AccompanyingPeriod::STEP_DRAFT, | ||||
|             'user' => $user->object() | ||||
|         ]); | ||||
|  | ||||
|         $apThree = AccompanyingPeriodFactory::createOne([ | ||||
|             'step' => AccompanyingPeriod::STEP_CONFIRMED, | ||||
|             'user' => $userTwo->object() | ||||
|         ]); | ||||
|  | ||||
|         $this->assertEquals($apOne, $this->getAccompanyingPeriodRepository()->findConfirmedByUser($user->object())); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     private function getAccompanyingPeriodRepository(): AccompanyingPeriodRepository | ||||
|     { | ||||
|         return self::$container->get(AccompanyingPeriodRepository::class); | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user