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\InvoiceOneFeePerStudent;
use Illuminate\Support\ServiceProvider;
use function auditionSetting;
class InvoiceDataServiceProvider extends ServiceProvider
@ -27,14 +28,16 @@ class InvoiceDataServiceProvider extends ServiceProvider
*/
public function boot(): void
{
if (auditionSetting('fee_structure')) {
$this->app->singleton(InvoiceDataService::class, function ($app) {
return match (auditionSetting('fee_structure')) {
'oneFeePerEntry' => new InvoiceOneFeePerEntry($app->make(EntryService::class)),
'oneFeePerStudent' => new InvoiceOneFeePerStudent($app->make(EntryService::class)),
default => throw new \Exception('Unknown Invoice Method'),
};
});
if (! app()->environment('testing')) {
if (auditionSetting('fee_structure')) {
$this->app->singleton(InvoiceDataService::class, function ($app) {
return match (auditionSetting('fee_structure')) {
'oneFeePerEntry' => new InvoiceOneFeePerEntry($app->make(EntryService::class)),
'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
{
if (auditionSetting('nomination_ensemble_rules') === 'scobda') {
$this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
$this->app->bind(NominationEnsembleEntryController::class, ScobdaNominationEnsembleEntryController::class);
$this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
$this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class);
$this->app->bind(NominationExportController::class, ScobdaNominationExportController::class);
$this->app->bind(NominationAdminUtilitiesController::class, ScobdaNominationAdminUtilitiesController::class);
}
if (! app()->environment('testing')) {
if (auditionSetting('nomination_ensemble_rules') === 'scobda') {
$this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
$this->app->bind(NominationEnsembleEntryController::class,
ScobdaNominationEnsembleEntryController::class);
$this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::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
$this->app->bind(NominationEnsembleController::class, MeobdaNominationEnsembleController::class);
$this->app->bind(NominationEnsembleEntryController::class, MeobdaNominationEnsembleEntryController::class);
$this->app->bind(NominationAdminController::class, MeobdaNominationAdminController::class);
$this->app->bind(NominationSeatingController::class, MeobdaNominationSeatingController::class);
$this->app->bind(NominationExportController::class, MeobdaNominationExportController::class);
$this->app->bind(NominationAdminUtilitiesController::class, MeobdaNominationAdminUtilitiesController::class);
// meobda implementation
$this->app->bind(NominationEnsembleController::class, MeobdaNominationEnsembleController::class);
$this->app->bind(NominationEnsembleEntryController::class,
MeobdaNominationEnsembleEntryController::class);
$this->app->bind(NominationAdminController::class, MeobdaNominationAdminController::class);
$this->app->bind(NominationSeatingController::class, MeobdaNominationSeatingController::class);
$this->app->bind(NominationExportController::class, MeobdaNominationExportController::class);
$this->app->bind(NominationAdminUtilitiesController::class,
MeobdaNominationAdminUtilitiesController::class);
}
}
}
}