© 2026 Hedgehog Software, LLC
class SchoolConsentRelationManager extends RelationManager { public function table(Table $table): Table { return $table ->columns([ ToggleColumn::make('status') ->label('Opted In') ->disabled(function (School $school) { return ! $school->is_enabled; }) ->getStateUsing(function (School $record) { return $record->status === OptedInStatusEnum::OPTED_IN; }) ->updateStateUsing(function (School $record, bool $state) { $result = SchoolConsent::updateOrCreate( [ 'user_id' => $record->user_id, 'school_id' => $record->school_id, ], [ 'status' => StatusEnum::fromBoolean($state), ] ); }), ]); } }
$livewire = Livewire::test( SchoolConsentRelationManager::class, [ 'ownerRecord' => $user, 'pageClass' => EditUser::class, ] ); // TODO update "status" column $livewire->assertSuccessful(); // TODO assert records on SchoolConsent model.
ToggleColumn
->assertTableActionDataSet()
updateStateUsing()