PracticeQAAutomation logoPracticeQAAutomation

📘 Project KT · Recruitment

💼 HireHub

Job portal & applicant tracking

Complexity
Intermediate
Screens
6
Scenarios
8
Test cases
16

1Business context

HireHub is a job portal plus applicant-tracking system. Candidates apply through a multi-step form with a résumé upload and screening questions; recruiters shortlist and schedule interviews.

Candidates filter jobs and apply through a 4-step form (contact, résumé upload, screening questions, review); recruiters sign in to shortlist, reject with a reason, view résumés and schedule interviews that update the candidate's status.

2Users & roles

  • 👤 Candidate — searches, saves and applies for jobs
  • 👤 Recruiter (recruiter@hirehub.dev / Hire@123) — reviews, shortlists, rejects and schedules

3Modules & screens

ScreenRouteWhat it does
Find jobs/apps/jobsSearch, location, experience, salary and remote filters
Job detail/apps/jobs/j/[id]Description, save and easy apply
Application/apps/jobs/apply/[id]Contact, résumé, screening questions, review
My applications/apps/jobs/applicationsApplication statuses
Recruiter/apps/jobs/recruiterRecruiter login and job list
Applicants/apps/jobs/recruiter/j/[id]Shortlist, reject, schedule interview

4Main end-to-end journey

Apply and get an interview

  1. Search QA remote jobs and open j1
  2. Easy apply with details, resume.pdf and screening answers
  3. Submit
  4. Log in as recruiter@hirehub.dev / Hire@123
  5. Shortlist APP-501 and schedule a weekday video interview

Expected: Application APP-501 created and status becomes Interview scheduled

5Business rules & validations

  • Combined filtersBeginner

    job-search, job-location, job-experience, job-salary and remote-only narrow job-count.

  • Optional URL validationIntermediate

    applicant-linkedin can be blank, but a non-linkedin.com/in URL shows error-applicant-linkedin.

  • Upload rulesIntermediate

    resume-file rejects .txt/.jpg and >2 MB; the next step is blocked until a valid file is chosen.

  • Screening answersBeginner

    q-experience, q-authorized-yes/no and q-notice are all required; review-* shows them.

  • Two-role workflowAdvanced

    Apply as candidate → recruiter shortlists and schedules → application-status shows “Interview scheduled”.

  • Conditional actionsIntermediate

    Only Applied rows show shortlist-*, only Shortlisted rows show schedule-*; Rejected rows show neither.

  • Modal validationIntermediate

    confirm-interview without day/time/mode shows schedule-error; weekends are disabled.

  • Save jobsBeginner

    save-job-<id> toggles aria-pressed (bookmark icon).

6Test data & credentials

URL
/apps/jobs
Recruiter
recruiter@hirehub.dev
Password
Hire@123
Résumé
PDF/DOCX ≤ 2 MB

7Glossary

ATS
Applicant tracking system — the recruiter side
Screening questions
Experience, work authorisation and notice period
Interview scheduled
Final status after shortlisting and scheduling

8Watch-outs for automation

  • ⚠️Résumé: PDF/DOCX up to 2 MB
  • ⚠️LinkedIn URL is optional but validated
  • ⚠️Actions depend on status — Rejected rows show neither shortlist nor schedule

9Suggested test strategy

1 · Smoke

3

P1 positive and end-to-end cases — run on every build.

2 · Regression

16

All cases, incl. 6 negative and 2 edge — run before release.

3 · End-to-end

3

Full user journeys — run nightly.

Start with these smoke cases

  • HIREHUB-01 — Apply to a job
  • HIREHUB-02 — Recruiter schedules interview
  • HIREHUB-E2E-01 — Apply and get an interview