/**
  * @param Project $project
  *
  * @dataProvider provider
  */
 public function testCanCreateFieldset(Project $project)
 {
     /**
      * @var $projectService ProjectService
      */
     $projectService = $this->serviceManager->get(ProjectService::class);
     $projectService->setProject($project);
     $affiliation = new Affiliation();
     $affiliation->setId(1);
     $form = new CostPerAffiliationFieldset($affiliation, $projectService);
     $this->assertInstanceOf("Zend\\Form\\Fieldset", $form);
     $this->assertInstanceOf("Zend\\InputFilter\\InputFilterProviderInterface", $form);
     $inputFilter = $form->getInputFilterSpecification();
     $this->assertTrue(is_array($inputFilter));
 }
 /**
  *
  */
 public function testCanSetAffiliations()
 {
     $service = new AffiliationService();
     // Create a dummy user entity
     $affiliation = new Affiliation();
     $affiliation->setId(1);
     // Create a dummy user entity
     $affiliation2 = new Affiliation();
     $affiliation2->setId(2);
     // Mock the repository, disabling the constructor
     $userRepositoryMock = $this->getMockBuilder(\Affiliation\Repository\Affiliation::class)->disableOriginalConstructor()->getMock();
     $userRepositoryMock->expects($this->once())->method('findAll')->will($this->returnValue([$affiliation, $affiliation2]));
     // Mock the entity manager
     $emMock = $this->getMock('EntityManager', ['getRepository'], [], '', false);
     $emMock->expects($this->any())->method('getRepository')->will($this->returnValue($userRepositoryMock));
     $service->setEntityManager($emMock);
     $this->assertEquals(2, sizeof($service->findAll('affiliation')));
 }
 /**
  * @return array
  */
 public function provider()
 {
     $dateTime = new \DateTime();
     $dateStart = $dateTime->sub(new \DateInterval('P1Y'));
     $dateEnd = $dateTime->add(new \DateInterval('P4Y'));
     $dateTime = new \DateTime();
     $dateStartActual = $dateTime->sub(new \DateInterval('P6M'));
     $dateEndActual = $dateTime->add(new \DateInterval('P3Y'));
     $contactTest = new ContactTest();
     $callTest = new CallTest();
     $project = new Project();
     $project->setCall($callTest->provider()[0][0]);
     $project->setDateStart($dateStart);
     $project->setDateEnd($dateEnd);
     $project->setDateStartActual($dateStartActual);
     $project->setDateEndActual($dateEndActual);
     $project->setNumber(Rand::getString(4));
     $project->setContact($contactTest->provider()[0][0]);
     $project->setSummary('This is the summary');
     $project->setDescription('This is the description');
     $affiliation = new Affiliation();
     $affiliation->setId(1);
     return [[$project, $affiliation]];
 }