License::factory(), 'unreassignable_seat' => false, ]; } public function assignedToAsset(?Asset $asset = null) { return $this->state(function () use ($asset) { return [ 'asset_id' => $asset->id ?? Asset::factory(), ]; }); } public function assignedToUser(?User $user = null) { return $this->state(function () use ($user) { return [ 'assigned_to' => $user->id ?? User::factory(), ]; }); } public function reassignable() { return $this->afterMaking(function (LicenseSeat $seat) { $seat->license->update(['reassignable' => true]); }); } public function unreassignable() { return $this->afterMaking(function (LicenseSeat $seat) { $seat->license->update(['reassignable' => false]); }); } public function notReassignable() { return $this->afterMaking(function (LicenseSeat $seat) { $seat->license->update(['reassignable' => false]); }); } public function requiringAcceptance() { return $this->afterCreating(function ($seat) { $seat->license->category->update(['require_acceptance' => 1]); }); } }