/** * Returns the latest results for each test in the requested group * * @Route("/group/{id}") * @Method({"GET"}) * @Security("is_granted('view', group)") * @ApiDoc( * requirements={ * {"name"="id", "description"="The ID of the group for which to return results for", "dataType"="integer", "requirement"="\d+"} * }, * filters={ * {"name"="pageSize", "description"="How many results to return per test per page","type"="Integer","default"=10,"maximum"=100}, * {"name"="page", "description"="The page number to return results from","type"="Integer","default"=1} * }, * tags={ * "Super Admin" = "#ff1919", * "Admin" = "#ffff33", * "User" = "#75ff47" * } * ) */ public function getRecentGroupResults(TestGroup $group, Request $request) { $results = []; $size = $request->query->get('pageSize', 10); foreach ($group->getTests()->toArray() as $test) { $results[] = $this->getEntityRepository("OverwatchResultBundle:TestResult")->getResults(["test" => $test], $size >= 100 ? 10 : $size, $request->query->get('page', 1)); } return new JsonResponse($results); }
public function load(ObjectManager $em) { $group1 = new TestGroup(); $group1->setName("Group 1"); $em->persist($group1); $group2 = new TestGroup(); $group2->setName("Group 2"); $em->persist($group2); $group3 = new TestGroup(); $group3->setName("Group 3 - Empty"); $em->persist($group3); $this->addReference('group-1', $group1); $this->addReference('group-2', $group2); $this->addReference('group-3', $group3); $em->flush(); }
/** * Returns a list of tests in the given group * * @Route("/group/{id}") * @Method({"GET"}) * @Security("is_granted('view', group)") * @ApiDoc( * requirements={ * {"name"="id", "description"="The ID of the group to return tests from", "dataType"="integer", "requirement"="\d+"} * }, * tags={ * "Super Admin" = "#ff1919", * "Admin" = "#ffff33", * "User" = "#75ff47" * } * ) */ public function getTestsInGroup(TestGroup $group) { return new JsonResponse($group->getTests()->toArray()); }
private function getMockTest($userInGroup = TRUE) { $group = new TestGroup(); $group->setName("MemeGroup1"); $test = $this->getMock('Overwatch\\TestBundle\\Entity\\Test', ['getGroup']); $test->method('getGroup')->willReturn($group); if ($userInGroup === TRUE) { $group->addUser($this->user); } return $test; }
/** * Removes the given user from the given group * * @Route("/{groupId}/user/{userId}") * @Method({"DELETE"}) * @Security("has_role('ROLE_SUPER_ADMIN')") * @ParamConverter("group", class="OverwatchTestBundle:TestGroup", options={"id" = "groupId"}) * @ParamConverter("user", class="OverwatchUserBundle:User", options={"id" = "userId"}) * @ApiDoc( * requirements={ * {"name"="userId", "description"="The ID of the user", "dataType"="integer", "requirement"="\d+"}, * {"name"="groupId", "description"="The ID of the group", "dataType"="integer", "requirement"="\d+"} * }, * tags={ * "Super Admin" = "#ff1919" * } * ) */ public function removeUserFromGroup(TestGroup $group, User $user) { $group->removeUser($user); $this->_em->flush(); return new JsonResponse($user); }