================================================
API ENDPOINT TEST REPORT (HTTPS)
Server: sol.aibitsoft.cloud
Protocol: HTTPS
Test Date: Sat Jan 17 08:43:23 AM UTC 2026
================================================


=== JOBS ENDPOINTS ===

----------------------------------------
Endpoint: GET /api/jobs
Description: List all jobs
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.277682s
Response Body (first 500 chars):
{"success":true,"data":[]}


----------------------------------------
Endpoint: GET /api/jobs/invalid-id
Description: Get job by ID (invalid)
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.016040s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"invalid-id\" (type string) at path \"_id\" for model \"Job\""}


----------------------------------------
Endpoint: POST /api/jobs
Description: Create job
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.017070s
Response Body (first 500 chars):
{"success":false,"error":"Validation failed","errors":{"formErrors":[],"fieldErrors":{"department":["Required"],"location":["Required"],"employmentType":["Required"],"applicationUrl":["Required"],"status":["Required"]}}}


----------------------------------------
Endpoint: PUT /api/jobs/test-id
Description: Update job
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.016837s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"Job\""}


----------------------------------------
Endpoint: DELETE /api/jobs/test-id
Description: Delete job
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.014111s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"Job\""}



=== APPLICATIONS ENDPOINTS ===

----------------------------------------
Endpoint: GET /api/applications
Description: List all applications
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.540076s
Response Body (first 500 chars):
{"success":true,"data":[{"_id":"6964e2982cd4ab62eb3cbaf1","fullName":"Muhammad Shahzad","email":"shahzadsaeed922@gmail.com","phone":"03284771452","jobId":null,"role":"junior FrontEnd Developer","location":"on site","resumeUrl":"https://res.cloudinary.com/doiygrgk0/image/upload/v1768219287/aibit_soft/resumes/resume-1768219286976-227174613_y8j5qb.pdf","status":"New","createdAt":"2026-01-12T12:01:28.388Z","updatedAt":"2026-01-12T12:01:28.388Z","__v":0},{"_id":"695ca7b52cd4ab62eb3cba65","fullName":"

----------------------------------------
Endpoint: GET /api/applications/invalid-id
Description: Get application by ID
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.013680s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"invalid-id\" (type string) at path \"_id\" for model \"Application\""}


----------------------------------------
Endpoint: POST /api/applications
Description: Create application
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.013169s
Response Body (first 500 chars):
{"success":false,"error":"Missing required fields: fullName, email, role, and location are required"}


----------------------------------------
Endpoint: PUT /api/applications/test-id
Description: Update application
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.012614s
Response Body (first 500 chars):
{"success":false,"error":"Validation failed","errors":{"formErrors":[],"fieldErrors":{"status":["Invalid enum value. Expected 'New' | 'Reviewed' | 'Interview' | 'Rejected', received 'reviewed'"]}}}


----------------------------------------
Endpoint: DELETE /api/applications/test-id
Description: Delete application
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.014811s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"Application\""}



=== USER RESUMES ENDPOINTS ===

----------------------------------------
Endpoint: GET /api/user-resumes
Description: List all user resumes
Status: ✓ PASS
HTTP Code: 200
Response Time: 1.061807s
Response Body (first 500 chars):
{"success":true,"data":[{"_id":"691adbe181d2fa9a3b25bd88","fullName":"jonny","email":"abdullahwarraich0048@gmail.com","phoneNumber":"03361400373","cvURL":"https://res.cloudinary.com/doiygrgk0/raw/upload/fl_attachment:false/v1763367904/user-resumes/ubuqani7c2dewax4uwvs","coverNote":"nothing","jobId":null,"positionTitle":"Senior Front End Developer","createdAt":"2025-11-17T08:25:05.279Z","updatedAt":"2025-11-17T08:25:05.279Z","__v":0},{"_id":"6916d47765dbc7dc0e14dde6","fullName":"Abdul wahab","ema

----------------------------------------
Endpoint: POST /api/user-resumes
Description: Create user resume
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.012932s
Response Body (first 500 chars):
{"success":false,"error":"CV file is required"}



=== TEAM MEMBERS ENDPOINTS ===

----------------------------------------
Endpoint: GET /api/team-members
Description: List all team members
Status: ✓ PASS
HTTP Code: 200
Response Time: 1.598115s
Response Body (first 500 chars):
{"success":true,"data":[{"_id":"691c331b2cd4ab62eb3cb14e","name":"Dr. Khawaja jahanzeb","role":"Business and HR Manager","phd":"7+ years Experience","img":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBIAEgAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCASgBLwDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhM

----------------------------------------
Endpoint: GET /api/team-members/invalid-id
Description: Get team member by ID
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.013154s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"invalid-id\" (type string) at path \"_id\" for model \"TeamMember\""}


----------------------------------------
Endpoint: POST /api/team-members
Description: Create team member
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.016758s
Response Body (first 500 chars):
{"success":false,"error":"Validation failed","errors":{"formErrors":[],"fieldErrors":{"img":["Required"],"category":["Required"]}}}


----------------------------------------
Endpoint: POST /api/team-members/seed
Description: Seed team members
Status: ✓ PASS
HTTP Code: 200
Response Time: 6.290988s
Response Body (first 500 chars):
{"success":true,"data":{"message":"Team members seeded successfully","results":[{"action":"updated","member":"Naseer Akhtar","id":"6911d9db1ec2410853b8bd39"},{"action":"updated","member":"Dr. Ziad Nayyer","id":"6911d9db1ec2410853b8bd3c"},{"action":"updated","member":"Dr. Faheem","id":"6911d9db1ec2410853b8bd3f"},{"action":"updated","member":"Zaheer Ahmad","id":"6911d9dc1ec2410853b8bd42"},{"action":"updated","member":"Muhammad Waseem","id":"6911d9dc1ec2410853b8bd45"},{"action":"updated","member":"

----------------------------------------
Endpoint: PUT /api/team-members/test-id
Description: Update team member
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.017190s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"TeamMember\""}


----------------------------------------
Endpoint: DELETE /api/team-members/test-id
Description: Delete team member
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.017416s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"TeamMember\""}



=== BLOGS ENDPOINTS ===

----------------------------------------
Endpoint: GET /api/blogs
Description: List all blogs
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.278924s
Response Body (first 500 chars):
{"success":true,"data":[{"_id":"696b434ff8803ef1b0e041aa","category":"tech","__v":0,"components":[],"createdAt":"2026-01-17T08:07:43.595Z","heroSection":{"title":"Hero"},"status":"Draft","updatedAt":"2026-01-17T08:07:43.595Z"},{"_id":"69130b7160ac830969554a37","category":"Blogs-IT-Staff","__v":0,"components":[{"componentType":"FinalThought","componentName":"Aibit","data":{"title":"Aibitttt","cta":{"title":"ok","description":"ok","buttons":[{"text":"next page ","href":"/next","variant":"outline"}

----------------------------------------
Endpoint: GET /api/blogs/category/tech
Description: Get blogs by category
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.275199s
Response Body (first 500 chars):
{"success":true,"data":{"_id":"696b434ff8803ef1b0e041aa","category":"tech","__v":0,"components":[],"createdAt":"2026-01-17T08:07:43.595Z","heroSection":{"title":"Hero"},"status":"Draft","updatedAt":"2026-01-17T08:07:43.595Z"}}


----------------------------------------
Endpoint: GET /api/blogs/category/Blogs-IT-Staff
Description: Get blogs by category (existing)
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.272235s
Response Body (first 500 chars):
{"success":true,"data":{"_id":"69130b7160ac830969554a37","category":"Blogs-IT-Staff","__v":0,"components":[{"componentType":"FinalThought","componentName":"Aibit","data":{"title":"Aibitttt","cta":{"title":"ok","description":"ok","buttons":[{"text":"next page ","href":"/next","variant":"outline"}]}},"order":0,"enabled":true,"_id":"69130cda2c4427fb8d66810d","createdAt":"2025-11-11T10:15:54.014Z","updatedAt":"2025-11-11T10:15:54.014Z"}],"createdAt":"2025-11-11T10:09:53.689Z","description":"ok","sta

----------------------------------------
Endpoint: GET /api/blogs/invalid-id
Description: Get blog by ID
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.015515s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"invalid-id\" (type string) at path \"_id\" for model \"Blog\""}


----------------------------------------
Endpoint: POST /api/blogs
Description: Create blog
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.012716s
Response Body (first 500 chars):
{"success":false,"error":"Validation failed","errors":{"formErrors":[],"fieldErrors":{"category":["Required"]}}}


----------------------------------------
Endpoint: PUT /api/blogs/test-id
Description: Update blog
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.013509s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"Blog\""}


----------------------------------------
Endpoint: PUT /api/blogs/category/tech/hero
Description: Update hero section
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.279204s
Response Body (first 500 chars):
{"success":true,"data":{"_id":"696b434ff8803ef1b0e041aa","category":"tech","__v":0,"components":[],"createdAt":"2026-01-17T08:07:43.595Z","heroSection":{"title":"Hero"},"status":"Draft","updatedAt":"2026-01-17T08:43:34.627Z"}}


----------------------------------------
Endpoint: PUT /api/blogs/category/tech/component/test-component-id
Description: Update component
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 404
Response Time: 0.273683s
Response Body (first 500 chars):
{"success":false,"error":"Component not found"}


----------------------------------------
Endpoint: PUT /api/blogs/category/tech
Description: Update blog by category
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.277383s
Response Body (first 500 chars):
{"success":true,"data":{"_id":"696b434ff8803ef1b0e041aa","category":"tech","__v":0,"components":[],"createdAt":"2026-01-17T08:07:43.595Z","heroSection":{"title":"Hero"},"status":"Draft","updatedAt":"2026-01-17T08:43:35.223Z"}}


----------------------------------------
Endpoint: DELETE /api/blogs/test-id
Description: Delete blog
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.012334s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"Blog\""}



=== BLOG STATIC DATA ENDPOINTS ===

----------------------------------------
Endpoint: GET /api/blog-static-data/tech
Description: Get static data by category
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.011661s
Response Body (first 500 chars):
{"success":true,"data":{"category":"tech","message":"Static data file not found, use frontend config","data":null}}


----------------------------------------
Endpoint: GET /api/blog-static-data/Blogs-IT-Staff
Description: Get static data by category (existing)
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.011507s
Response Body (first 500 chars):
{"success":true,"data":{"category":"Blogs-IT-Staff","message":"Static data file not found, use frontend config","data":null}}



=== ZOOM MEETING ENDPOINTS ===

----------------------------------------
Endpoint: GET /api/
Description: List all zoom meetings (root)
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.546795s
Response Body (first 500 chars):
{"success":true,"data":[{"_id":"696a87602c08627f6c1794a9","zoomMeetingId":"85792533614","topic":"Meeting with Abdullah warraich","startTime":"2026-01-17T03:45:00.000Z","duration":30,"timezone":"America/Los_Angeles","joinUrl":"https://us05web.zoom.us/j/85792533614?pwd=yBaWntPY9s133Jm9u1CYJ2LSjaJ0bM.1","startUrl":"https://us05web.zoom.us/s/85792533614?zak=eyJ0eXAiOiJKV1QiLCJzdiI6IjAwMDAwMiIsInptX3NrbSI6InptX28ybSIsImFsZyI6IkhTMjU2In0.eyJpc3MiOiJ3ZWIiLCJjbHQiOjAsIm1udW0iOiI4NTc5MjUzMzYxNCIsImF1ZCI6

----------------------------------------
Endpoint: GET /api/invalid-id
Description: Get zoom meeting by ID
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.012938s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"invalid-id\" (type string) at path \"_id\" for model \"ZoomMeeting\""}


----------------------------------------
Endpoint: GET /api/zoom/invalid-zoom-id
Description: Get zoom meeting by Zoom ID
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 404
Response Time: 0.270941s
Response Body (first 500 chars):
{"success":false,"error":"Meeting not found"}


----------------------------------------
Endpoint: POST /api/schedule-zoom
Description: Schedule zoom meeting
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.013812s
Response Body (first 500 chars):
{"success":false,"error":"Validation failed: title: Required; date: Required; time: Required; duration: Required; timezone: Required; participants: Required","errors":{"formErrors":[],"fieldErrors":{"title":["Required"],"date":["Required"],"time":["Required"],"duration":["Required"],"timezone":["Required"],"participants":["Required"]}}}


----------------------------------------
Endpoint: POST /api/create-meeting
Description: Create zoom meeting
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.015846s
Response Body (first 500 chars):
{"ok":false,"error":"Validation failed: preferredMeetingTime: Required","errors":{"formErrors":[],"fieldErrors":{"preferredMeetingTime":["Required"]}}}


----------------------------------------
Endpoint: POST /api/
Description: Create zoom meeting (root)
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.013427s
Response Body (first 500 chars):
{"ok":false,"error":"Validation failed: preferredMeetingTime: Required","errors":{"formErrors":[],"fieldErrors":{"preferredMeetingTime":["Required"]}}}


----------------------------------------
Endpoint: PUT /api/test-id/cancel
Description: Cancel zoom meeting
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.012532s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"ZoomMeeting\""}


----------------------------------------
Endpoint: PUT /api/test-id
Description: Update zoom meeting
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.013580s
Response Body (first 500 chars):
{"success":false,"error":"Validation failed","errors":{"formErrors":[],"fieldErrors":{"status":["Invalid enum value. Expected 'Scheduled' | 'Completed' | 'Cancelled' | 'In Progress', received 'cancelled'"]}}}


----------------------------------------
Endpoint: DELETE /api/test-id
Description: Delete zoom meeting
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.014837s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"ZoomMeeting\""}



=== GOOGLE MEET ENDPOINTS ===

----------------------------------------
Endpoint: GET /api/google-meet
Description: List all Google Meet meetings
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.274614s
Response Body (first 500 chars):
{"success":true,"data":[{"_id":"696a9afe9cd203c7c23b1a39","eventId":"id7jak0j2il88ol374eejpmkjs","calendarId":"primary","title":"Discussion about project fffffffffff","description":"Discussion about project fffffffffff\nRequested by: Abdullah Warraich (abdullahwarraich0408@gmail.com)\n  \n  Meeting Host: aibitsofts@gmail.com\n  Company Contact: contact@aibitsol.com\n  Timezone: Pakistan Standard Time (PKT)\n  \n  Meeting Participants:\n  • aibitsofts@gmail.com (Host)\n• abdullahwarraich0408@

----------------------------------------
Endpoint: GET /api/google-meet/invalid-id
Description: Get Google Meet by ID
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.015107s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"invalid-id\" (type string) at path \"_id\" for model \"GoogleMeet\""}


----------------------------------------
Endpoint: GET /api/google-meet/event/invalid-event-id
Description: Get Google Meet by Event ID
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 404
Response Time: 0.275857s
Response Body (first 500 chars):
{"success":false,"error":"Meeting not found"}


----------------------------------------
Endpoint: POST /api/google-meet/schedule-google-meet
Description: Schedule Google Meet
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.014405s
Response Body (first 500 chars):
{"success":false,"error":"Validation failed: title: Required; date: Required; time: Required; duration: Required; timezone: Required; participants: Required","errors":{"formErrors":[],"fieldErrors":{"title":["Required"],"date":["Required"],"time":["Required"],"duration":["Required"],"timezone":["Required"],"participants":["Required"]}}}


----------------------------------------
Endpoint: POST /api/google-meet/create-google-meet
Description: Create Google Meet
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.011126s
Response Body (first 500 chars):
{"ok":false,"error":"Validation failed: preferredMeetingTime: Required","errors":{"formErrors":[],"fieldErrors":{"preferredMeetingTime":["Required"]}}}


----------------------------------------
Endpoint: POST /api/google-meet
Description: Create Google Meet (root)
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.014720s
Response Body (first 500 chars):
{"ok":false,"error":"Validation failed: preferredMeetingTime: Required","errors":{"formErrors":[],"fieldErrors":{"preferredMeetingTime":["Required"]}}}


----------------------------------------
Endpoint: PUT /api/google-meet/test-id/cancel
Description: Cancel Google Meet
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.014045s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"GoogleMeet\""}


----------------------------------------
Endpoint: PUT /api/google-meet/test-id
Description: Update Google Meet
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.013077s
Response Body (first 500 chars):
{"success":false,"error":"Validation failed","errors":{"formErrors":[],"fieldErrors":{"status":["Invalid enum value. Expected 'Scheduled' | 'Completed' | 'Cancelled' | 'In Progress', received 'cancelled'"]}}}


----------------------------------------
Endpoint: DELETE /api/google-meet/test-id
Description: Delete Google Meet
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.014173s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"GoogleMeet\""}



=== TEMPLATES ENDPOINTS ===

----------------------------------------
Endpoint: GET /api/templates
Description: List all templates
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.276649s
Response Body (first 500 chars):
{"success":true,"data":[{"_id":"69522e91f51c5e852c49794d","title":"AibitSoft - Portfolio Website for Companies, Agencies | Design that actually Converts","description":"**AiBitSoft** is a modern, clean, and highly scalable digital solutions website designed for software companies, IT agencies, startups, SaaS providers, and tech consultants who want a professional online presence without starting from scratch. Built with performance, flexibility, and real-world business needs in mind, this websit

----------------------------------------
Endpoint: GET /api/templates/invalid-id
Description: Get template by ID
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.013647s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"invalid-id\" (type string) at path \"_id\" for model \"Template\""}


----------------------------------------
Endpoint: POST /api/templates
Description: Create template
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.011543s
Response Body (first 500 chars):
{"success":false,"error":"Preview image is required"}


----------------------------------------
Endpoint: DELETE /api/templates/test-id
Description: Delete template
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.013793s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"test-id\" (type string) at path \"_id\" for model \"Template\""}



=== INTERVIEW EMAIL ENDPOINTS ===

----------------------------------------
Endpoint: POST /api/interviews/send-email
Description: Send interview email
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.014632s
Response Body (first 500 chars):
{"success":false,"error":"Missing required fields: candidateName, candidateEmail, role, interviewDate, interviewType, interviewer"}



=== CONTACT FORM ENDPOINTS ===

----------------------------------------
Endpoint: POST /api/contact
Description: Submit contact form
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.014149s
Response Body (first 500 chars):
{"ok":false,"error":"Validation failed: phone: Phone number is required; services: Please select at least one service","errors":{"formErrors":[],"fieldErrors":{"phone":["Phone number is required"],"services":["Please select at least one service"]}}}



=== PROPOSAL FORM ENDPOINTS ===

----------------------------------------
Endpoint: POST /api/proposal
Description: Submit proposal form
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.012635s
Response Body (first 500 chars):
{"ok":false,"error":"Validation failed: name: Name must be at least 2 characters; phone: Phone number is required; services: Please select at least one service","errors":{"formErrors":[],"fieldErrors":{"name":["Name must be at least 2 characters"],"phone":["Phone number is required"],"services":["Please select at least one service"]}}}



=== BOOK EXPERT FORM ENDPOINTS ===

----------------------------------------
Endpoint: POST /api/book-expert
Description: Submit book expert form
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.014395s
Response Body (first 500 chars):
{"ok":false,"error":"Validation failed: phone: Phone number is required; services: Please select at least one service","errors":{"formErrors":[],"fieldErrors":{"phone":["Phone number is required"],"services":["Please select at least one service"]}}}



=== PARTNER FORM ENDPOINTS ===

----------------------------------------
Endpoint: POST /api/partner
Description: Submit partner form
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.015620s
Response Body (first 500 chars):
{"ok":false,"error":"Validation failed: name: Name must be at least 2 characters; phone: Phone number is required; partnershipType: Partnership type is required","errors":{"formErrors":[],"fieldErrors":{"name":["Name must be at least 2 characters"],"phone":["Phone number is required"],"partnershipType":["Partnership type is required"]}}}



=== USER ENDPOINTS ===

----------------------------------------
Endpoint: POST /api/users/login
Description: Save user login
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 400
Response Time: 0.012961s
Response Body (first 500 chars):
{"success":false,"error":"Missing required fields: provider, providerId, email, name"}


----------------------------------------
Endpoint: GET /api/users/email/test@test.com
Description: Get user by email
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 404
Response Time: 0.274682s
Response Body (first 500 chars):
{"success":false,"error":"User not found"}


----------------------------------------
Endpoint: GET /api/users/email/aibitsofts@gmail.com
Description: Get user by email (existing)
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.271129s
Response Body (first 500 chars):
{"success":true,"data":{"user":{"id":"696a37adf8347bc32bd9605a","name":"AiBit","email":"aibitsofts@gmail.com","provider":"google"}}}


----------------------------------------
Endpoint: GET /api/users/me
Description: Get current user
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.012192s
Response Body (first 500 chars):
{"success":false,"error":"Failed to get current user"}



=== AUTH ENDPOINTS ===

----------------------------------------
Endpoint: GET /auth/google/debug
Description: Debug OAuth configuration
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.011826s
Response Body (first 500 chars):
{"backendUrl":"http://localhost:4000","frontendUrl":"http://localhost:8000","callbackUrl":"http://localhost:4000/auth/google/callback","clientId":"453519492000-s8oar4s78ueo2p8usujmctat83avkp4g.apps.googleusercontent.com","clientSecret":"✓ Set","jwtSecret":"✓ Set","message":"Make sure the callbackUrl above matches EXACTLY in Google Console","instructions":"✅ Configuration looks good! Make sure the callbackUrl matches in Google Console.","requiredEnvVars":{"BACKEND_URL":"✓","FRONTEND_URL":

----------------------------------------
Endpoint: GET /auth/google
Description: Initiate Google OAuth (redirects)
Status: ? UNKNOWN
HTTP Code: 302
Response Time: 0.012003s
Response Body (first 500 chars):



----------------------------------------
Endpoint: GET /auth/google/callback?code=test
Description: Google OAuth callback
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.109906s
Response Body (first 500 chars):
{"success":false,"error":"Malformed auth code."}



=== ROOT ENDPOINT ===

----------------------------------------
Endpoint: GET /api
Description: Root API endpoint
Status: ✓ PASS
HTTP Code: 200
Response Time: 1.062702s
Response Body (first 500 chars):
{"success":true,"data":[{"_id":"696a87602c08627f6c1794a9","zoomMeetingId":"85792533614","topic":"Meeting with Abdullah warraich","startTime":"2026-01-17T03:45:00.000Z","duration":30,"timezone":"America/Los_Angeles","joinUrl":"https://us05web.zoom.us/j/85792533614?pwd=yBaWntPY9s133Jm9u1CYJ2LSjaJ0bM.1","startUrl":"https://us05web.zoom.us/s/85792533614?zak=eyJ0eXAiOiJKV1QiLCJzdiI6IjAwMDAwMiIsInptX3NrbSI6InptX28ybSIsImFsZyI6IkhTMjU2In0.eyJpc3MiOiJ3ZWIiLCJjbHQiOjAsIm1udW0iOiI4NTc5MjUzMzYxNCIsImF1ZCI6


=== ADDITIONAL EDGE CASES ===

----------------------------------------
Endpoint: GET /
Description: Root path
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 404
Response Time: 0.015934s
Response Body (first 500 chars):
{"success":false,"error":"Route GET / not found"}


----------------------------------------
Endpoint: GET /api/
Description: API root with trailing slash
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.546483s
Response Body (first 500 chars):
{"success":true,"data":[{"_id":"696a87602c08627f6c1794a9","zoomMeetingId":"85792533614","topic":"Meeting with Abdullah warraich","startTime":"2026-01-17T03:45:00.000Z","duration":30,"timezone":"America/Los_Angeles","joinUrl":"https://us05web.zoom.us/j/85792533614?pwd=yBaWntPY9s133Jm9u1CYJ2LSjaJ0bM.1","startUrl":"https://us05web.zoom.us/s/85792533614?zak=eyJ0eXAiOiJKV1QiLCJzdiI6IjAwMDAwMiIsInptX3NrbSI6InptX28ybSIsImFsZyI6IkhTMjU2In0.eyJpc3MiOiJ3ZWIiLCJjbHQiOjAsIm1udW0iOiI4NTc5MjUzMzYxNCIsImF1ZCI6

----------------------------------------
Endpoint: GET /api/jobs/
Description: Jobs with trailing slash
Status: ✓ PASS
HTTP Code: 200
Response Time: 0.272589s
Response Body (first 500 chars):
{"success":true,"data":[]}


----------------------------------------
Endpoint: GET /api/invalid-route
Description: Invalid route
Status: ✗ FAIL
HTTP Code: 500
Response Time: 0.013063s
Response Body (first 500 chars):
{"success":false,"error":"Cast to ObjectId failed for value \"invalid-route\" (type string) at path \"_id\" for model \"ZoomMeeting\""}


----------------------------------------
Endpoint: GET /.well-known/acme-challenge/test
Description: ACME challenge path
Status: ⚠ EXPECTED (Client Error)
HTTP Code: 404
Response Time: 0.012738s
Response Body (first 500 chars):
{"success":false,"error":"Route GET /403.shtml not found"}


================================================
TEST SUMMARY
================================================
Total Endpoints Tested: 70
Report saved to: api-test-report-https-20260117-084323.txt
================================================
