-
Notifications
You must be signed in to change notification settings - Fork 0
Development: Implement interview slot conflict validation
#1752
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@Abi107717 Test coverage could not be fully measured because some tests failed. Please check the workflow logs for details. |
…nflict-validation' into 1689-implement-interview-slot-conflict-validation
|
📊 Client Test Coverage Too Low 🔍 View coverage locally: npm run test:ci
open build/test-results/lcov-report/index.html🌐 View coverage from GitHub: |
|
🤖 OpenAPI spec and client code auto-updated and committed. |
|
@Abi107717 Test coverage could not be fully measured because some tests failed. Please check the workflow logs for details. |
|
📊 Client Test Coverage Too Low 🔍 View coverage locally: npm run test:ci
open build/test-results/lcov-report/index.html🌐 View coverage from GitHub: |
|
🤖 No OpenAPI or client changes needed. |
|
@Abi107717 Test coverage could not be fully measured because some tests failed. Please check the workflow logs for details. |
|
🤖 No OpenAPI or client changes needed. |
|
@Abi107717 Test coverage could not be fully measured because some tests failed. Please check the workflow logs for details. |
|
@Abi107717 Test coverage could not be fully measured because some tests failed. Please check the workflow logs for details. |
|
🤖 No OpenAPI or client changes needed. |
|
@Abi107717 Test coverage could not be fully measured because some tests failed. Please check the workflow logs for details. |
Checklist
General
Server
Client
Motivation and Context
The previous conflict detection logic for interview slots was too strict, preventing professors from creating parallel "availability" slots across different interview processes. This need to be refined to allow flexibility while strictly preventing double-bookings. Additionally, to keep the schedule clean, overlapping unused slots should be automatically removed once a booking is confirmed.
Description
Refined the server-side and client-side conflict logic to distinguish between different types of overlaps:
Cross-Process Logic:
Allowed: Overlap with unbooked slots from other processes. This allows professors to offer the same time window in multiple job openings.
Blocked: Overlap with booked slots from other processes. This strictly prevents double-booking the professor.
Same-Process Logic:
Blocked: Any overlap within the same process is forbidden to prevent duplicate or messy slot creation.
Auto-Cleanup:
When a slot is booked by an applicant, the system now automatically finds and deletes any overlapping unbooked slots in other processes to ensure the schedule is consistent.
UI Updates:
Client side now visually distinguishes these conflicts and displays appropriate error messages (e.g., specific warning for "Conflict with booked slot in another process").
Steps for Testing
Prerequisites:
Log in to TumApply as Professor
Go to
interviews/overviewand choose an Interview ProcessCase 1: Same Process Conflict (Strict)
Case 2: Other Process - Unbooked Slot (Allowed)
Case 3: Other Process - Booked Slot (Blocked)
Case 4: Auto-Cleanup on Booking
Review Progress
Code Review
Manual Tests
Test Coverage
Warning: Both client and server tests failed. Coverage could not be fully measured. Please check the workflow logs.
Last updated: 2026-01-20 21:11:52 UTC
Screenshots
Slot conflict in same processSlot conlfict with a booked slot in another process