diff --git a/src/Bundle/ChillAsideActivityBundle/src/DataFixtures/ORM/LoadAsideActivity.php b/src/Bundle/ChillAsideActivityBundle/src/DataFixtures/ORM/LoadAsideActivity.php new file mode 100644 index 000000000..a3de01baf --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/DataFixtures/ORM/LoadAsideActivity.php @@ -0,0 +1,102 @@ +faker = FakerFactory::create('fr_FR'); + $this->userRepository = $userRepository; + } + + public function getDependencies() + { + return [ + LoadAsideActivityCategory::class, + LoadUsers::class, + ]; + } + + /** + * Return a random asideActivityCategory + * + * @return \Chill\AsideActivityBundle\Entity\AsideActivityCategory + */ + private function getRandomAsideActivityCategory(): AsideActivityCategory + { + $catRef = LoadAsideActivityCategory::$references[array_rand(LoadAsideActivityCategory::$references)]; + + return $this->getReference($catRef); + } + + /** + * Return a random user + * + * @return \Chill\MainBundle\Entity\User + */ + private function getRandomUser(): User + { + if (0 === count($this->cacheUsers)){ + $this->cacheUsers = $this->container->get('doctrine.orm.entity_manager') + ->getRepository('ChillMainBundle:User') + ->findAll(); + } + + return $this->cacheUsers[array_rand($this->cacheUsers)]; + } + + public function newRandomActivity() + { + $asideactivity = ($activity = new AsideActivity()) + ->setAgent($this->getRandomUser()) + ->setDate($this->faker->dateTimeThisYear()) + ->setCreatedAt(new DateTime()) + ->setCreatedBy($activity->getAgent()) + //->setDuration(3600) + ->setType($this->getRandomAsideActivityCategory()); + + return $asideactivity; + } + + public function load(ObjectManager $manager) + { + for($i = 0; $i < 100; $i ++) { + $asideactivity = $this->newRandomActivity(); + $manager->persist($asideactivity); + } + + $manager->flush(); + } +} diff --git a/src/Bundle/ChillAsideActivityBundle/src/DataFixtures/ORM/LoadAsideActivityCategory.php b/src/Bundle/ChillAsideActivityBundle/src/DataFixtures/ORM/LoadAsideActivityCategory.php new file mode 100644 index 000000000..76b6e3ff3 --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/DataFixtures/ORM/LoadAsideActivityCategory.php @@ -0,0 +1,50 @@ + ['fr' => 'Formation', 'en' => 'Training'], + 'ref' => 'training', + ], + [ + 'title' => ['fr' => 'Team building', 'en' => 'Team building'], + 'ref' => 'teambuilding', + ], + ]; + + foreach ($categories as $cat) { + print "Creating aside activity type category : " . $cat['ref'] . "\n"; + + $newCat = (new AsideActivityCategory()) + ->setTitle(($cat['title'])); + + $manager->persist($newCat); + $reference = 'activity_type_cat_'.$cat['ref']; + + $this->addReference($reference, $newCat); + static::$references[] = $reference; + } + + $manager->flush(); + } +} \ No newline at end of file diff --git a/src/Bundle/ChillAsideActivityBundle/src/DependencyInjection/ChillAsideActivityExtension.php b/src/Bundle/ChillAsideActivityBundle/src/DependencyInjection/ChillAsideActivityExtension.php index a40be70ac..712649653 100644 --- a/src/Bundle/ChillAsideActivityBundle/src/DependencyInjection/ChillAsideActivityExtension.php +++ b/src/Bundle/ChillAsideActivityBundle/src/DependencyInjection/ChillAsideActivityExtension.php @@ -25,7 +25,7 @@ final class ChillAsideActivityExtension extends Extension implements PrependExte public function load(array $configs, ContainerBuilder $container): void { $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../config')); - // $loader->load('services.yaml'); + $loader->load('services.yaml'); $loader->load('services/form.yaml'); $loader->load('services/menu.yaml'); } diff --git a/src/Bundle/ChillAsideActivityBundle/src/Tests/Controller/AsideActivityControllerTest.php b/src/Bundle/ChillAsideActivityBundle/src/Tests/Controller/AsideActivityControllerTest.php new file mode 100644 index 000000000..8d8ab9b46 --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/Tests/Controller/AsideActivityControllerTest.php @@ -0,0 +1,27 @@ +client = $this->getClientAuthenticated(); + } + + public function testNewWithoutUsers() + { + $this->client->request('GET', '/fr/asideactivity'); + + $this->assertResponseSuccessful(); + } + +} \ No newline at end of file