public function testSimpleRun()
 {
     $client = new Client();
     $client->setName('Alexandar')->setSurname('Sapogova');
     $data = $this->serializer->serialize($client, 'json');
     $resp = $this->action->setRequestContent($data)->setClassName('Test\\TestBundle\\Entity\\Client')->init()->run();
     $this->assertTrue($resp->isSuccess());
     $this->assertEquals(RestResponse::STATUS_CODE_OK, $resp->getStatusCode());
     /** @var Client $clientFromResp */
     $clientFromResp = $resp->getData();
     $this->assertNotNull($clientFromResp);
     $this->assertEquals($client->getName(), $clientFromResp->getName());
     $this->assertEquals($client->getSurname(), $clientFromResp->getSurname());
     $this->em->clear();
     /** @var Client $clientFromDB */
     $clientFromDB = $this->em->getRepository('Test\\TestBundle\\Entity\\Client')->find($clientFromResp->getId());
     $this->assertNotNull($clientFromDB);
     $this->assertEquals($client->getName(), $clientFromDB->getName());
     $this->assertEquals($client->getSurname(), $clientFromDB->getSurname());
 }
 public function testRunWithAdditionalGroup()
 {
     /** @var Client $clientOld */
     $clientOld = $this->em->getRepository('Test\\TestBundle\\Entity\\Client')->find(1);
     $this->em->detach($clientOld);
     $clientToSerialize = new Client();
     $clientToSerialize->setName('Oper');
     $clientToSerialize->setPatronymic('Polyiakova');
     $context = SerializationContext::create()->setGroups([PatchAction::GROUP_DEFAULT, PatchAction::GROUP_PATCH, 'some']);
     $resp = $this->action->setClassName('Test\\TestBundle\\Entity\\Client')->setEntityId(1)->setRequestContent($this->serializer->serialize($clientToSerialize, 'json', $context))->setSerializationContextGroups(['some'])->init()->run();
     $this->em->clear();
     $this->assertTrue($resp->isSuccess());
     $this->assertEquals(RestResponse::STATUS_CODE_OK, $resp->getStatusCode());
     /** @var Client $clientFromResp */
     $clientFromResp = $resp->getData();
     /** @var Client $clientFromDB */
     $clientFromDB = $this->em->getRepository('Test\\TestBundle\\Entity\\Client')->find(1);
     $this->assertEquals(1, $clientFromDB->getId());
     $this->assertEquals(1, $clientFromResp->getId());
     $this->assertEquals('Oper', $clientFromDB->getName());
     $this->assertEquals('Oper', $clientFromResp->getName());
     $this->assertEquals('Polyiakova', $clientFromDB->getPatronymic());
     $this->assertEquals('Polyiakova', $clientFromResp->getPatronymic());
 }