date-poll-api/src/DataFixtures/AppPollFixtures.php

88 lines
2.4 KiB
PHP

<?php
namespace App\DataFixtures;
use App\Entity\Choice;
use App\Entity\Owner;
use App\Entity\Poll;
use App\Entity\Vote;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
class AppPollFixtures extends Fixture {
public function load( ObjectManager $manager ) {
$owner = new Owner();
$owner->setEmail( 'tktest@tktest.com' )
->setPseudo( 'tk_TEST' );
// $product = new Product();
$poll = new Poll();
$poll->setTitle( 'citron ou orange' );
$poll->setKind( 'text' );
$poll->setDescription( 'votre sorbert préféré' );
$poll->setAdminKey( 'dskjfsfdljkdsjlkdsfkjdsjdlkfs' );
$poll->setModificationPolicy( 'nobody' );
$poll->setCreationDate( new \DateTime() );
$poll->setExpiracyDate( new \DateTime() );
$poll->setMailOnVote( true );
$poll->setOwner( $owner );
$owner->addPoll( $poll );
$choiceA = new Choice();
$choiceA->setName( 'citron' );
$choiceB = new Choice();
$choiceA->setName( 'orange' );
$poll
->addChoice( $choiceA )
->addChoice( $choiceB );
$voteA = new Vote();
$voteA->setPseudo( 'chuck norris' )
->setCreationDate( new DateTime() )
->setChoice( $choiceA );
$voteA = new Vote();
$voteA->setPseudo( 'Néo' )
->setCreationDate( new DateTime() )
->setChoice( $choiceB );
$manager->persist( $poll );
$poll = new Poll();
$poll->setTitle( 'démo sondage de texte 2' );
$poll->setDescription( 'description du sondage 2' );
$poll->setKind( 'date' );
$poll->setAdminKey( 'dskjfsfdljkdsjlkdsfkjdsjdlkfs' );
$poll->setModificationPolicy( 'self' );
$poll->setMailOnComment( true );
$poll->setCreationDate( new \DateTime() );
$poll->setExpiracyDate( new \DateTime() );
$poll->setOwner( $owner );
$owner->addPoll( $poll );
$manager->persist( $poll );
$poll = new Poll();
$poll->setTitle( 'accès restreint sondage de texte' );
$poll->setKind( 'text' );
$poll->setPassword( md5( 'mot_de_passe_super' ) );
$poll->setModificationPolicy( 'everybody' );
$poll->setDescription( 'description du sondage' );
$poll->setAdminKey( 'dskjfsfdljkdsjlkdsfkjdsjdlkfs' );
$poll->setCustomUrl( 'boudoum_podom_podom' );
$poll->setCreationDate( new \DateTime() );
$poll->setExpiracyDate( new \DateTime() );
$poll->setMailOnComment( true );
$poll->setMailOnVote( true );
$poll->setOwner( $owner );
$owner->addPoll( $poll );
$manager->persist( $poll );
$manager->persist( $owner );
$manager->flush();
}
}