/** * @dataProvider serializeToJsonProvider */ public function testSerializeToJson($sourceNodeType, $expectedFile) { $serializer = new NodeTypeJsonSerializer(); $json = $serializer->serialize($sourceNodeType); // Assert $this->assertJsonStringEqualsJsonFile($expectedFile, $json); }
/** * Export a Json file containing NodeType datas and fields. * * @param Symfony\Component\HttpFoundation\Request $request * @param int $nodeTypeId * * @return Symfony\Component\HttpFoundation\Response */ public function exportJsonFileAction(Request $request, $nodeTypeId) { $this->validateAccessForRole('ROLE_ACCESS_NODETYPES'); $nodeType = $this->getService('em')->find('RZ\\Roadiz\\Core\\Entities\\NodeType', (int) $nodeTypeId); $response = new Response(NodeTypeJsonSerializer::serialize($nodeType), Response::HTTP_OK, []); $response->headers->set('Content-Disposition', $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, $nodeType->getName() . '.rzt')); // Rezo-Zero Type $response->prepare($request); return $response; }