/** * @test */ public function getFindingChildrenIds() { $node = new Node(); $node1_1 = new Node(); $node1_2 = new Node(); $node2_1 = new Node(); $node1_2->setChildren($node2_1); $node->setChildren($node1_1); $node->setChildren($node1_2); $findingChildren = $node->getFindingChildrenIds(); $this->assertCount(2, $findingChildren); $this->assertEmpty(array_diff([$node1_1->getId(), $node2_1->getId()], $findingChildren)); }
/** * * @param Request $request * @param Node $node * * @Route("/node/{id}", requirements={"id": "[0-9*]+"}, name="node_statistic") * Cache(expires="+2 week") */ public function nodeStatisticAction(Request $request, Node $node) { $node_id_arr = $node->getFindingChildrenIds(); $entityManager = $this->getDoctrine()->getEntityManager(); $statRepository = $entityManager->getRepository('TestBundle:Statistics'); $result = $statRepository->countTestsInNode($node_id_arr); $user = $this->getUser(); if ($user) { $user_result = $statRepository->countPassedTestsInNode($node_id_arr, $user->getId()); $result = array_merge($result, $user_result); } return new JsonResponse($result); }