コード例 #1
0
 function it_creates_a_project_passing_the_image(UserInterface $user, ParticipantFactory $participantFactory, ParticipantInterface $participant, WorkflowInterface $workflow, MediaUploaderInterface $uploader, MediaFactory $mediaFactory, MediaInterface $media)
 {
     $image = new UploadedFile('', '', null, null, 99, true);
     // Avoids file not found exception
     $participantFactory->create(Argument::type('Kreta\\Component\\Project\\Model\\Project'), $user, 'ROLE_ADMIN')->shouldBeCalled()->willReturn($participant);
     $mediaFactory->create($image)->shouldBeCalled()->willReturn($media);
     $uploader->upload($media)->shouldBeCalled();
     $this->create($user, $workflow, false, $image)->shouldReturnAnInstanceOf('Kreta\\Component\\Project\\Model\\Project');
 }
コード例 #2
0
ファイル: ProjectHandler.php プロジェクト: cespedosa/kreta
 /**
  * {@inheritdoc}
  */
 protected function handleFiles(FileBag $files, $project)
 {
     $image = $files->get('image');
     if ($image instanceof UploadedFile) {
         $media = $this->mediaFactory->create($image);
         $this->uploader->upload($media);
         $project->setImage($media);
     }
 }
コード例 #3
0
 function it_handles_form_that_tests_handle_project_image(Request $request, ProjectInterface $project, FormFactory $formFactory, FormBuilderInterface $formBuilder, FormInterface $form, FileBag $fileBag, MediaFactory $mediaFactory, MediaInterface $media, ObjectManager $manager, MediaUploader $uploader)
 {
     $image = new UploadedFile('', '', null, null, 99, true);
     // Avoids file not found exception
     $formFactory->createNamedBuilder('', 'kreta_project_project_type', $project, [])->shouldBeCalled()->willReturn($formBuilder);
     $formBuilder->getForm()->shouldBeCalled()->willReturn($form);
     $request->isMethod('POST')->shouldBeCalled()->willReturn(true);
     $form->handleRequest($request)->shouldBeCalled();
     $form->isValid()->shouldBeCalled()->willReturn(true);
     $fileBag->get('image')->shouldBeCalled()->willReturn($image);
     $request->files = $fileBag;
     $mediaFactory->create($image)->shouldBeCalled()->willReturn($media);
     $uploader->upload($media)->shouldBeCalled();
     $project->setImage($media)->shouldBeCalled()->willReturn($project);
     $manager->persist($project)->shouldBeCalled();
     $manager->flush()->shouldBeCalled();
     $this->handleForm($request, $project, []);
 }
コード例 #4
0
ファイル: ProjectFactory.php プロジェクト: cespedosa/kreta
 /**
  * Creates an instance of a project.
  *
  * @param \Kreta\Component\User\Model\Interfaces\UserInterface              $user     The project creator
  * @param \Kreta\Component\Workflow\Model\Interfaces\WorkflowInterface|null $workflow The workflow
  * @param boolean                                                           $load     Load boolean, by default true
  * @param \Symfony\Component\HttpFoundation\File\UploadedFile               $image    The image, can be null
  *
  * @return \Kreta\Component\Project\Model\Interfaces\ProjectInterface
  */
 public function create(UserInterface $user, WorkflowInterface $workflow = null, $load = true, UploadedFile $image = null)
 {
     $project = new $this->className();
     $participant = $this->participantFactory->create($project, $user, 'ROLE_ADMIN');
     if (!$workflow instanceof WorkflowInterface) {
         $workflow = $this->workflowFactory->create(self::DEFAULT_WORKFLOW_NAME, $user, true);
     }
     if ($load) {
         $project = $this->loadPrioritiesAndTypes($project);
     }
     if ($image instanceof UploadedFile) {
         $media = $this->mediaFactory->create($image);
         $this->uploader->upload($media);
         $project->setImage($media);
     }
     return $project->addParticipant($participant)->setWorkflow($workflow);
 }