openstackid-resources/tests/OAuth2PresentationSubmissionTest.php
Sebastian Marcet a1776966b3 Added endpoints for Presentation Submission (CFP)
POST /api/v1/summits/{id}/presentations

scopes
* summits/write
* summits/write-event
* summits/write-presentation

payload

* 'title'                     => 'required|string|max:100'
* 'description'               => 'required|string'
* 'social_description'        => 'required|string|max:100'
* 'level'                     => 'required|in:Beginner,Intermediate,Advanced,N/A'
* 'attendees_expected_learnt' => 'required|string|max:1000'
* 'type_id'                   => 'required|integer'
* 'track_id'                  => 'required|integer'
* 'attending_media'           => 'required|boolean'
* 'links'                     => 'required|url_array'
* 'extra_questions'           => 'sometimes|entity_value_array'

PUT api/v1/summits/{id}/presentations/{presentation_id}

scopes
* summits/write
* summits/write-event
* summits/write-presentation

* 'title'                     => 'sometimes|string|max:100'
* 'description'               => 'sometimes|string'
* 'social_description'        => 'sometimes|string|max:100'
* 'level'                     => 'sometimes|in:Beginner,Intermediate,Advanced,N/A'
* 'attendees_expected_learnt' => 'sometimes|string|max:1000'
* 'type_id'                   => 'sometimes|integer'
* 'track_id'                  => 'sometimes|integer'
* 'attending_media'           => 'sometimes|boolean'
* 'links'                     => 'sometimes|url_array'
* 'extra_questions'           => 'sometimes|entity_value_array'

Change-Id: Iadc8bf072491a64ef48a1b475b36b92c2fe1d707
2018-07-31 15:13:18 -03:00

68 lines
2.1 KiB
PHP

<?php
/**
* Copyright 2018 OpenStack Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
class OAuth2PresentationSubmissionTest extends ProtectedApiTest
{
/**
* @param int $summit_id
* @return mixed
*/
public function testSubmitPresentation($summit_id = 25){
$params = [
'id' => $summit_id,
];
$title = str_random(16).'_presentation';
$data = [
'title' => $title,
'description' => 'this is a description',
'social_description' => 'this is a social description',
'level' => 'N/A',
'attendees_expected_learnt' => 'super duper',
'type_id' => 171,
'track_id' => 248,
'attending_media' => true,
'links' => ['https://www.google.com'],
'extra_questions' => [
[
'id' => 24,
'value' => 'test',
]
]
];
$headers = [
"HTTP_Authorization" => " Bearer " . $this->access_token,
"CONTENT_TYPE" => "application/json"
];
$response = $this->action(
"POST",
"OAuth2PresentationApiController@submitPresentation",
$params,
[],
[],
[],
$headers,
json_encode($data)
);
$content = $response->getContent();
$this->assertResponseStatus(201);
$presentation = json_decode($content);
$this->assertTrue(!is_null($presentation));
$this->assertEquals($title, $presentation->title);
return $presentation;
}
}