setCurrentGroup(IGroup::TrackChairs); parent::setUp(); self::insertTestData(); self::$summit_permission_group->addMember(self::$member); self::$em->persist(self::$summit); self::$em->persist(self::$summit_permission_group); self::$em->flush(); $track_chair = self::$summit->addTrackChair(self::$member, [ self::$defaultTrack ]); self::$em->persist(self::$summit); self::$em->flush(); } protected function tearDown() { self::clearTestData(); parent::tearDown(); } /** * @return mixed */ public function testAddIndividualSelectionListAndAddSelection(){ $params = [ 'id' => self::$summit->getId(), 'track_id' => self::$defaultTrack->getId(), ]; $headers = [ "HTTP_Authorization" => " Bearer " . $this->access_token, "CONTENT_TYPE" => "application/json" ]; $response = $this->action( "POST", "OAuth2SummitSelectedPresentationListApiController@createIndividualSelectionList", $params, [], [], [], $headers, "" ); $content = $response->getContent(); $this->assertResponseStatus(201); $selection_list = json_decode($content); $this->assertTrue(!is_null($selection_list)); $params = [ 'id' => self::$summit->getId(), 'track_id' => self::$defaultTrack->getId(), 'collection' => SummitSelectedPresentation::CollectionSelected, 'presentation_id' => self::$presentations[0]->getId(), 'expand' => 'selected_presentations,interested_presentations,' ]; $headers = [ "HTTP_Authorization" => " Bearer " . $this->access_token, "CONTENT_TYPE" => "application/json" ]; $response = $this->action( "POST", "OAuth2SummitSelectedPresentationListApiController@assignPresentationToMyIndividualList", $params, [], [], [], $headers, "" ); $content = $response->getContent(); $this->assertResponseStatus(201); $selection_list = json_decode($content); $this->assertTrue(!is_null($selection_list)); $this->assertTrue(count($selection_list->selected_presentations) > 0); return $selection_list; } /** * @return mixed */ public function testAddIndividualSelectionListAndReorder(){ $params = [ 'id' => self::$summit->getId(), 'track_id' => self::$defaultTrack->getId(), ]; $headers = [ "HTTP_Authorization" => " Bearer " . $this->access_token, "CONTENT_TYPE" => "application/json" ]; $response = $this->action( "POST", "OAuth2SummitSelectedPresentationListApiController@createIndividualSelectionList", $params, [], [], [], $headers, "" ); $content = $response->getContent(); $this->assertResponseStatus(201); $selection_list = json_decode($content); $this->assertTrue(!is_null($selection_list)); $params = [ 'id' => self::$summit->getId(), 'track_id' => self::$defaultTrack->getId(), 'collection' => SummitSelectedPresentation::CollectionSelected, 'presentation_id' => self::$presentations[0]->getId(), 'expand' => 'selected_presentations,interested_presentations,' ]; $headers = [ "HTTP_Authorization" => " Bearer " . $this->access_token, "CONTENT_TYPE" => "application/json" ]; $response = $this->action( "POST", "OAuth2SummitSelectedPresentationListApiController@assignPresentationToMyIndividualList", $params, [], [], [], $headers, "" ); $content = $response->getContent(); $this->assertResponseStatus(201); $params = [ 'id' => self::$summit->getId(), 'track_id' => self::$defaultTrack->getId(), 'list_id' => $selection_list->id, ]; $headers = [ "HTTP_Authorization" => " Bearer " . $this->access_token, "CONTENT_TYPE" => "application/json" ]; $data = [ 'collection' => SummitSelectedPresentation::CollectionSelected, 'presentations' => [ self::$presentations[1]->getId(), self::$presentations[0]->getId(), self::$presentations[2]->getId() ] ]; $response = $this->action( "PUT", "OAuth2SummitSelectedPresentationListApiController@reorderSelectionList", $params, [], [], [], $headers, json_encode($data) ); $content = $response->getContent(); $this->assertResponseStatus(201); $selection_list = json_decode($content); $this->assertTrue(!is_null($selection_list)); $this->assertTrue(count($selection_list->selected_presentations) == 3); return $selection_list; } /** * @return mixed */ public function testAddIndividualSelectionListAndReorderRemove(){ $params = [ 'id' => self::$summit->getId(), 'track_id' => self::$defaultTrack->getId(), ]; $headers = [ "HTTP_Authorization" => " Bearer " . $this->access_token, "CONTENT_TYPE" => "application/json" ]; $response = $this->action( "POST", "OAuth2SummitSelectedPresentationListApiController@createIndividualSelectionList", $params, [], [], [], $headers, "" ); $content = $response->getContent(); $this->assertResponseStatus(201); $selection_list = json_decode($content); $this->assertTrue(!is_null($selection_list)); $params = [ 'id' => self::$summit->getId(), 'track_id' => self::$defaultTrack->getId(), 'collection' => SummitSelectedPresentation::CollectionSelected, 'presentation_id' => self::$presentations[0]->getId(), 'expand' => 'selected_presentations,interested_presentations,' ]; $headers = [ "HTTP_Authorization" => " Bearer " . $this->access_token, "CONTENT_TYPE" => "application/json" ]; $response = $this->action( "POST", "OAuth2SummitSelectedPresentationListApiController@assignPresentationToMyIndividualList", $params, [], [], [], $headers, "" ); $content = $response->getContent(); $this->assertResponseStatus(201); $params = [ 'id' => self::$summit->getId(), 'track_id' => self::$defaultTrack->getId(), 'list_id' => $selection_list->id, ]; $headers = [ "HTTP_Authorization" => " Bearer " . $this->access_token, "CONTENT_TYPE" => "application/json" ]; $data = [ 'collection' => SummitSelectedPresentation::CollectionSelected, 'presentations' => [ self::$presentations[1]->getId(), self::$presentations[2]->getId() ] ]; $response = $this->action( "PUT", "OAuth2SummitSelectedPresentationListApiController@reorderSelectionList", $params, [], [], [], $headers, json_encode($data) ); $content = $response->getContent(); $this->assertResponseStatus(201); $selection_list = json_decode($content); $this->assertTrue(!is_null($selection_list)); $this->assertTrue(count($selection_list->selected_presentations) == 2); return $selection_list; } }