/** * @dataProvider validationDataProvider * * @param mixed $phone * @param mixed $email * @param string $method * @param int $expectedViolationCount */ public function testValidationCallback($phone, $email, $method, $expectedViolationCount) { $request = new ContactRequest(); $request->setPhone($phone); $request->setEmailAddress($email); $request->setPreferredContactMethod($method); $context = $this->getMockBuilder('Symfony\\Component\\Validator\\ExecutionContext')->disableOriginalConstructor()->getMock(); $context->expects($this->exactly($expectedViolationCount))->method('addViolationAt'); ContactRequestCallbackValidator::validate($request, $context); }
/** * {@inheritDoc} */ public function load(ObjectManager $manager) { $this->em = $manager; $organization = $manager->getRepository('OroOrganizationBundle:Organization')->getFirst(); $this->createChannel(); $contactUsRequest = new ContactRequest(); $contactUsRequest->setFirstName('fname'); $contactUsRequest->setLastName('lname'); $contactUsRequest->setPhone('123123123'); $contactUsRequest->setEmailAddress('*****@*****.**'); $contactUsRequest->setComment('some comment'); $contactUsRequest->setDataChannel($this->getReference('default_channel')); $contactUsRequest->setOwner($organization); $this->em->persist($contactUsRequest); $this->em->flush(); $this->setReference('default_contact_us_request', $contactUsRequest); }
/** * @param ObjectManager $om */ protected function persistDemoContactUsForm(ObjectManager $om) { foreach ($this->contactRequests as $contactRequest) { $request = new ContactRequest(); $contactRequest['contactReason'] = $om->getRepository('OroCRMContactUsBundle:ContactReason')->findOneBy(array('label' => $contactRequest['contactReason'])); foreach ($contactRequest as $property => $value) { call_user_func_array(array($request, 'set' . ucfirst($property)), array($value)); } $request->setPreferredContactMethod(ContactRequest::CONTACT_METHOD_BOTH); $request->setCreatedAt(new \DateTime('now', new \DateTimeZone('UTC'))); $request->setOwner($this->organization); $request->setDataChannel($this->dataChannel); $om->persist($request); } }
/** * Validates contact method * * @param ContactRequest $object * @param ExecutionContext $context */ public static function validate(ContactRequest $object, ExecutionContext $context) { $emailError = $phoneError = false; switch ($object->getPreferredContactMethod()) { case ContactRequest::CONTACT_METHOD_PHONE: $phoneError = !$object->getPhone(); break; case ContactRequest::CONTACT_METHOD_EMAIL: $emailError = !$object->getEmailAddress(); break; case ContactRequest::CONTACT_METHOD_BOTH: default: $phoneError = !$object->getPhone(); $emailError = !$object->getEmailAddress(); } if ($emailError) { $context->addViolationAt('emailAddress', 'This value should not be blank.'); } if ($phoneError) { $context->addViolationAt('phone', 'This value should not be blank.'); } }
public function testDoPreUpdate() { $request = new ContactRequest(); $updatedAt = new \DateTime(); $request->setUpdatedAt($updatedAt); $request->preUpdate(); $this->assertNotNull($request->getUpdatedAt()); $this->assertInstanceOf('DateTime', $request->getUpdatedAt()); $this->assertNotSame($updatedAt, $request->getUpdatedAt()); }
public function testGetEmail() { $request = new ContactRequest(); $this->assertNull($request->getEmail()); $request->setEmailAddress('*****@*****.**'); $this->assertEquals('*****@*****.**', $request->getEmail()); }