generate($tenant, $user); $snapshot->update([ 'status' => EvidenceSnapshotStatus::Active->value, 'completeness_state' => EvidenceCompletenessState::Complete->value, ]); app(App\Services\Evidence\EvidenceSnapshotService::class)->expire($snapshot, $user, 'Evidence basis is obsolete.'); $expiredAudit = AuditLog::query() ->where('action', AuditActionId::EvidenceSnapshotExpired->value) ->latest('id') ->first(); expect(AuditLog::query()->where('action', AuditActionId::EvidenceSnapshotCreated->value)->exists())->toBeTrue() ->and(AuditLog::query()->where('action', AuditActionId::EvidenceSnapshotExpired->value)->exists())->toBeTrue() ->and(data_get($expiredAudit?->metadata, 'reason'))->toBe('Evidence basis is obsolete.'); });