feat: testing suite and bug fixes (Fasa 11)
- AuthTest, ProgramTest, CheckinTest, QuestionnaireTest, CertificateTest — 19 feature tests, 35 total pass - ProgramFactory with published() state - UserFactory: is_admin=true default, nonAdmin() state - Fix attendance_source column name in StatisticsController (was: source) - Fix route(dashboard) → route(admin.dashboard) in all Breeze auth controllers - Remove irrelevant Breeze boilerplate tests (Profile, Example, Registration) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -28,9 +28,9 @@ class StatisticsController extends Controller
|
||||
|
||||
// Attendance by source
|
||||
$bySource = $program->attendances()
|
||||
->selectRaw('source, COUNT(*) as total')
|
||||
->groupBy('source')
|
||||
->pluck('total', 'source')
|
||||
->selectRaw('attendance_source, COUNT(*) as total')
|
||||
->groupBy('attendance_source')
|
||||
->pluck('total', 'attendance_source')
|
||||
->toArray();
|
||||
|
||||
// Certificate status breakdown
|
||||
@@ -88,8 +88,8 @@ class StatisticsController extends Controller
|
||||
|
||||
$summary = [
|
||||
'total_attendances' => $program->attendances()->count(),
|
||||
'pre_registered' => $program->attendances()->where('source', 'pre_registered_staff')->count(),
|
||||
'walk_in' => $program->attendances()->where('source', 'walk_in_external')->count(),
|
||||
'pre_registered' => $program->attendances()->where('attendance_source', 'pre_registered_staff')->count(),
|
||||
'walk_in' => $program->attendances()->where('attendance_source', 'walk_in_external')->count(),
|
||||
'total_certificates' => $program->certificates()->count(),
|
||||
'generated_certs' => $program->certificates()->whereIn('status', ['generated', 'emailed', 'downloaded'])->count(),
|
||||
'downloaded_certs' => $program->certificates()->where('status', 'downloaded')->count(),
|
||||
@@ -111,7 +111,7 @@ class StatisticsController extends Controller
|
||||
$a->participant->name,
|
||||
$a->participant->agency ?: '',
|
||||
$a->attendance_session,
|
||||
$a->source,
|
||||
$a->attendance_source,
|
||||
$a->checked_in_at->format('d/m/Y H:i'),
|
||||
]);
|
||||
|
||||
|
||||
@@ -35,6 +35,6 @@ class ConfirmablePasswordController extends Controller
|
||||
|
||||
$request->session()->put('auth.password_confirmed_at', time());
|
||||
|
||||
return redirect()->intended(route('dashboard', absolute: false));
|
||||
return redirect()->intended(route('admin.dashboard', absolute: false));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class EmailVerificationNotificationController extends Controller
|
||||
public function store(Request $request): RedirectResponse
|
||||
{
|
||||
if ($request->user()->hasVerifiedEmail()) {
|
||||
return redirect()->intended(route('dashboard', absolute: false));
|
||||
return redirect()->intended(route('admin.dashboard', absolute: false));
|
||||
}
|
||||
|
||||
$request->user()->sendEmailVerificationNotification();
|
||||
|
||||
@@ -15,7 +15,7 @@ class EmailVerificationPromptController extends Controller
|
||||
public function __invoke(Request $request): RedirectResponse|View
|
||||
{
|
||||
return $request->user()->hasVerifiedEmail()
|
||||
? redirect()->intended(route('dashboard', absolute: false))
|
||||
? redirect()->intended(route('admin.dashboard', absolute: false))
|
||||
: view('auth.verify-email');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,6 @@ class RegisteredUserController extends Controller
|
||||
|
||||
Auth::login($user);
|
||||
|
||||
return redirect(route('dashboard', absolute: false));
|
||||
return redirect(route('admin.dashboard', absolute: false));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,13 +15,13 @@ class VerifyEmailController extends Controller
|
||||
public function __invoke(EmailVerificationRequest $request): RedirectResponse
|
||||
{
|
||||
if ($request->user()->hasVerifiedEmail()) {
|
||||
return redirect()->intended(route('dashboard', absolute: false).'?verified=1');
|
||||
return redirect()->intended(route('admin.dashboard', absolute: false).'?verified=1');
|
||||
}
|
||||
|
||||
if ($request->user()->markEmailAsVerified()) {
|
||||
event(new Verified($request->user()));
|
||||
}
|
||||
|
||||
return redirect()->intended(route('dashboard', absolute: false).'?verified=1');
|
||||
return redirect()->intended(route('admin.dashboard', absolute: false).'?verified=1');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user