public function create($data) { $em = $this->getObjectManager(); $contact = new Contact(); $contact->exchangeArray($data); $em->persist($contact); $em->flush(); return new JsonModel(array('data' => $contact->getId())); }
public function testUpdateCanBeAccessed() { $data = array('firstName' => 'Jim', 'lastName' => 'Smith', 'middleInitial' => null, 'address1' => '123 Main St', 'address2' => 'Ste 400', 'city' => 'Pleasantville', 'state' => 'OK', 'zip' => '12345', 'zip4' => '6789', 'email' => '*****@*****.**', 'phoneNumber' => '8885551212', 'id' => 1); $contact = new Contact(); $contact->exchangeArray($data); $entityManager = $this->getMockBuilder('\\Doctrine\\Common\\Persistence\\ObjectManager')->disableOriginalConstructor()->getMock(); $entityManager->expects($this->once())->method('merge')->with($this->anything())->will($this->returnValue($contact)); $entityManager->expects($this->once())->method('flush'); $entityManager->expects($this->once())->method('find')->with('AddressBook\\Model\\Contact', 1)->will($this->returnValue($contact)); $this->controller->setObjectManager($entityManager); $this->routeMatch->setParam('id', '1'); $this->request->setMethod('put'); $this->request->setContent(json_encode($data)); $headers = new Headers(); $headers->addHeaderLine('Content-type', 'application/json'); $this->request->setHeaders($headers); $result = $this->controller->dispatch($this->request); $response = $this->controller->getResponse(); $this->assertEquals(200, $response->getStatusCode()); $this->assertEquals('{"data":1}', $result->serialize()); }