add Event Catégory bien admin
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Http\Requests\EventCategoryRequest;
|
||||||
|
use App\Http\Resources\EventCategory as EventCategoryResource;
|
||||||
use App\Models\EventCategory;
|
use App\Models\EventCategory;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
@@ -33,9 +35,16 @@ class EventCategoryController extends Controller
|
|||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(EventCategoryRequest $request)
|
||||||
{
|
{
|
||||||
//
|
$validated = $request->validated();
|
||||||
|
|
||||||
|
$category = EventCategory::create($validated);
|
||||||
|
$category->save();
|
||||||
|
|
||||||
|
return (new EventCategoryResource($category))
|
||||||
|
->response()
|
||||||
|
->setStatusCode(201);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class EventController extends Controller
|
|||||||
|
|
||||||
$event = $request->user()->events()->create($validated);
|
$event = $request->user()->events()->create($validated);
|
||||||
$event->save();
|
$event->save();
|
||||||
//dd($event, $validated);
|
|
||||||
return (new EventResource($event))
|
return (new EventResource($event))
|
||||||
->response()
|
->response()
|
||||||
->setStatusCode(201);
|
->setStatusCode(201);
|
||||||
|
|||||||
31
app/Http/Requests/EventCategoryRequest.php
Normal file
31
app/Http/Requests/EventCategoryRequest.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
|
||||||
|
class EventCategoryRequest extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return auth()->user()->isAdmin();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'name' => 'required',
|
||||||
|
'description' => 'nullable|string',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
33
app/Http/Resources/EventCategory.php
Normal file
33
app/Http/Resources/EventCategory.php
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Resources;
|
||||||
|
|
||||||
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
|
class EventCategory extends JsonResource
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Transform the resource into an array.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function toArray($request)
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'data' => [
|
||||||
|
'type' => 'event categories',
|
||||||
|
'event_category_id' => $this->id,
|
||||||
|
'attributes' => [
|
||||||
|
'data' => [
|
||||||
|
'name' => $this->name,
|
||||||
|
'description' => $this->description,
|
||||||
|
]
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'links' => [
|
||||||
|
'self' => url('/events/categories/'.$this->id),
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,6 +26,7 @@ Route::middleware('auth:api')->group(function () {
|
|||||||
'/meteo' => 'MeteoController',
|
'/meteo' => 'MeteoController',
|
||||||
'/to-do-lists' => 'ToDoListController',
|
'/to-do-lists' => 'ToDoListController',
|
||||||
'/to-do-lists/{toDoList}/to-do' => 'ToDoController',
|
'/to-do-lists/{toDoList}/to-do' => 'ToDoController',
|
||||||
|
'/events/categories' => 'EventCategoryController',
|
||||||
'/events' => 'EventController',
|
'/events' => 'EventController',
|
||||||
// '/users/{user}/posts' => 'UserPostController',
|
// '/users/{user}/posts' => 'UserPostController',
|
||||||
// '/friend-request' => 'FriendRequestController',
|
// '/friend-request' => 'FriendRequestController',
|
||||||
|
|||||||
@@ -13,6 +13,38 @@ class EventsTest extends TestCase
|
|||||||
{
|
{
|
||||||
use RefreshDatabase;
|
use RefreshDatabase;
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
public function an_admin_can_create_an_event_category()
|
||||||
|
{
|
||||||
|
$this->withoutExceptionHandling();
|
||||||
|
$this->actingAs($user = factory(User::class)->create(['role' => 2]), 'api');
|
||||||
|
|
||||||
|
$response = $this->post('/api/events/categories', [
|
||||||
|
'name' => 'Test name event category',
|
||||||
|
'description' => 'Test description event category',
|
||||||
|
])->assertStatus(201);
|
||||||
|
|
||||||
|
$category = EventCategory::first();
|
||||||
|
|
||||||
|
$this->assertEquals('Test name event category', $category->name);
|
||||||
|
$this->assertEquals('Test description event category', $category->description);
|
||||||
|
$response->assertJson([
|
||||||
|
'data' => [
|
||||||
|
'type' => 'event categories',
|
||||||
|
'event_category_id' => $category->id,
|
||||||
|
'attributes' => [
|
||||||
|
'data' => [
|
||||||
|
'name' => $category->name,
|
||||||
|
'description' => $category->description,
|
||||||
|
]
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'links' => [
|
||||||
|
'self' => url('/events/categories/'.$category->id),
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
/** @test */
|
/** @test */
|
||||||
public function a_user_can_create_an_event()
|
public function a_user_can_create_an_event()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user