Add integration tests for `IPBanService.Update` to verify: - Reactivating an expired ban correctly detects overlaps with existing active bans. - Explicitly clearing the `expires_at` field (setting to null) works as expected.