Begin Bonus Score Index
#20 Implement bonus scores Setup controller and index method Index view Add menu item to set up menu to access
This commit is contained in:
parent
2ee0cf23cc
commit
192191c079
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class BonusScoreDefinitionController extends Controller
|
||||||
|
{
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
return view('admin.bonus-scores.index');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
<x-layout.app>
|
||||||
|
|
||||||
|
|
||||||
|
</x-layout.app>
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
<x-layout.navbar.menus.menu-item :href="route('admin.ensembles.index')">Ensembles</x-layout.navbar.menus.menu-item>
|
<x-layout.navbar.menus.menu-item :href="route('admin.ensembles.index')">Ensembles</x-layout.navbar.menus.menu-item>
|
||||||
<x-layout.navbar.menus.menu-item :href="route('admin.ensembles.seatingLimits')">Seating Limits</x-layout.navbar.menus.menu-item>
|
<x-layout.navbar.menus.menu-item :href="route('admin.ensembles.seatingLimits')">Seating Limits</x-layout.navbar.menus.menu-item>
|
||||||
<x-layout.navbar.menus.menu-item :href="route('admin.scoring.index')">Scoring</x-layout.navbar.menus.menu-item>
|
<x-layout.navbar.menus.menu-item :href="route('admin.scoring.index')">Scoring</x-layout.navbar.menus.menu-item>
|
||||||
|
<x-layout.navbar.menus.menu-item :href="route('admin.bonus-scores.index')">Bonus Scores</x-layout.navbar.menus.menu-item>
|
||||||
<x-layout.navbar.menus.menu-item :href="route('admin.rooms.index')">Rooms</x-layout.navbar.menus.menu-item>
|
<x-layout.navbar.menus.menu-item :href="route('admin.rooms.index')">Rooms</x-layout.navbar.menus.menu-item>
|
||||||
<x-layout.navbar.menus.menu-item :href="route('admin.rooms.judgingAssignment')">Judges</x-layout.navbar.menus.menu-item>
|
<x-layout.navbar.menus.menu-item :href="route('admin.rooms.judgingAssignment')">Judges</x-layout.navbar.menus.menu-item>
|
||||||
<x-layout.navbar.menus.menu-item :href="route('admin.draw.index')">Run Draw</x-layout.navbar.menus.menu-item>
|
<x-layout.navbar.menus.menu-item :href="route('admin.draw.index')">Run Draw</x-layout.navbar.menus.menu-item>
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,16 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
|
||||||
Route::get('/settings', [\App\Http\Controllers\Admin\AuditionSettings::class, 'index'])->name('audition-settings');
|
Route::get('/settings', [\App\Http\Controllers\Admin\AuditionSettings::class, 'index'])->name('audition-settings');
|
||||||
Route::post('/settings', [\App\Http\Controllers\Admin\AuditionSettings::class, 'save'])->name('audition-settings-save');
|
Route::post('/settings', [\App\Http\Controllers\Admin\AuditionSettings::class, 'save'])->name('audition-settings-save');
|
||||||
|
|
||||||
|
// Admin Bonus Scores Routes
|
||||||
|
Route::prefix('bonus-scores')->controller(\App\Http\Controllers\Admin\BonusScoreDefinitionController::class)->group(function () {
|
||||||
|
Route::get('/', 'index')->name('admin.bonus-scores.index');
|
||||||
|
// Route::get('/create', 'create')->name('admin.bonus-scores.create');
|
||||||
|
// Route::post('/', 'store')->name('admin.bonus-scores.store');
|
||||||
|
// Route::get('/{bonusScoreDefinition}/edit', 'edit')->name('admin.bonus-scores.edit');
|
||||||
|
// Route::patch('/{bonusScoreDefinition}', 'update')->name('admin.bonus-scores.update');
|
||||||
|
// Route::delete('/{bonusScoreDefinition}', 'destroy')->name('admin.bonus-scores.destroy');
|
||||||
|
});
|
||||||
|
|
||||||
// Admin Ensemble Routes
|
// Admin Ensemble Routes
|
||||||
Route::prefix('ensembles')->controller(\App\Http\Controllers\Admin\EnsembleController::class)->group(function () {
|
Route::prefix('ensembles')->controller(\App\Http\Controllers\Admin\EnsembleController::class)->group(function () {
|
||||||
Route::get('/', 'index')->name('admin.ensembles.index');
|
Route::get('/', 'index')->name('admin.ensembles.index');
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
|
|
||||||
|
uses(RefreshDatabase::class);
|
||||||
|
|
||||||
|
it('denies access to guests and non administrators', function () {
|
||||||
|
$this->get(route('admin.bonus-scores.index'))
|
||||||
|
->assertRedirect(route('home'));
|
||||||
|
|
||||||
|
actAsNormal();
|
||||||
|
$this->get(route('admin.bonus-scores.index'))
|
||||||
|
->assertRedirect(route('dashboard'))
|
||||||
|
->assertSessionHas('error', 'You are not authorized to perform this action');
|
||||||
|
|
||||||
|
actAsTab();
|
||||||
|
$this->get(route('admin.bonus-scores.index'))
|
||||||
|
->assertRedirect(route('dashboard'))
|
||||||
|
->assertSessionHas('error', 'You are not authorized to perform this action');
|
||||||
|
});
|
||||||
|
it('grants access to an administrator', function () {
|
||||||
|
// Arrange
|
||||||
|
actAsAdmin();
|
||||||
|
// Act & Assert
|
||||||
|
$this->get(route('admin.bonus-scores.index'))
|
||||||
|
->assertOk()
|
||||||
|
->assertViewIs('admin.bonus-scores.index');
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue