Changes to allow testing.

This commit is contained in:
Matt Young 2025-06-30 09:20:07 -05:00
parent 307b879186
commit 4faeb63c95
2 changed files with 33 additions and 24 deletions

View File

@ -7,6 +7,7 @@ use App\Services\Invoice\InvoiceDataService;
use App\Services\Invoice\InvoiceOneFeePerEntry; use App\Services\Invoice\InvoiceOneFeePerEntry;
use App\Services\Invoice\InvoiceOneFeePerStudent; use App\Services\Invoice\InvoiceOneFeePerStudent;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use function auditionSetting; use function auditionSetting;
class InvoiceDataServiceProvider extends ServiceProvider class InvoiceDataServiceProvider extends ServiceProvider
@ -27,14 +28,16 @@ class InvoiceDataServiceProvider extends ServiceProvider
*/ */
public function boot(): void public function boot(): void
{ {
if (auditionSetting('fee_structure')) { if (! app()->environment('testing')) {
$this->app->singleton(InvoiceDataService::class, function ($app) { if (auditionSetting('fee_structure')) {
return match (auditionSetting('fee_structure')) { $this->app->singleton(InvoiceDataService::class, function ($app) {
'oneFeePerEntry' => new InvoiceOneFeePerEntry($app->make(EntryService::class)), return match (auditionSetting('fee_structure')) {
'oneFeePerStudent' => new InvoiceOneFeePerStudent($app->make(EntryService::class)), 'oneFeePerEntry' => new InvoiceOneFeePerEntry($app->make(EntryService::class)),
default => throw new \Exception('Unknown Invoice Method'), 'oneFeePerStudent' => new InvoiceOneFeePerStudent($app->make(EntryService::class)),
}; default => throw new \Exception('Unknown Invoice Method'),
}); };
});
}
} }
} }
} }

View File

@ -36,24 +36,30 @@ class NominationEnsembleServiceProvider extends ServiceProvider
public function boot(): void public function boot(): void
{ {
if (auditionSetting('nomination_ensemble_rules') === 'scobda') { if (! app()->environment('testing')) {
$this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class); if (auditionSetting('nomination_ensemble_rules') === 'scobda') {
$this->app->bind(NominationEnsembleEntryController::class, ScobdaNominationEnsembleEntryController::class); $this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
$this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class); $this->app->bind(NominationEnsembleEntryController::class,
$this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class); ScobdaNominationEnsembleEntryController::class);
$this->app->bind(NominationExportController::class, ScobdaNominationExportController::class); $this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
$this->app->bind(NominationAdminUtilitiesController::class, ScobdaNominationAdminUtilitiesController::class); $this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class);
} $this->app->bind(NominationExportController::class, ScobdaNominationExportController::class);
$this->app->bind(NominationAdminUtilitiesController::class,
ScobdaNominationAdminUtilitiesController::class);
}
if (auditionSetting('nomination_ensemble_rules') === 'meobda') { if (auditionSetting('nomination_ensemble_rules') === 'meobda') {
// meobda implementation // meobda implementation
$this->app->bind(NominationEnsembleController::class, MeobdaNominationEnsembleController::class); $this->app->bind(NominationEnsembleController::class, MeobdaNominationEnsembleController::class);
$this->app->bind(NominationEnsembleEntryController::class, MeobdaNominationEnsembleEntryController::class); $this->app->bind(NominationEnsembleEntryController::class,
$this->app->bind(NominationAdminController::class, MeobdaNominationAdminController::class); MeobdaNominationEnsembleEntryController::class);
$this->app->bind(NominationSeatingController::class, MeobdaNominationSeatingController::class); $this->app->bind(NominationAdminController::class, MeobdaNominationAdminController::class);
$this->app->bind(NominationExportController::class, MeobdaNominationExportController::class); $this->app->bind(NominationSeatingController::class, MeobdaNominationSeatingController::class);
$this->app->bind(NominationAdminUtilitiesController::class, MeobdaNominationAdminUtilitiesController::class); $this->app->bind(NominationExportController::class, MeobdaNominationExportController::class);
$this->app->bind(NominationAdminUtilitiesController::class,
MeobdaNominationAdminUtilitiesController::class);
}
} }
} }
} }