{
  "started": "2026-10-15T01:25:25.214Z",
  "status": "failed",
  "counts": {
    "passed": 108,
    "failed": 100,
    "skipped": 7
  },
  "issues": [
    {
      "issue": "SHR-008",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 4 checks fail)",
      "description": "The system is not showing the Clock in and Clock out functionalities when logging in and logging out of the system. And attendance hours are not being captured",
      "module": "Attendance",
      "submodule": "Attendance",
      "expected": "signing out while on the clock offers to clock out first; the clock in / clock out control is on screen for the employee; worked hours are captured from the punches (first in to last out, less the break); a day with a full day of hours is not marked Half day",
      "actual": "2026-10-09: 10.5 h worked (half day is below 4 h) but the day reads \"half_day\"\nexpect(received).not.toBe(expected) // Object.is equality\nExpected: not \"half_day\"",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-423"
      ],
      "coverage": {
        "total": 4,
        "failed": 1,
        "passed": 3,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-008 · signing out while on the clock offers to clock out first",
          "file": "tests/feedback/attendance/attendance-journeys.spec.ts:16",
          "outcome": "passed"
        },
        {
          "title": "SHR-008 · the clock in / clock out control is on screen for the employee",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:18",
          "outcome": "passed"
        },
        {
          "title": "SHR-008 · worked hours are captured from the punches (first in to last out, less the break)",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:28",
          "outcome": "passed"
        },
        {
          "title": "SHR-008 · a day with a full day of hours is not marked Half day",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:40",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-014",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Issue: For some dates in September, regularisation can be applied for directly. However, for October, the direct regularisation option is available only for the current date, while other dates can be regularised only through “Request a Correction. -ishita.bhattacharya@opsmaven.test",
      "module": "Attendance",
      "submodule": "Attendance",
      "expected": "The regularisation process and available options should be consistent across applicable dates, based on the defined attendance/regularisation rules.",
      "actual": "QA Employee One joined on 2026-10-01; the calendar still offers these earlier days for correction (the server then refuses them)\nexpect(received).toEqual(expected) // deep equality\n- Expected  -  1\n+ Received  + 23\n- Array []\n+ Array [\n+   \"Tuesday 1 September: no attendance recorded — request a correction\",\n+   \"Wednesday 2 September: no attendance recorded — request a correction\",\n+   \"Thursday 3 September: no attendance recorded — request a correction\",\n+   \"Monday 7 September: no attendance recorded — request a correction\",",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-454"
      ],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-014 · every past working day of the month can be corrected straight from the calendar",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:52",
          "outcome": "passed"
        },
        {
          "title": "SHR-014 · days before the employee joined are not offered for correction",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:71",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-069",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once the employee completes 30 days All special leaves to be credited by HR and should not be auto assigned(Bereavement leaves, Maternity leaves, Examination Leaves, Paternity leaves)",
      "module": "Attendance",
      "submodule": "Attendance",
      "expected": "Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once th eemployee completes 30 days All special leaves to be credited by HR and should not be auto assigned(Bereavement leaves, Maternity leaves, Examination Leaves, Paternity leaves)",
      "actual": "credits inside the first 30 days\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 4\n- Array []\n+ Array [\n+   \"e2 (joined 2026-10-01): +2.00 on 2026-10-09 (policy_entitlement:2026)\",\n+   \"e3 (joined 2026-10-01): +2.00 on 2026-10-09 (policy_entitlement:2026)\",\n+ ]\n\ncredits inside the first 30 days\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 4\n- Array []\n+ Array [\n+   \"e2 (joined 2026-10-01): +1.25 on 2026-10-09 (policy_entitlement:2026-10)\",\n+   \"e3 (joined 2026-10-01): +1.25 on 2026-10-09 (policy_entitlement:2026-10)\",\n+ ]\n\nemployees holding automatically accrued special leave, e.g. Aarav Krishnamurthy.: BLE accrued 10; Aarav Krishnamurthy.: EXAMINATION-LEAVE accrued 5; Aarav Krishnamurthy.: MATERNITY-LEAVE accrued 182; Aarav Krishnamurthy.: PATERNITY-LEAVE accrued 5; Aditya Ranganathan: BLE accrued 10; Aditya Ranganathan: EXAMINATION-LEAVE accrued 5\nexpect(received).toBe(expected) // Object.is equality\nExpected: 0\nReceived: 156",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-446",
        "https://satellitehr-qa-issues.pages.dev/ISS-440"
      ],
      "coverage": {
        "total": 3,
        "failed": 3,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-069 · FLOATING-HOLIDAYS is not credited before the employee completes 30 days",
          "file": "tests/feedback/leave/leave-rules.spec.ts:267",
          "outcome": "failed"
        },
        {
          "title": "SHR-069 · PAID-TIME-OFF-PTO is not credited before the employee completes 30 days",
          "file": "tests/feedback/leave/leave-rules.spec.ts:267",
          "outcome": "failed"
        },
        {
          "title": "SHR-069 · special leaves (bereavement, maternity, examination, paternity) are never credited automatically",
          "file": "tests/feedback/leave/leave-rules.spec.ts:279",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-123",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Attendance report extracted from Satellite HR currently doesnt contain the Loss of pay details or the employee details in the single row with the whole month attendance",
      "module": "Attendance",
      "submodule": "Attendance details report/LOP report",
      "expected": "Attendance details Report or Loss of Pay report and the Unplanned leave report is to be added in the Reports tab, currently we dont have a single report nor the module in filter of Attendance. Attaching the sample attaendance report format which has each employee's report in the single row with the whole month date wise, leave type wise or the LWP",
      "actual": "admin: Reports modules are Employees (employees), Announcements (announcements), Assets (assets), Reviews (performance), Goals (performance), Exit cases (exit), Transfers (transfers), Onboarding (onboarding), Asset movements (assets), Form responses (templates) — no Attendance\nexpect(received).not.toEqual(expected) // deep equality\nExpected: not []\n\nmuster columns: Employee No, Employee, Department, Present, WFH / on duty, Half day, Absent, Leave, Holiday / weekly off, Worked hours, OT hours — no loss-of-pay column\nexpect(received).not.toEqual(expected) // deep equality\nExpected: not []",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-123 · Reports offers Attendance (and leave / loss of pay) as a module",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:185",
          "outcome": "failed"
        },
        {
          "title": "SHR-123 · the monthly attendance report shows leave by type and loss of pay, one row per employee",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:195",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-124",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Leave report with employee details and Leave type and the format is shared in the screenshots Tab",
      "module": "Attendance",
      "submodule": "Attendance details report/LOP report",
      "expected": "Leave report should contant employee details, from date, to date, accrual balance for that leave type, opening balance and closing balance approval status",
      "actual": "no single download has every column — leave-requests-pending-2026-10-15.csv: missing opening balance, accrual, closing balance | leave-balances-2026-10-15.csv: missing from date, to date, approval status\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-124 · one leave report has employee details, from/to dates, opening, accrual and closing balance, and approval status",
          "file": "tests/feedback/leave/leave-rules.spec.ts:357",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-004",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Pre-boarding Checklist listed under employee creation through Recruitment is missed for employees created from Organization module. Irrespective of the module from which a new joinee is added, preboarding steps are same for all full-time employees",
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "expected": "an employee created from Organization gets the same pre-boarding checklist as a recruitment hire",
      "actual": "FB Test Org Joiner Cacgbabf (created from Organization, joining today) has an onboarding record — instead there is none, so no pre-boarding checklist was started\nexpect(received).toBeGreaterThan(expected)\nExpected: > 0\nReceived:   0",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-082",
        "https://satellitehr-qa-issues.pages.dev/ISS-314"
      ],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-004 · an employee created from Organization gets the same pre-boarding checklist as a recruitment hire",
          "file": "tests/feedback/onboarding/new-joiner.spec.ts:50",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-005",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Employees created today as New Employee from Organization Module whose DOJ is today and whose preboarding steps are pending(Document Submission) - No trigger on their home page or notifications on their email or pending tasks diplayed on their home page",
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "expected": "Onboarding activities - Document Collection is not getting triggered. But Onboarding is shown as complete",
      "actual": "document collection is triggered for FB Test Org Joiner Cacgbabf on the joining day — instead no document task exists (no onboarding record at all)\nexpect(received).not.toHaveLength(expected)\nExpected length: not 0\nReceived array:      []\n\nan HR owner (HR Manager, HR Head or HR SPOC) has FB Test Org Joiner Cacgbabf's onboarding tasks under \"Your onboarding tasks\" — instead none of them does\nexpect(received).not.toHaveLength(expected)\nExpected length: not 0\nReceived array:      []",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-314"
      ],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-005 · a joiner starting today gets document-collection tasks",
          "file": "tests/feedback/onboarding/new-joiner.spec.ts:58",
          "outcome": "failed"
        },
        {
          "title": "SHR-005 · the joiner’s pending onboarding tasks show on the owners’ Home",
          "file": "tests/feedback/onboarding/new-joiner.spec.ts:64",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-006",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "I have created the three test IDs for Aarav Testman, Nisha Sample, and Rohan Demo. However, the credentials have not been generated in the HR CC account. I also went to Settings > Users and re-shared the invite, but it is still not showing up",
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "expected": "the reviewer's three test employees received working sign-ins; the Employees list says \"Can sign in\" only for people whose sign-in actually works",
      "actual": "\"Can sign in\" shown for people who never accepted their invitation or have no account here\nexpect(received).toEqual(expected) // deep equality\n- Expected  -  1\n+ Received  + 16\n- Array []\n+ Array [\n+   \"Abhishek Kumar (account: none in this company)\",\n+   \"Aditya Ranganathan (account: invited)\",\n+   \"Anant (account: invited)\",\n+   \"Kabir Anand (account: none in this company)\",",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-006 · the reviewer's three test employees received working sign-ins",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:128",
          "outcome": "passed"
        },
        {
          "title": "SHR-006 · the Employees list says \"Can sign in\" only for people whose sign-in actually works",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:139",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-007",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "The onboarding activities for the test employees have not yet been completed, but the system is already showing the onboarding status as “Complete.”",
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "expected": "New joinees does not show onboarding “Complete” while nothing has been done",
      "actual": "the Onboarding column reflects that no onboarding task is done (API: status null, 0/0 tasks) — instead it says \"Complete\"\nexpect(received).not.toMatch(expected)\nExpected pattern: not /^Complete$/\nReceived string:      \"Complete\"",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-314"
      ],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-007 · New joinees does not show onboarding “Complete” while nothing has been done",
          "file": "tests/feedback/onboarding/new-joiner.spec.ts:76",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-009",
      "kind": "fb-open",
      "status": "Open — confirmed (2 of 3 checks fail)",
      "description": "Error has occured as soon as we click on the employee searched on global search box on homepage",
      "module": "Employee Lifecycle",
      "submodule": "Employee Search",
      "expected": "clicking an employee found in global search opens their profile without an error; the profile opened from search shows the employee's position, location and manager; a reporting manager can find their own team member in global search",
      "actual": "the header shows \"Delivery Manager\" (not \"No position\")\nexpect(locator).toHaveText(expected) failed\nLocator: locator('#main-content').getByText(/Delivery Manager|No position/).first()\nExpected pattern: /Delivery Manager/\nReceived string:  \"No position · Operations\"\nTimeout: 30000ms\n    63 × locator resolved to <p class=\"mt-0.5 text-sm text-ink-2\">No position · Operations</p>\n\nQA Manager's search answers 403 {\"code\":\"FORBIDDEN\",\"message\":\"You do not have permission to do this\",\"requiredPermission\":[\"settings.saved_searches.view\"],\"requestId\":\"c9e4d046-7c69-4b6e-9551\nexpect(received).toBe(expected) // Object.is equality\nExpected: 200\nReceived: 403",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 2,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-009 · clicking an employee found in global search opens their profile without an error",
          "file": "tests/feedback/organization/organization.spec.ts:22",
          "outcome": "passed"
        },
        {
          "title": "SHR-009 · the profile opened from search shows the employee's position, location and manager",
          "file": "tests/feedback/organization/organization.spec.ts:37",
          "outcome": "failed"
        },
        {
          "title": "SHR-009 · a reporting manager can find their own team member in global search",
          "file": "tests/feedback/organization/organization.spec.ts:53",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-013",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "IT Checklist not getting triggered for today's new joiners",
      "module": "Employee Lifecycle",
      "submodule": "Onboarding",
      "expected": "Checklists not getting triggered for Onboarding Stakeholders. This needs to be notified to them and displayed on their homeage as pending",
      "actual": "QA IT has FB Test Org Joiner Cacgbabf's IT checklist (Home \"Your onboarding tasks\" or Inbox) on the joining day — instead it has nothing\nexpect(received).toBeGreaterThan(expected)\nExpected: > 0\nReceived:   0",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-247"
      ],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-013 · the IT team gets the IT checklist for a joiner starting today",
          "file": "tests/feedback/onboarding/new-joiner.spec.ts:90",
          "outcome": "failed"
        },
        {
          "title": "SHR-013 · once onboarding starts, IT is notified and has the IT items on Home",
          "file": "tests/feedback/onboarding/new-joiner.spec.ts:98",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-033",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Vinay Yenduri was created from the recruitment module and sent to Onboarding. The workflow of document collection and checklists to Onboarding Stakeholders hasn't been triggered. Nothing in the Home Page, Inbox, or notifications. Checklist is displayed as 0/0 completed and for a few employees, without any assignment or action, Onboarding is displayed as 5/5 completed upon creation.",
      "module": "Employee Lifecycle",
      "submodule": "Pre-boarding",
      "expected": "Once a candidate's offer letter is released by the TA Team, the candidate is moved to the Pre-boarding stage. There are a checklist of actions pending during pre-boarding. The Onboarding stakeholder checklist needs to be triggered and displayed in pending tasks+Home Screen of the respective stakeholders buckets - a. Document Collection from Candidate - Govt IDs(Aadhar Card, PAN Card, Passport), Bank Document(Cancelled Cheque/Header of Bank Statement/Cover Page of Passbook) , Education Documents(10th Marks Memo, Intermediate Marks UG Memo, PG Memo), Employment Documents(Offer, Hike and Relieving Letters), Signed Offer Letter, Form 11 and PF Declaration, Gratuity Nomination, Benefits Forms with date and timestamp and digital signature(VPF, NPS, Sodexo, GMC, GPA), HD Photograph, Form (Professional Bio for welcome email, Hobbies, Father's Name, DOB, Name as per Aadhar, Name as per PAN, Name as per Bank Document, Present Address, Current Address, Blood Group[drop down], Emergency Contact Name, Phone Number and address, Declaration on deductions and accuracy of information) b. Reporting Manager(Buddy Assignment, KRAs assignment, Stakeholder List for Introductory Meetings, 30-day KT Plan), Tools Configuration, Office Access and Assets Provision (Bangalore Office) c. HR - Document Verification and checklist monitoring of other stakeholders as the owner of Onboarding d. IT - IT Asset Preparation, DevOps and IT Tools Provisioning e. Admin - Hyd Office - Welcome Kit, Office Tour, ID Card, Seat Allocation Remote/Bangalore - Welcome Kit, IT Assets",
      "actual": "HR SPOC can see which checklist a joiner gets (no \"(unavailable)\" picker: the checklist list returns 403 templates.view)\nexpect(received).toBe(expected) // Object.is equality\nExpected: 0\nReceived: 1",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-247",
        "https://satellitehr-qa-issues.pages.dev/ISS-223",
        "https://satellitehr-qa-issues.pages.dev/ISS-314"
      ],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-033 · started with the stakeholder checklist, each stakeholder gets their own items",
          "file": "tests/feedback/onboarding/new-joiner.spec.ts:112",
          "outcome": "passed"
        },
        {
          "title": "SHR-033 · no recruitment hire sits in onboarding with an empty 0/0 checklist",
          "file": "tests/feedback/onboarding/onboarding-board.spec.ts:63",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-039",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Clarification Required: The system currently appears to allow only one role to be assigned to an employee. However, an employee may perform multiple responsibilities simultaneously. For example, an employee can hold the position of HR Manager for the organisation while also being the Reporting Manager for members of the HR team.",
      "module": "Employee Lifecycle",
      "submodule": "Role Creation",
      "expected": "an employee can hold more than one role (e.g. HR Manager and Reporting Manager); Settings → Roles lets a user be a member of a second role",
      "actual": "both roles stay selected; the Role field shows \"Reporting Manager\"\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false\n\nadding someone to a role keeps the roles they already hold\nexpect(locator).toHaveCount(expected) failed\nLocator:  getByRole('dialog').last().getByText(/One role per user/i)\nExpected: 0\nReceived: 1\nTimeout:  30000ms\n    63 × locator resolved to 1 element",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-039 · an employee can hold more than one role (e.g. HR Manager and Reporting Manager)",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:92",
          "outcome": "failed"
        },
        {
          "title": "SHR-039 · Settings → Roles lets a user be a member of a second role",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:103",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-061",
      "kind": "fb-open",
      "status": "Open — confirmed (4 of 5 checks fail)",
      "description": "1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days. 2. No notifications triggered on any exit stakeholders logins",
      "module": "Employee Lifecycle",
      "submodule": "Exit",
      "expected": "1. Exit Module to be enabled and displayed for employees 2. Configure Notice Period policy to auto-define LWD by the location/jurisdiction in the resignation window (India - 60 days; Other Countries - 14 days) 3. Customize notifications according to the length of the requested last working day 4. Trigger approval and notification workflows to all stakeholders as soon as an employee resigns",
      "actual": "an employee in India gets a 60-day notice period — instead the form says \"Your 30-day notice ends 14 Nov 2026.\"\nexpect(received).toBe(expected) // Object.is equality\nExpected: \"60\"\nReceived: \"30\"\n\nnotice periods can differ by location/jurisdiction — instead there is one company-wide \"noticePeriodDays\": 30\nexpect(received).toBeTruthy()\nReceived: null\n\nevery exit stakeholder hears of FB Test Org Leaver Cacgbabf's resignation — these got nothing\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 7\n- Array []\n+ Array [\n+   \"HR Head\",\n+   \"HR SPOC\",\n+   \"IT\",\n+   \"Accounts / Finance\",\n\nwith the last day today, the manager is not asked to hold a stay conversation within two working days\nexpect(received).not.toMatch(expected)\nExpected pattern: not /within (two|2) working days|within 48 hours/i\nReceived string:      \"Please hold the stay conversation within two working days — FB Test Org Leaver Cacgbabf has resigned, with Thursday 15 October as the last working day. Please hold the stay conversation within 2 working days and record it on the exit: the reasons, the knowledge-loss risk, and whether a counteroffer is worth considering. || FB Test Org Leaver Cacgbabf has resigned — FB Test Org Leaver Cacgbabf has submitted a resignation. Please hold the stay conversation within 48 hours and record it on the exit; it is worth having even when the decision looks settled. Open the exit: https://satellite-hr-frontend-final-restructure.polished-mud-fefe.workers.dev/company/82628593-49b6-4dad-ad2a-6b9472ab44fc/me/inbox\"",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-221",
        "https://satellitehr-qa-issues.pages.dev/ISS-223"
      ],
      "coverage": {
        "total": 5,
        "failed": 4,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-061 · the exit module is open to employees",
          "file": "tests/feedback/exit/exit-forms.spec.ts:62",
          "outcome": "passed"
        },
        {
          "title": "SHR-061 · the notice period comes from the employee’s location: 60 days in India",
          "file": "tests/feedback/exit/exit-forms.spec.ts:70",
          "outcome": "failed"
        },
        {
          "title": "SHR-061 · notice periods are set per jurisdiction (India 60 days, other countries 14)",
          "file": "tests/feedback/exit/exit-forms.spec.ts:82",
          "outcome": "failed"
        },
        {
          "title": "SHR-061 · approvals and notifications reach every exit stakeholder as soon as someone resigns",
          "file": "tests/feedback/exit/resignation-journey.spec.ts:55",
          "outcome": "failed"
        },
        {
          "title": "SHR-061 · the notification fits the requested last working day",
          "file": "tests/feedback/exit/resignation-journey.spec.ts:63",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-063",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Where does the new joinee enter their details after Onboarding?",
      "module": "Employee Lifecycle",
      "submodule": "Onboarding",
      "expected": "Once a newly created employee login to their HRMS, they should be prompted to complete their Onboarding - All information collected in the Induction Form should be pulled and populated here and additional data should be collected. This data and file upload fields flow into the HR Records(HRIS). This is currently available on HRMS.",
      "actual": "the employee can read their own record (joining, onboarding, probation)\nexpect(received).not.toMatch(expected)\nExpected pattern: not /not open to the workforce|you cannot/i\nReceived string:      \"Your record Joining, onboarding, probation, every move and every manager since — the whole timeline. It is kept in the lifecycle module, which is not open to the workforce yet, so your People team can read it and you cannot. Ask them for anything you need in the meantime.\"",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-250"
      ],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-063 · an employee can see and complete their own onboarding details",
          "file": "tests/feedback/onboarding/orientation-and-self-service.spec.ts:54",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-090",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Probation Confirmation Form: A detailed review of each section and column is required for every employee approaching probation completion. The same form will be used by the Reporting Manager, Department Head, and HR Head to provide feedback and approvals against each evaluation criterion. This standardized review process ensures that probation performance is comprehensively assessed, documented, and approved by all relevant stakeholders before confirming the employee's employment status. The form serves as the official record for collecting feedback, recommendations, and final approval for probation confirmation.",
      "module": "Employee Lifecycle",
      "submodule": "Confirmation",
      "expected": "Probation Confirmation Questionnaire Skills Self rating Rating Comments How is the work quality(accuracy, promptness and effectiveness in completion of work assigned) Add comment How the communication Skills : Verbal /Written Add comment job knowledge Add comment Candidates initative in learning new skills required for the current responsibilities Add comment Application of self skills as per current Job requirements Add comment Effective problem solving skills Add comment Interpersonal Skills (relations with superiors, peers and subordinates Add comment",
      "actual": "a confirmation question set covers every criterion — the closest, \"confirmation-review\", lacks these\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 8\n- Array []\n+ Array [\n+   \"Communication skills: verbal / written\",\n+   \"Job knowledge\",\n+   \"Initiative in learning new skills\",\n+   \"Application of skills to the current job\",\n\na question can carry the employee's self rating (answer types offered: Rating 1–5, Written answer, Yes / no)\nexpect(received).toMatch(expected)\nExpected pattern: /self.?rating|self.?assessment/i\nReceived string:  \"Rating 1–5 | Written answer | Yes / no New question set·\nName the set and add the questions each review will ask.·\nName\n1\nRating 1–5\nRequired\nScored\n\na step goes to the HR Head (not \"any one of\" the HR partners)\nexpect(received).toMatch(expected)\nExpected pattern: /HR Head/\nReceived string:  \"· Primary Manager: unresolved | · Department Head, or HR | · HR Partner · any one of 14\"",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-087",
        "https://satellitehr-qa-issues.pages.dev/ISS-085",
        "https://satellitehr-qa-issues.pages.dev/ISS-088"
      ],
      "coverage": {
        "total": 3,
        "failed": 3,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-090 · the probation confirmation form lists the seven evaluation criteria",
          "file": "tests/feedback/confirmation/probation-form.spec.ts:21",
          "outcome": "failed"
        },
        {
          "title": "SHR-090 · each criterion takes a self rating, a rating and a comment",
          "file": "tests/feedback/confirmation/probation-form.spec.ts:32",
          "outcome": "failed"
        },
        {
          "title": "SHR-090 · the Reporting Manager, the Department Head and the HR Head each review the form",
          "file": "tests/feedback/confirmation/probation-form.spec.ts:50",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-096",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Unable to initiate the exit process from any login. Additionally, the system is currently displaying the \"Last Working Day (LWD)\" field upfront. Ideally, the process should capture the employee's resignation date and automatically calculate the relieving date based on the applicable notice period. If there is a need to modify the auto-calculated relieving date, the system should provide an option to update it along with a mandatory reason for the change and an appropriate approval workflow. Also, the terminology should be updated from \"Last Working Day (LWD)\" to \"Relieving Date\" throughout the process for consistency and better user experience.",
      "module": "Employee Lifecycle",
      "submodule": "Offboarding",
      "expected": "changing the calculated relieving date asks for a reason for the change; HR can start an exit for any employee; the exit form takes the resignation date and works out the relieving date; the forms say “Relieving date”, not “Last working day”",
      "actual": "moving the date adds a mandatory \"reason for the change\" field (the form only has: Last working day* | Reason*)\nexpect(received).toBeGreaterThan(expected)\nExpected: > 1\nReceived:   1\n\nevery active employee can be picked (36 offered of 72 active; the picker loads only the first 50 employees) — these can't\nexpect(received).toEqual(expected) // deep equality\n- Expected  -  1\n+ Received  + 38\n- Array []\n+ Array [\n+   \"Pramod Singh\",\n+   \"Preboarding Flowtest\",\n+   \"Priyasha Nair\",\n+   \"Probe Candidate\",\n\nthe form asks for the resignation date\nexpect(received).toMatch(expected)\nExpected pattern: /Resignation date/i\nReceived string:  \"Employee | Last working day | Initiation\"\n\nHR Start exit says \"Relieving date\"\nexpect(received).not.toMatch(expected)\nExpected pattern: not /Last working day/i\nReceived string:      \"Start an exit\nOpens the exit-approval flow, the clearance lanes, and a knowledge-transfer plan. Payroll lock defaults to five days before the last day.\nEmployee\nPick an employee\nLast working day\nPick the last day\nInitiation",
      "links": [],
      "coverage": {
        "total": 4,
        "failed": 4,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-096 · changing the calculated relieving date asks for a reason for the change",
          "file": "tests/feedback/exit/exit-forms.spec.ts:89",
          "outcome": "failed"
        },
        {
          "title": "SHR-096 · HR can start an exit for any employee",
          "file": "tests/feedback/exit/exit-forms.spec.ts:104",
          "outcome": "failed"
        },
        {
          "title": "SHR-096 · the exit form takes the resignation date and works out the relieving date",
          "file": "tests/feedback/exit/exit-forms.spec.ts:119",
          "outcome": "failed"
        },
        {
          "title": "SHR-096 · the forms say “Relieving date”, not “Last working day”",
          "file": "tests/feedback/exit/exit-forms.spec.ts:129",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-105",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Phone Number Extension dropdown only has India and US",
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "expected": "Add phone number extensions for other loactions and states as well",
      "actual": "country codes offered: IN +91, US +1\nexpect(received).toBeGreaterThan(expected)\nExpected: > 2\nReceived:   2",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-105 · the phone country code list covers more than India and the US",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:138",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-107",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Employee phone number in US Extension and Emergency Contact is in India Extension",
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "expected": "If employee's phone number is added with US Phone Extension, their emerhency contact should have the same Phone Extension.",
      "actual": "a US employee phone with an Indian (+91) emergency phone is refused — instead the form sent it and the server accepted every field (it only refused the employee number the test swapped in, so nothing was saved)\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-107 · with a US phone number the emergency contact must use the same country code",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:161",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-108",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "California is in jurisdictions but a corresponding option doesn't exist in locations.",
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "expected": "Jurisdiction should have a restricted location list within that geography",
      "actual": "with California picked, Location offers only California's locations (Los Angeles); it offers Ahmedabad - Remote, Demo – Bengaluru Office, Hyderabad HQ, Los Angeles, Remote - India\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 0\n+ Received  + 4\n  Array [\n+   \"Ahmedabad - Remote\",\n+   \"Demo – Bengaluru Office\",\n+   \"Hyderabad HQ\",\n    \"Los Angeles\",\n+   \"Remote - India\",\n\njurisdictions on the New employee form with no location to pick\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 3\n- Array []\n+ Array [\n+   \"Tamil Nadu\",\n+ ]",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-108 · after picking a jurisdiction, Location offers only locations in that jurisdiction",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:83",
          "outcome": "failed"
        },
        {
          "title": "SHR-108 · every jurisdiction offered for employees has at least one location in it",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:94",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-010",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Pending approvals currently show only the employee name or generic text. it does not clearly specify what someone is approving or rejecting. Recommend having a short description that empowers the decision-maker to make a quick decision without having to go to another screen",
      "module": "General / Other",
      "submodule": "Home page> pending approvals",
      "expected": "Home “Pending approvals” says what is being approved, not just who asked",
      "actual": "Home card for \"Missed punch · 8 Oct\" reads: \"Pending approvals / View all / QO / QA Employee One / QA Employee One / FA / Fbtest Candidate ageaah / FB Test Pipeline 1015064007 · offer OFR-2026-0083 / FA / Fbtest Candidate afdbff / FB Test Pipeline 1015053155 · offer OFR-2026-0082 / FA / Fbtest Candidate adejaj / FB Test Pipeline 1015034909 · offer OFR-2026-0081\" — it names the requester only, not the request\nexpect(received).toContain(expected) // indexOf\nExpected substring: \"Missed punch\"\nReceived string:    \"Pending approvals / View all / QO / QA Employee One / QA Employee One / FA / Fbtest Candidate ageaah / FB Test Pipeline 1015064007 · offer OFR-2026-0083 / FA / Fbtest Candidate afdbff / FB Test Pipeline 1015053155 · offer OFR-2026-0082 / FA / Fbtest Candidate adejaj / FB Test Pipeline 1015034909 · offer OFR-2026-0081\"",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-010 · Home “Pending approvals” says what is being approved, not just who asked",
          "file": "tests/feedback/general/general.spec.ts:26",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-016",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Issue: After submitting the leave request, the system only shows “Request sent” and mentions the approval flow as Manager approval → Department Head approval. However, it does not clearly show who the request has been sent to, whose approval is currently pending, or where the employee can check the approval status/progress. -Checked from Ishita.bhattacharya@opsmaven.test",
      "module": "Leave",
      "submodule": "Leave",
      "expected": "Expected Result: The system should clearly display the current approver, pending approval stage, and provide a clear place/link to track the request and approval status.",
      "actual": "the confirmation names who has the request now\nexpect(received).toMatch(expected)\nExpected pattern: /QA Manager/\nReceived string:  \"Request sent 🎉·\n1 day of floating holidays, 20 Jan. Watch “My leave” for the decision.·\nApply for another\"\nError: the confirmation shows the pending stage\nexpect(received).toMatch(expected)\nExpected pattern: /Manager approval|with your manager|Awaiting/i\nReceived string:  \"Request sent 🎉·",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-016 · after sending, the screen names the current approver and links to where the request is tracked",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:28",
          "outcome": "failed"
        },
        {
          "title": "SHR-016 · My leave shows the current approver and the pending stage of a request",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:52",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-018",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Leave types should be displayed correctly. Kavya is a female, and hence paternity leave should not be displayed for her",
      "module": "Leave",
      "submodule": "Leave Balance",
      "expected": "a female employee is not offered Paternity Leave; no female employee holds a Paternity Leave balance",
      "actual": "female employees holding paternity leave (e.g. Kavya Raghunathan)\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 4\n- Array []\n+ Array [\n+   \"Kavya Raghunathan: Paternity 5 days\",\n+   \"Test Interviewer One: Paternity 5 days\",\n+ ]",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-440"
      ],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-018 · a female employee is not offered Paternity Leave",
          "file": "tests/feedback/leave/leave-rules.spec.ts:139",
          "outcome": "passed"
        },
        {
          "title": "SHR-018 · no female employee holds a Paternity Leave balance",
          "file": "tests/feedback/leave/leave-rules.spec.ts:145",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-019",
      "kind": "fb-open",
      "status": "Open — confirmed (2 of 3 checks fail)",
      "description": "An employee cannot have more than 10 days of bereavement leave and they cannot have more than 7 days of wedding leave. These leaves don't get carried forward. and should expire in specific number of days. For Kavya I can see 20 beraevement leaves and 14 wedding leaves",
      "module": "Leave",
      "submodule": "Leave Balance",
      "expected": "nobody holds more than 10 days of Bereavement or 7 days of Wedding leave; bereavement and wedding leave are not carried forward and expire; Wedding Leave is capped at 7 days",
      "actual": "BLE: carry-forward limit is 0 (rule is {})\nexpect(received).toBe(expected) // Object.is equality\nExpected: 0\nReceived: undefined\nError: BLE: an expiry period is set (rule is {})\nexpect(received).toBeTruthy()\nReceived: undefined\nError: WEDDING-LEAVE: carry-forward limit is 0 (rule is {})\nexpect(received).toBe(expected) // Object.is equality\nExpected: 0\n\ndays per request (rule {\"allowHalfDay\":true,\"minNoticeDays\":30,\"permanentOnly\":true,\"afterProbation\":true,\"maxDaysPerYear\":7,\"oncePerService\":true,\"minTenureMonths\":12,\"countCalendarDays\":false,\"maxConsecutiveDays\":10,\"noticeExemptWhenEmergency\":false})\nexpect(received).toBeLessThanOrEqual(expected)\nExpected: <= 7\nReceived:    10",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-440"
      ],
      "coverage": {
        "total": 3,
        "failed": 2,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-019 · nobody holds more than 10 days of Bereavement or 7 days of Wedding leave",
          "file": "tests/feedback/leave/leave-rules.spec.ts:227",
          "outcome": "passed"
        },
        {
          "title": "SHR-019 · bereavement and wedding leave are not carried forward and expire",
          "file": "tests/feedback/leave/leave-rules.spec.ts:236",
          "outcome": "failed"
        },
        {
          "title": "SHR-019 · Wedding Leave is capped at 7 days",
          "file": "tests/feedback/leave/leave-rules.spec.ts:250",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-020",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 4 checks fail)",
      "description": "I tried applying for bereavement leave from 1st to 21st oct as balance said 20 days however it showed an error stating \"No working days in that range — check the dates\"",
      "module": "Leave",
      "submodule": "Apply Leave",
      "expected": "Expected Result: Ideally it should not allow applying bereavement leaves for more than 10 days. any leave request that is for 3 days or more should trigger a two level approval [ level 1 is the reporting manager and level 2 is the department head]",
      "actual": "a message naming the 10-day limit\nexpect(locator).toBeVisible() failed\nLocator: locator('#main-content').getByText(/10 days|more than 10|at most 10|maximum/i)\nExpected: visible\nTimeout: 10000ms\nError: element(s) not found",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-452"
      ],
      "coverage": {
        "total": 4,
        "failed": 1,
        "passed": 3,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-020 · a request of 3 days or more needs the manager and then the department head",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:91",
          "outcome": "passed"
        },
        {
          "title": "SHR-020 · the form refuses Bereavement Leave of more than 10 days",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:133",
          "outcome": "failed"
        },
        {
          "title": "SHR-020 · the server refuses Bereavement Leave of more than 10 days",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:144",
          "outcome": "passed"
        },
        {
          "title": "SHR-020 · Bereavement Leave is capped at 10 days per request (policy)",
          "file": "tests/feedback/leave/leave-rules.spec.ts:245",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-068",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Leave cancellation requests auto approved and not being triggered to reporting manager for approval",
      "module": "Leave",
      "submodule": "Attendance",
      "expected": "Leave cancellation request s auto approved and not being triggered to reporting manager for approval",
      "actual": "the cancellation of approved leave (run 076ac041-50d1-4335-a32e-2877a0d99e0a)\nexpect(received).toBe(expected) // Object.is equality\nExpected: \"manager task\"\nReceived: \"leave cancelled and the day credited back without the manager (cancellation request shows \\\"approved\\\")\"",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-068 · cancelling approved leave goes to the reporting manager instead of being approved automatically",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:215",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-085",
      "kind": "fb-open",
      "status": "Open — confirmed (2 of 3 checks fail)",
      "description": "FH should be credited after 30 days from the DOJ. PTO Should be credited after 1st of next month from joining. Marriage leave is a special leave it should be assigned by the HR.",
      "module": "Leave",
      "submodule": "leave deposit",
      "expected": "Floating Holidays are credited only 30 days after the joining date; PTO is first credited on the 1st of the month after joining; Wedding Leave is assigned by HR only, never accrued automatically",
      "actual": "QA Employee Two joined 2026-10-01: Floating Holiday credits before 2026-10-31\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 3\n- Array []\n+ Array [\n+   \"2026-10-09 +2.00 policy_entitlement:2026\",\n+ ]\n\nQA Employee Two joined 2026-10-01: PTO credits before 2026-11-01 or for the joining month\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 3\n- Array []\n+ Array [\n+   \"2026-10-09 +1.25 policy_entitlement:2026-10\",\n+ ]",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-446"
      ],
      "coverage": {
        "total": 3,
        "failed": 2,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-085 · Floating Holidays are credited only 30 days after the joining date",
          "file": "tests/feedback/leave/leave-rules.spec.ts:287",
          "outcome": "failed"
        },
        {
          "title": "SHR-085 · PTO is first credited on the 1st of the month after joining",
          "file": "tests/feedback/leave/leave-rules.spec.ts:295",
          "outcome": "failed"
        },
        {
          "title": "SHR-085 · Wedding Leave is assigned by HR only, never accrued automatically",
          "file": "tests/feedback/leave/leave-rules.spec.ts:305",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-086",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "There is no option to request for Comp off",
      "module": "Leave",
      "submodule": "request for Comp off",
      "expected": "a comp-off request for a weekend day worked reaches the manager instead of being rejected at once; an employee can request comp-off for a day worked",
      "actual": "comp-off for Saturday 2026-10-10\nexpect(received).toBe(expected) // Object.is equality\nExpected: \"manager task\"\nReceived: \"the request ended \\\"rejected\\\" without anyone deciding\"",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-505"
      ],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-086 · a comp-off request for a weekend day worked reaches the manager instead of being rejected at once",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:289",
          "outcome": "failed"
        },
        {
          "title": "SHR-086 · an employee can request comp-off for a day worked",
          "file": "tests/feedback/leave/leave-rules.spec.ts:182",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-087",
      "kind": "fb-open",
      "status": "Open — confirmed (2 of 4 checks fail)",
      "description": "Leave application for more than 3 days are not triggered to the department head after the manager approved, It is directly triggered to HR with out dept head approval.",
      "module": "Leave",
      "submodule": "Long leave approval matrix",
      "expected": "PTO of more than 3 days goes to the department head after the manager approves; leave without pay of more than 3 days goes to the department head after the manager, not straight to HR; leave of more than 3 days goes to the department head after the manager (Annual Leave Approval); leave without pay of more than 3 days also needs the department head",
      "actual": "after the manager the run went to hr_approval (14 HR tasks)\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 1\n  Array [\n-   \"dept_head_approval\",\n+   \"hr_approval\",\n  ]\n\nLeave Without Pay chain is mgr_approval (manager_or_hr_partner) → hr_approval (hr_partner)\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-452",
        "https://satellitehr-qa-issues.pages.dev/ISS-453"
      ],
      "coverage": {
        "total": 4,
        "failed": 2,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-087 · PTO of more than 3 days goes to the department head after the manager approves",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:75",
          "outcome": "passed"
        },
        {
          "title": "SHR-087 · leave without pay of more than 3 days goes to the department head after the manager, not straight to HR",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:106",
          "outcome": "failed"
        },
        {
          "title": "SHR-087 · leave of more than 3 days goes to the department head after the manager (Annual Leave Approval)",
          "file": "tests/feedback/leave/leave-rules.spec.ts:314",
          "outcome": "passed"
        },
        {
          "title": "SHR-087 · leave without pay of more than 3 days also needs the department head",
          "file": "tests/feedback/leave/leave-rules.spec.ts:322",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-091",
      "kind": "fb-open",
      "status": "Open — confirmed (2 of 3 checks fail)",
      "description": "Leave Application Restriction: Employees should be allowed to apply for leave only up to 90 days in advance from the current date for all leave types. This restriction shall not apply to Maternity Leave and Bereavement Leave, which may be applied for beyond the 60-day limit.",
      "module": "Leave",
      "submodule": "Leave configuration",
      "expected": "PTO more than 90 days ahead is refused; Bereavement Leave more than 90 days ahead is still accepted (exempt); the form refuses leave dates more than 90 days ahead (PTO)",
      "actual": "PTO on 2027-01-28 (more than 90 days ahead): server answered 201 {\"id\":\"b9609f2c-55bb-457e-998a-9a8338be0a9c\",\"workflowInstanceId\":\"4abc1e0a-e419-4b5b-9f81-8d8641ad481c\",\"units\":0.5,\"breakdown\":{\"units\":0.5,\"calendarDays\":1,\"\nexpect(received).toBeGreaterThanOrEqual(expected)\nExpected: >= 400\nReceived:    201\n\nPTO on 2027-01-25 (100+ days ahead) should be blocked with a 90-day message; the form offers \"Send request\"\nexpect(received).toMatchObject(expected)\n- Expected  - 1\n+ Received  + 1\n  Object {\n-   \"sendEnabled\": false,\n+   \"sendEnabled\": true,\n  }",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 2,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-091 · PTO more than 90 days ahead is refused",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:254",
          "outcome": "failed"
        },
        {
          "title": "SHR-091 · Bereavement Leave more than 90 days ahead is still accepted (exempt)",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:263",
          "outcome": "passed"
        },
        {
          "title": "SHR-091 · the form refuses leave dates more than 90 days ahead (PTO)",
          "file": "tests/feedback/leave/leave-rules.spec.ts:115",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-092",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Compensatory Off (Comp-Off) Eligibility: Comp-Off requests may be raised only for work performed on declared weekends or company holidays. Comp-Off cannot be applied for regular scheduled working days. All Comp-Off requests must be apporved by Reporting manager ->Department Head -> HR SPOC -> HR Head",
      "module": "Leave",
      "submodule": "Leave configuration",
      "expected": "comp-off for a regular working day is refused; comp-off requests go Reporting manager → Department head → HR SPOC → HR head",
      "actual": "comp-off for 2026-10-13 (a working day) was accepted: {\"id\":\"e56451c6-4a92-4ceb-9dc8-e1e718975797\",\"workflowInstanceId\":\"95cabf4c-44ef-4d4c-86fc-f7474c0ba36e\",\"units\":1,\"breakdown\":null,\"lop\":null,\"policy\":{\"id\":\"e\nexpect(received).toBeGreaterThanOrEqual(expected)\nExpected: >= 400\nReceived:    201\n\nComp-Off Request chain is mgr_compoff (manager_or_hr_partner)\nexpect(received).toHaveLength(expected)\nExpected length: 4\nReceived length: 1\nReceived array:  [\"mgr_compoff (manager_or_hr_partner)\"]",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-441"
      ],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-092 · comp-off for a regular working day is refused",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:274",
          "outcome": "failed"
        },
        {
          "title": "SHR-092 · comp-off requests go Reporting manager → Department head → HR SPOC → HR head",
          "file": "tests/feedback/leave/leave-rules.spec.ts:328",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-093",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Leave application for half day is not allowing us to specify First Half or Second Half for the day selected ; Please add the column to capture First Half or Second Half",
      "module": "Leave",
      "submodule": "Leave configuration",
      "expected": "a second-half leave is recorded as the second half; a half-day request lets the employee choose First half or Second half; the \"Just a half day\" switch turns on and the request becomes half a day",
      "actual": "the half the employee asked for\nexpect(received).toBe(expected) // Object.is equality\nExpected: \"second_half\"\nReceived: \"first_half\"\n\na First half / Second half choice on the form (only a \"Just a half day\" switch exists)\nexpect(received).toBeGreaterThan(expected)\nExpected: > 0\nReceived:   0\n\nthe switch stays on after it is clicked\nexpect(locator).toHaveAttribute(expected) failed\nLocator:  locator('#main-content').getByRole('switch')\nExpected: \"true\"\nReceived: \"false\"\nTimeout:  10000ms\n    24 × locator resolved to <button value=\"on\" type=\"button\" role=\"switch\" aria-checked=\"false\" aria-label=\"Half day\" data-state=\"unchecked\" class=\"inline-flex shrink-0 items-center rounded-full border border-transparent transition-colors bg-surface-3 data-[state=checked]:bg-brand aria-checked:bg-brand disabled:cursor-not-allowed disabled:opacity-50 h-5 w-9\">…</button>",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 3,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-093 · a second-half leave is recorded as the second half",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:310",
          "outcome": "failed"
        },
        {
          "title": "SHR-093 · a half-day request lets the employee choose First half or Second half",
          "file": "tests/feedback/leave/leave-rules.spec.ts:94",
          "outcome": "failed"
        },
        {
          "title": "SHR-093 · the \"Just a half day\" switch turns on and the request becomes half a day",
          "file": "tests/feedback/leave/leave-rules.spec.ts:103",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-094",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Issue: Attendance correction/regularization entries are currently not displayed with a color code, whereas color coding is available for all other attendance-related changes and statuses. Expected Behavior: Attendance correction/regularization requests should also be highlighted using appropriate color codes, similar to other attendance transactions. This will ensure consistency in the attendance view and help users easily identify and distinguish regularized attendance records from other attendance changes.",
      "module": "Leave",
      "submodule": "Leave",
      "expected": "a corrected (regularised) day is colour-coded and labelled as corrected",
      "actual": "the calendar legend has a colour for corrected / regularised days (it lists Present, WFH, Half day, Absent, Leave, Holiday, No record only)\nexpect(received).toMatch(expected)\nExpected pattern: /regulari[sz]ed|corrected/i\nReceived string:  \"My attendance·\nYour month at a glance — corrections take a minute if something looks off.·\nRequest a correction\nLeave\nAttendance\nOvertime & comp-off·\nThursday 15 October·",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-094 · a corrected (regularised) day is colour-coded and labelled as corrected",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:106",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-122",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Any special leave type like bereavement leave, examination leave, wedding leave, maternity, paternity leave, etc should not be displayed to the employee unless HR credits those leaves to them based on the request via a ticket. the leaves that employees usually see are PTOs & Floating Holidays and Service Leaves (if eligible)",
      "module": "Leave",
      "submodule": "Leave Display",
      "expected": "special leave types with no credited balance are hidden from the employee; a special leave HR has credited is offered to the employee",
      "actual": "special leave types offered with 0 balance (should appear only once HR credits them)\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 6\n- Array []\n+ Array [\n+   \"Bereavement Leave\",\n+   \"Examination Leave\",\n+   \"Paternity Leave\",\n+   \"Wedding Leave\",",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-122 · special leave types with no credited balance are hidden from the employee",
          "file": "tests/feedback/leave/leave-rules.spec.ts:152",
          "outcome": "failed"
        },
        {
          "title": "SHR-122 · a special leave HR has credited is offered to the employee",
          "file": "tests/feedback/leave/leave-rules.spec.ts:160",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-046",
      "kind": "fb-open",
      "status": "Open — confirmed (2 of 4 checks fail)",
      "description": "Maternity leave calculation is excluding holidays currently however only for this particular leave type calculation should be 182 days from the date of leave",
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "expected": "Restrcit Maternity Leave by gender. Auto-calculate it to 182 continuious days and not 182 business days - and this paid leave includes weekends. Do not exclude counting holidays and weekends.",
      "actual": "male employees holding maternity leave\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 4\n- Array []\n+ Array [\n+   \"Aarav Krishnamurthy.: Maternity 182 days\",\n+   \"Test Interviewer Two: Maternity 182 days\",\n+ ]\n\nTo date auto-filled as 2027-06-20 (the form leaves \"Pick a date\")\nexpect(locator).toBeVisible() failed\nLocator: locator('#main-content').getByText(/^20 \\w{3} 2027$/)\nExpected: visible\nTimeout: 10000ms\nError: element(s) not found",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-440"
      ],
      "coverage": {
        "total": 4,
        "failed": 2,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-046 · a male employee is not offered Maternity Leave",
          "file": "tests/feedback/leave/leave-rules.spec.ts:169",
          "outcome": "passed"
        },
        {
          "title": "SHR-046 · no male employee holds a Maternity Leave balance",
          "file": "tests/feedback/leave/leave-rules.spec.ts:175",
          "outcome": "failed"
        },
        {
          "title": "SHR-046 · maternity leave is counted as 182 continuous calendar days, weekends and holidays included",
          "file": "tests/feedback/leave/leave-rules.spec.ts:197",
          "outcome": "passed"
        },
        {
          "title": "SHR-046 · picking Maternity Leave and a start date fills the end date 182 days later",
          "file": "tests/feedback/leave/leave-rules.spec.ts:207",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-047",
      "kind": "fb-open",
      "status": "Open — confirmed (2 of 3 checks fail)",
      "description": "Mat leave configuration and approval workflow is pending",
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "expected": "No notification triggered for Approvers. - Once employee applies for leave, approval needs to be triggered and displayed on all approvers' home page. Approvers list should be - Reporting Manager, Department Head(if leave duration exceeds 3 days). Leave Requested rejected from HR Account but request still shows pending for employee, allowing 5 other approvers to override HR rejection",
      "actual": "first approval step (14 people got a task)\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 1\n  Array [\n-   \"mgr_approval\",\n+   \"hr_approval\",\n  ]\n\napproval chain of Maternity Leave Approval\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 2\n+ Received  + 1\n  Array [\n-   StringMatching /^mgr.*\\(manager/,\n-   StringMatching /dept_head|department_head/,\n+   \"hr_approval (hr_partner)\",\n  ]",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-442"
      ],
      "coverage": {
        "total": 3,
        "failed": 2,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-047 · a maternity request reaches the reporting manager first, then the department head",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:184",
          "outcome": "failed"
        },
        {
          "title": "SHR-047 · when HR rejects a maternity request it ends rejected for the employee and nobody else can approve it",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:197",
          "outcome": "passed"
        },
        {
          "title": "SHR-047 · maternity leave goes to the reporting manager, then the department head",
          "file": "tests/feedback/leave/leave-rules.spec.ts:219",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-084",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "This location is named California but the address is that of Bangalore.",
      "module": "Organization",
      "submodule": "Locations",
      "expected": "no location sits in one geography with an address in another @pr; the platform refuses a California location whose address is in Bangalore @journey",
      "actual": "locations whose address is in another country than their jurisdiction\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 3\n- Array []\n+ Array [\n+   \"\\\"Los Angeles\\\" (California, America/Los_Angeles) has its address in Bangalore\",\n+ ]\n\na California office with a Bangalore address is refused — the API answered 201\nexpect(received).toBe(expected) // Object.is equality\nExpected: 400\nReceived: 201",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-084 · no location sits in one geography with an address in another @pr",
          "file": "tests/feedback/organization/organization.spec.ts:125",
          "outcome": "failed"
        },
        {
          "title": "SHR-084 · the platform refuses a California location whose address is in Bangalore @journey",
          "file": "tests/feedback/organization/organization.spec.ts:133",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-088",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Jurisdiction and Location aren't mapped",
      "module": "Organization",
      "submodule": "New EMployee",
      "expected": "Jurisdiction and Location should have validation checks. Employees whose jurisdiction is California cannot have location mapped in Hyderabad.",
      "actual": "California + Hyderabad HQ is refused — instead the form sent it and the server accepted every field (it only refused the employee number the test swapped in, so nothing was saved)\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-088 · an employee in California cannot be placed at a location in Telangana",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:103",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-089",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Employee Name and Personal Email ID is being accepted under Emergency Contact Name and Official Email IDs respectively",
      "module": "Organization",
      "submodule": "New EMployee",
      "expected": "Employee Name cannot be the same as Emergency Contact Person's Name Personal Email ID cannot be mapped as Official Email IDs. All fields in New Employee Creation should have unique values because there is no scenario that should take duplicate values",
      "actual": "\"FB Test Hire Abdbdj\" as both employee and emergency contact is refused — instead the form sent it and the server accepted every field (it only refused the employee number the test swapped in, so nothing was saved)\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false\n\none address as both work and personal email is refused — instead the form sent it and the server accepted every field (it only refused the employee number the test swapped in, so nothing was saved)\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-089 · the emergency contact cannot have the employee's own name",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:115",
          "outcome": "failed"
        },
        {
          "title": "SHR-089 · the personal email cannot be the same as the official (work) email",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:126",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-119",
      "kind": "fb-open",
      "status": "Open — confirmed (3 of 4 checks fail)",
      "description": "Need filter option for Hired date/date of joining and the entity name in the Organisation ->Employee tab",
      "module": "Organization",
      "submodule": "Organisations->Employees",
      "expected": "We expect the employees table has the Joined date and Entity name/Organisation name for easy filter and display and a download option of that table is a perfect combo",
      "actual": "a joining/hire date filter next to: Filter by department, Filter by position, Filter by location, Filter by status\nexpect(received).toBeGreaterThan(expected)\nExpected: > 0\nReceived:   0\n\nan Entity / Organisation column among: COLUMNS, 10, Type, Manager, Status, Sign-in, Department, Position, Location, Jurisdiction, Joined, Reset columns, SAVED VIEWS, 1\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false\n\nan Export / Download control for the table (Options offers: COLUMNS | 10 | SAVED VIEWS | 1)\nexpect(received).toBeGreaterThan(expected)\nExpected: > 0\nReceived:   0",
      "links": [],
      "coverage": {
        "total": 4,
        "failed": 3,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-119 · the Employees table can show the joining date",
          "file": "tests/feedback/organization/organization.spec.ts:160",
          "outcome": "passed"
        },
        {
          "title": "SHR-119 · the Employees table can be filtered by joining date",
          "file": "tests/feedback/organization/organization.spec.ts:167",
          "outcome": "failed"
        },
        {
          "title": "SHR-119 · the Employees table shows and filters by entity (organisation) name",
          "file": "tests/feedback/organization/organization.spec.ts:178",
          "outcome": "failed"
        },
        {
          "title": "SHR-119 · the Employees table can be downloaded",
          "file": "tests/feedback/organization/organization.spec.ts:188",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-109",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Exit is showing up in Announcements",
      "module": "Policies & Announcements",
      "submodule": "To read",
      "expected": "When an employee resigns, it shouldn't show up in announcements. In case it is a group-restricted announcement, it would be best routed to Inbox",
      "actual": "QA Admin’s Announcements page shows no \"last day with the team\" post\nexpect(received).toBe(expected) // Object.is equality\nExpected: 0\nReceived: 2\nError: no exit is announced in the feed (route it to the Inbox of the group instead)\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 4\n- Array []\n+ Array [",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-219"
      ],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-109 · a resignation or exit is not posted in Announcements",
          "file": "tests/feedback/exit/exit-forms.spec.ts:145",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-118",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Celebrations is not showing Service anniversary and Birthday wishes",
      "module": "Policies & Announcements",
      "submodule": "Home -> Celebrations",
      "expected": "We expect the service anniversary, Birthday notifications are displayed in the employees login on the home page and the email should be gone to the entity group id for the employees belong to entity",
      "actual": "admin: Celebrations reads \"Celebrations / Quiet week / Work anniversaries show up here a week ahead.\" — birthdays are not part of it\nexpect(received).toMatch(expected)\nExpected pattern: /birthday/i\nReceived string:  \"Celebrations / Quiet week / Work anniversaries show up here a week ahead.\"",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 1,
        "passed": 1,
        "skipped": 1
      },
      "tests": [
        {
          "title": "SHR-118 · employees see birthdays and service anniversaries on their Home",
          "file": "tests/feedback/general/general.spec.ts:77",
          "outcome": "passed"
        },
        {
          "title": "SHR-118 · the Home Celebrations card of HR and managers includes birthdays, not only work anniversaries",
          "file": "tests/feedback/general/general.spec.ts:88",
          "outcome": "failed"
        },
        {
          "title": "SHR-118 · a colleague’s birthday or service anniversary in the coming week is shown",
          "file": "tests/feedback/general/general.spec.ts:99",
          "outcome": "skipped"
        }
      ]
    },
    {
      "issue": "SHR-025",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "When we receive a notification stating offer is released the subject line says \"Offer released: offer released\" it is recommended that we have it as \"Offer released for [candidate name for the Designation at Xyz org]",
      "module": "Recruitment",
      "submodule": "Offer Release notification",
      "expected": "the \"offer released\" mail reads \"Offer released for <candidate> for <designation> at <company>\"",
      "actual": "the internal offer-released subject starts \"Offer released for\" (it is \"{{ candidate.full_name }} has accepted the offer for {{ job_post.title }}\")\nexpect(received).toMatch(expected)\nExpected pattern: /^Offer released for /i\nReceived string:  \"{{ candidate.full_name }} has accepted the offer for {{ job_post.title }}\"\nError: it names the company\nexpect(received).toMatch(expected)\nExpected pattern: /company\\.(legal_)?name/\nReceived string:  \"{{ candidate.full_name }} has accepted the offer for {{ job_post.title }}\"",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-025 · the \"offer released\" mail reads \"Offer released for <candidate> for <designation> at <company>\"",
          "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:74",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-049",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "When we select a Position, the Department is automatically populated. However, under the Hiring Manager field, all employees are currently displayed. The Hiring Manager dropdown should display only the employees belonging to the selected Department, instead of showing all employees.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the hiring manager list shows only people of the position’s department; the server refuses a hiring manager from another department",
      "actual": "a Delivery requisition with Aarav Krishnamurthy. (Executive Office) as hiring manager is refused (got 201)\nexpect(received).toBe(expected) // Object.is equality\nExpected: 400\nReceived: 201",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-049 · the hiring manager list shows only people of the position’s department",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:65",
          "outcome": "passed"
        },
        {
          "title": "SHR-049 · the server refuses a hiring manager from another department",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:157",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-059",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Once a candidate is selected and moved to the Offer stage, the offer approval should be triggered to the HR Head, irrespective of the department or entity.",
      "module": "Recruitment",
      "submodule": "Offer Approval",
      "expected": "the approval goes to the HR Head (the role is in Delivery); the offer approval goes to the HR Head, whatever the department",
      "actual": "OFR-2026-0083 · FB Test Pipeline 1015064007 · joining Tuesday 1 December waits on QA Manager, routed by role HR Head\nexpect(received).toMatch(expected)\nExpected pattern: /hr-head/\nReceived string:  \"relationship:requisition_hiring_manager\"\nError: OFR-2026-0082 · FB Test Pipeline 1015053155 · joining Tuesday 1 December waits on QA Manager, routed by role HR Head\nexpect(received).toMatch(expected)\nExpected pattern: /hr-head/\nReceived string:  \"relationship:requisition_hiring_manager\"\nError: OFR-2026-0081 · FB Test Pipeline 1015034909 · joining Tuesday 1 December waits on QA Manager, routed by role HR Head\nexpect(received).toMatch(expected)",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-243"
      ],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-059 · the approval goes to the HR Head (the role is in Delivery)",
          "file": "tests/feedback/recruitment-offer/offer-journey.spec.ts:57",
          "outcome": "passed"
        },
        {
          "title": "SHR-059 · the offer approval goes to the HR Head, whatever the department",
          "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:14",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-060",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "The Offer Approval notification does not provide clear information about the candidate’s role, department, entity, CTC, and date of joining. Ideally, the notification should include these details to provide the approver with complete information about the candidate and offer.",
      "module": "Recruitment",
      "submodule": "Offer Approval",
      "expected": "the HR Head's approval panel shows role, department, entity, CTC and date of joining; the offer approval shows role, department, entity, CTC and date of joining",
      "actual": "the approval panel shows the department\nexpect(received).toMatch(expected)\nExpected pattern: /Delivery/\nReceived string:  \"Fbtest Candidate ahegfe·\nOffer approval·\nCANDIDATE\nFbtest Candidate ahegfe\nREQUEST\nFbtest Candidate ahegfe\nDETAILS\n\nthe approval item \"Fbtest Candidate ahegfe · OFR-2026-0084 · FB Test Pipeline 1015074654 · joining Tuesday 1 December\" names the department\nexpect(received).toMatch(expected)\nExpected pattern: /Delivery/i\nReceived string:  \"Fbtest Candidate ahegfe · OFR-2026-0084 ·  · joining Tuesday 1 December\"\nError: the approval item \"Fbtest Candidate ahegfe · OFR-2026-0084 · FB Test Pipeline 1015074654 · joining Tuesday 1 December\" names the entity (OpsMaven Services Pvt. Ltd.)\nexpect(received).toMatch(expected)\nExpected pattern: /OpsMaven Services|Ops Maven/i\nReceived string:  \"Fbtest Candidate ahegfe · OFR-2026-0084 · FB Test Pipeline 1015074654 · joining Tuesday 1 December\"\nError: the approval item \"Fbtest Candidate ahegfe · OFR-2026-0084 · FB Test Pipeline 1015074654 · joining Tuesday 1 December\" names the CTC\nexpect(received).toMatch(expected)",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-078"
      ],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-060 · the HR Head's approval panel shows role, department, entity, CTC and date of joining",
          "file": "tests/feedback/recruitment-offer/offer-journey.spec.ts:70",
          "outcome": "failed"
        },
        {
          "title": "SHR-060 · the offer approval shows role, department, entity, CTC and date of joining",
          "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:39",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-072",
      "kind": "fb-open",
      "status": "Open — confirmed (2 of 3 checks fail)",
      "description": "When the Department Head sends a requisition back to the Hiring Manager with requested changes, the Hiring Manager should be able to view the comments/reason provided by the Department Head. Currently, the requisition appears as “Draft” in the Hiring Manager’s login, which does not indicate that it has been returned for changes. The status should clearly reflect that the requisition is pending changes/action, along with the Department Head’s comments, so the Hiring Manager can make the required updates accordingly.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "a requisition sent back shows \"Changes requested\" and the approver’s comment to the hiring manager; the approval progress of a sent-back requisition does not claim it was approved; the hiring manager is told who sent it back",
      "actual": "the progress block reads: \"Raised Approved Oct 15, 2026 Approval chain Approved Open for sourcing Queued No approval workflow is set up for this yet.\"\nexpect(received).not.toMatch(expected)\nExpected pattern: not /\\bApproved\\b/\nReceived string:      \"Raised\nApproved\nOct 15, 2026\nApproval chain\nApproved\nOpen for sourcing\nQueued\n\nexactly one notification per return (got: recruitment.requisition.returned | Changes requested: REQ-2026-0190 — FB Test Req 10150156 | The department head sent the requisition back with: \"FB test: please make it two openings\". Make the changes on the requisition and resubmit it. || recruitment.requisition.returned | FB Test Req 10150156 came back with questions | The requisition for FB Test Req 10150156 was returned rather than approved. Please answer the points on it and resubmit; nothing moves until you do.)\nexpect(received).toBe(expected) // Object.is equality\nExpected: 1\nReceived: 2",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 2,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-072 · a requisition sent back shows \"Changes requested\" and the approver’s comment to the hiring manager",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:250",
          "outcome": "passed"
        },
        {
          "title": "SHR-072 · the approval progress of a sent-back requisition does not claim it was approved",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:260",
          "outcome": "failed"
        },
        {
          "title": "SHR-072 · the hiring manager is told who sent it back",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:269",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-073",
      "kind": "fb-open",
      "status": "Open — confirmed (2 of 3 checks fail)",
      "description": "Once a requisition is approved by the Department Head, the HR Head, respective Hiring Manager, and all Recruiters should receive a notification, irrespective of the department or entity associated with the requisition. Currently, these users do not receive a notification after the requisition is approved by the Department Head.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the hiring manager and the HR Head are told when the department head approves; the recruiters are told when the department head approves; once approved, the HR Head, hiring manager and recruiters are all told",
      "actual": "the recruiter (hrm) got any notice about REQ-2026-0190 after the department head approved\nexpect(received).toBeGreaterThan(expected)\nExpected: > 0\nReceived:   0\n\nhrh got \"requisition approved\" (has: workflow.approval_request, recruitment.requisition.dept_head_approved, workflow.approval_request, recruitment.requisition.dept_head_approved)\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 2,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-073 · the hiring manager and the HR Head are told when the department head approves",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:307",
          "outcome": "passed"
        },
        {
          "title": "SHR-073 · the recruiters are told when the department head approves",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:315",
          "outcome": "failed"
        },
        {
          "title": "SHR-073 · once approved, the HR Head, hiring manager and recruiters are all told",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:322",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-074",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Once all required approvals are completed, the Hiring Manager should receive a notification and should be able to view the approved requisition and approval details under the Recruitment tab.After approval, the Hiring Manager’s involvement should be limited to reviewing profiles submitted by the Recruiter, reviewing and submitting interview feedback, and viewing the recruitment pipeline for the position, including profiles submitted, interviews scheduled/completed, and the current status of candidates. Activities such as posting the job on the Careers page and managing the interview sequence should be handled by the Recruiter and should not be visible/actionable to the Hiring Manager.Currently, the Hiring Manager is able to view these additional recruitment activities. These should be restricted based on the respective user roles.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "after approval the hiring manager is notified and sees the approval details on the requisition; the hiring manager cannot post the job or run sourcing; that is the recruiter’s job",
      "actual": "hiring manager's buttons: Post this role, Tweak items, Start sourcing\nexpect(received).not.toContain(expected) // indexOf\nExpected value: not \"Post this role\"\nReceived array:     [\"Post this role\", \"Tweak items\", \"Start sourcing\"]",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-074 · after approval the hiring manager is notified and sees the approval details on the requisition",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:338",
          "outcome": "passed"
        },
        {
          "title": "SHR-074 · the hiring manager cannot post the job or run sourcing; that is the recruiter’s job",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:348",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-076",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Please remove the Pre-Onboarding Checklist from the current recruitment workflow, as the checklist will be standard for all employees based on their geographic location. The checklist will vary by geography (India, US, Australia), but will remain the same for all employees within each respective geography. The HR Operations team will manage the applicable checklist based on the employee’s geography, so this does not need to be part of the recruitment process.",
      "module": "Recruitment",
      "submodule": "Job Posting",
      "expected": "recruitment has no pre-onboarding checklist (HR Operations owns it per geography)",
      "actual": "the post form asks for no pre-onboarding checklist\nexpect(locator).toHaveCount(expected) failed\nLocator:  getByRole('dialog').filter({ hasText: 'Posts hang off an approved requisition' }).getByText('Pre-onboarding checklist', { exact: true })\nExpected: 0\nReceived: 1\nTimeout:  30000ms\n    63 × locator resolved to 1 element\nError: Recruitment has no Pre-onboarding tab\nexpect(locator).toHaveCount(expected) failed\nLocator:  locator('#main-content').getByRole('link', { name: 'Pre-onboarding', exact: true }).or(locator('#main-content').getByRole('tab', { name: 'Pre-onboarding' }))",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-076 · recruitment has no pre-onboarding checklist (HR Operations owns it per geography)",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:120",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-078",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "When sending interview panel slots, the interview time should be displayed in the appropriate local time zone based on the geography. Currently, the interview slot time is being displayed in UTC. For India, the time should be displayed in IST, and for other geographies, it should reflect the respective local time zone. The system should automatically display the interview slot in the relevant time zone based on the applicable geography.",
      "module": "Recruitment",
      "submodule": "Interview",
      "expected": "the latest interview reminder email gives the interview time in IST, not UTC",
      "actual": "\"Your interview for FB Test Pipeline 1015073354 is tomorrow\" (2026-10-15T02:05:23.384Z) for an interview at 2026-10-15 02:08:00+00 (= 7:38 am IST) should state 7:38 am; it says: Dear Fbtest Candidate ahddfe,\nA reminder that your FB T1 round interview for FB Test Pipeline 1015073354 with OpsMaven Services Pvt. Ltd. is tomorrow at 15 Oct 2026, 2:08 am, at the place confirmed with you.\nPlease keep an identity document and a copy of you\nexpect(received).toMatch(expected)\nExpected pattern: /7:38\\s*am/i\nReceived string:  \"Dear Fbtest Candidate ahddfe,·\nA reminder that your FB T1 round interview for FB Test Pipeline 1015073354 with OpsMaven Services Pvt. Ltd. is tomorrow at 15 Oct 2026, 2:08 am, at the place confirmed with you.·\nPlease keep an identity document and a copy of your resume to hand.·\nIf anything has changed, reply to this email or write to qa.hrmanager@opsmaven.test today.\"",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-078 · the latest interview reminder email gives the interview time in IST, not UTC",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:71",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-079",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Currently, the HRMS platform is sending meeting invitations to both the candidate and the interviewer. Could you please confirm whether the interview meeting can be conducted through any meeting platform of our choice, such as Microsoft Teams or Google Meet, or whether the HRMS is integrated with a specific meeting platform? Also, please confirm whether both the candidate and interviewer will receive a reminder notification 15 minutes before the scheduled interview.",
      "module": "Recruitment",
      "submodule": "Interview",
      "expected": "the interview can carry a meeting link of our choice (Teams, Google Meet); candidate and interviewer get a reminder 15 minutes before the interview",
      "actual": "the Schedule dialog has a field for the meeting link (it offers only Mode: Video / Onsite / Phone; the API accepts \"locationOrLink\" but the form never sends it)\nexpect(locator).toBeVisible() failed\nLocator: getByRole('dialog', { name: /Schedule an interview/ }).getByLabel(/meeting link|location or link|join link|video link/i)\nExpected: visible\nTimeout: 5000ms\nError: element(s) not found\n\na reminder fires 15 minutes before the interview. Configured: \"Sent by the scheduler within 24 hours of the interview.\" (candidate); interview-round timers [{\"unit\":\"calendarDays\",\"anchor\":\"interviewDate\",\"offset\":-1}] (the day before, to the candidate only)\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-079 · the interview can carry a meeting link of our choice (Teams, Google Meet)",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:182",
          "outcome": "failed"
        },
        {
          "title": "SHR-079 · candidate and interviewer get a reminder 15 minutes before the interview",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:193",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-081",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "The interviewer is currently receiving the interview notification in the Inbox, but the notification is not clickable. The notification should be clickable and should take the interviewer directly to the relevant interview details/feedback section, so that once the interview is completed, the interviewer can submit their feedback accordingly.",
      "module": "Recruitment",
      "submodule": "Interview",
      "expected": "the interviewer's notification opens the interview to give feedback; the interviewer's notification opens the interview and its feedback form",
      "actual": "the link opens \"FB T2 round (too early)\" for Fbtest Candidate ahddfe (it lands on the plain Approvals inbox and drops ?interview=; now at https://qa.satellitehr.com/company/82628593-49b6-4dad-ad2a-6b9472ab44fc/inbox)\nexpect(locator).toBeVisible() failed\nLocator: getByText('FB T2 round (too early)', { exact: true }).first()\nExpected: visible\nTimeout: 10000ms\nError: element(s) not found",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-081 · the interviewer's notification opens the interview to give feedback",
          "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:68",
          "outcome": "passed"
        },
        {
          "title": "SHR-081 · the interviewer's notification opens the interview and its feedback form",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:249",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-097",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Currently, the interviewer can access the scorecard and submit interview feedback only after the recruiter updates the interview status to “Happened.” The interviewer should be able to access the scorecard and submit feedback once the interview has been scheduled and completed, without depending on the recruiter to update the status manually.",
      "module": "Recruitment",
      "submodule": "Interview",
      "expected": "panelists submit their scorecards once the interview has started, with no \"Happened\" step; the panelist (here also the hiring manager) finds the candidate in Recruitment to open the scorecard",
      "actual": "QA Manager chairs the FB T1 round and is the requisition's hiring manager, but Recruitment → Pipeline shows \"0 candidates\"\nexpect(locator).toBeVisible() failed\nLocator: locator('#main-content').getByRole('button', { name: /^Fbtest Candidate ahddfe — open details/ }).first()\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-097 · panelists submit their scorecards once the interview has started, with no \"Happened\" step",
          "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:89",
          "outcome": "passed"
        },
        {
          "title": "SHR-097 · the panelist (here also the hiring manager) finds the candidate in Recruitment to open the scorecard",
          "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:95",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-100",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Clarification required on the requisition approval workflow, as the current process shows that once the Department Head approves the requisition, it is triggered to Vikram, followed by Arav and then the HR Head",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "a raised requisition shows its whole approval chain, in order, with the people at each step; the raise form tells the requester every step the request will go through",
      "actual": "the form's \"where it goes\" line names /management|executive/i (it says: \"Goes to the department head, then HR.\")\nexpect(received).toMatch(expected)\nExpected pattern: /management|executive/i\nReceived string:  \"Goes to the department head, then HR.\"",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-100 · a raised requisition shows its whole approval chain, in order, with the people at each step",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:294",
          "outcome": "passed"
        },
        {
          "title": "SHR-100 · the raise form tells the requester every step the request will go through",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:141",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-104",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "When a Recruiter raises a requisition on behalf of the Hiring Manager, based on approvals received via email, the requisition should be routed directly to the HR Head as the sole approver, bypassing the standard approval workflow",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "a requisition the recruiter raises on the hiring manager’s behalf goes to the HR Head only",
      "actual": "REQ-2026-0192, raised by the recruiter, is routed: Department Head endorses the headcount (current: Test Department Head) → Management approves the hire (pending: Vikram Raghavan, Aarav Krishnamurthy.) → HR Head approves the requisition (pending: Test HR Head, QA HR Head, Raju Rastogi, Kavya Raghunathan)\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 0\n+ Received  + 2\n  Array [\n+   \"approval_department_head\",\n+   \"approval_management\",\n    \"approval_hr_head\",\n  ]",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-104 · a requisition the recruiter raises on the hiring manager’s behalf goes to the HR Head only",
          "file": "tests/feedback/recruitment-requisition/routing.spec.ts:8",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-110",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "Currently, once a candidate profile is uploaded to the Talent Pool, there is no option to move or link the candidate to an existing requisition. An option is required to move candidates from the Talent Pool to the relevant requisition for further processing.",
      "module": "Recruitment",
      "submodule": "Talent Pool",
      "expected": "a talent-pool candidate can be moved to an open requisition",
      "actual": "expect(locator).toBeVisible() failed\nLocator: locator('#main-content').getByText(/candidates? mentions?/)\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-110 · a talent-pool candidate can be moved to an open requisition",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:310",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-111",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "The system extracts and displays details from the Job Description (JD) uploaded by the Hiring Manager during requisition creation, but the format and layout of the extracted content are incorrect.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "an uploaded JD keeps its layout: headings, lists and bold come through as formatting, never as raw tags",
      "actual": "the JD title shows as a heading, not as the literal text \"<h1>Delivery Manager</h1>\"\nexpect(locator).not.toContainText(expected) failed\nLocator: getByRole('dialog').filter({ hasText: 'Raise a requisition' }).last().locator('[contenteditable=true]').first()\nExpected substring: not \"<h1>\"\nReceived string: \"<h1>Delivery Manager</h1>We are looking for a Delivery Manager to run two client accounts.ResponsibilitiesOwn delivery plans and timelinesRun weekly client reviewsCoach a team of eight engineersRequirementsEight years of software deliveryStrong stakeholder managementLocation: Hyderabad HQ\"\nTimeout: 30000ms\n    63 × locator resolved to <div tabindex=\"0\" translate=\"no\" contenteditable=\"true\" aria-label=\"Job description\" class=\"tiptap ProseMirror min-h-32 px-3 py-2 text-sm text-ink focus:outline-none [&_h2]:mt-3 [&_h2]:text-base [&_h2]:font-semibold [&_h3]:mt-2 [&_h3]:text-sm [&_h3]:font-semibold [&_h4]:mt-2 [&_h4]:text-sm [&_h4]:font-medium [&_p]:my-1 [&_ul]:my-1 [&_ul]:list-disc [&_ul]:pl-5 [&_ol]:my-1 [&_ol]:list-decimal [&_ol]:pl-5 [&_a]:underline\">…</div>",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-111 · an uploaded JD keeps its layout: headings, lists and bold come through as formatting, never as raw tags",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:25",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-112",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "The system should prevent scheduling the next interview round until the previous interviewer has submitted their feedback.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the next round can't be scheduled before the previous round's feedback is in",
      "actual": "scheduling T2 while T1 feedback is pending: {\"id\":\"58d6f79f-858c-418e-a769-0e0c9f938035\",\"conflicts\":[]}\nexpect(received).toBe(expected) // Object.is equality\nExpected: 409\nReceived: 201",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-112 · the next round can't be scheduled before the previous round's feedback is in",
          "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:82",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-113",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "The system should automatically send an email reminder to the respective interviewer if interview feedback is not submitted within 24 hours of the interview.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the interviewer is reminded when interview feedback is not in; the feedback reminder reaches the interviewer by email within 24 hours of the interview",
      "actual": "the reminder \"ta_feedback_due\" is a notification template (\"Your feedback on {{ candidate.full_name }} is due today\"), and the email channel of \"Scorecard pending\" is off for an interviewer (QA Manager), so no email goes out\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-113 · the interviewer is reminded when interview feedback is not in",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:288",
          "outcome": "passed"
        },
        {
          "title": "SHR-113 · the feedback reminder reaches the interviewer by email within 24 hours of the interview",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:296",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-114",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "A candidate is interviewed for Role A, and after all interview rounds, the panel decides that the candidate is better suited for Role B. The Recruiter should be able to transfer the candidate to Role B, whether it is an existing vacancy or a newly created position, without starting the candidate's profile from scratch.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "a candidate can be transferred to another role without starting over",
      "actual": "TimeoutError: locator.waitFor: Timeout 90000ms exceeded.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-114 · a candidate can be transferred to another role without starting over",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:322",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-115",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "After uploading a resume, the system automatically extracts candidate details. However, due to variations in resume formats, some information may be extracted incorrectly. Currently, an option is required to review and edit the extracted details before saving the candidate profile.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "parsed résumé details can be reviewed and corrected before the candidate is saved",
      "actual": "the first Import click shows the extracted name, email and phone for review instead of saving the candidate straight away\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 3\n- Array []\n+ Array [\n+   \"POST /api/company/talent/recruitment/candidates/bulk-import\",\n+ ]",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-115 · parsed résumé details can be reviewed and corrected before the candidate is saved",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:334",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-116",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "When Approver 2 requests changes to a requisition, it is returned to the Hiring Manager for modification. Once the Hiring Manager resubmits the revised requisition, it should be routed directly to Approver 2, who requested the changes, rather than going back to Approver 1.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "after changes are asked for, the resubmitted requisition goes straight back to the approver who asked",
      "actual": "the HR Head asked for the changes; the resubmitted run is with: approval_department_head\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 1\n  Array [\n-   \"approval_hr_head\",\n+   \"approval_department_head\",\n  ]",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 1,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-116 · after changes are asked for, the resubmitted requisition goes straight back to the approver who asked",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:286",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-117",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "When the Hiring Manager requests to close a requisition or modify the required headcount (e.g., reducing the requirement from two positions to one), the system should trigger the same approval workflow, hierarchy, and sequence as followed during the initial requisition approval process.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "reducing the headcount of an approved requisition goes through the approval chain again; a hiring manager’s request to close a requisition goes through the approval chain",
      "actual": "2 → 1 openings: hiring manager PATCH 403 {\"code\":\"REQUISITION_NOT_EDITABLE\",\"message\":\"An approved requisition is edited by HR or the Super Admin\",\"requestId\":\"f809cd23-46db-4fe9-92d9-67cfa1db5f29\"}; HR PATCH 200 {\"id\":\"1dc6c83d-e9e1-4c0d-88ca-ab08c856936f\"}; afterwards status \"approved\", openings 1, new approval runs: 0\nexpect(received).toBe(expected) // Object.is equality\nExpected: true\nReceived: false\n\nClose requisition by the hiring manager → 200 {\"id\":\"1dc6c83d-e9e1-4c0d-88ca-ab08c856936f\",\"status\":\"closed\"}; status \"closed\", approval runs started: 0\nexpect(received).toBe(expected) // Object.is equality\nExpected: false\nReceived: true",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-117 · reducing the headcount of an approved requisition goes through the approval chain again",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:376",
          "outcome": "failed"
        },
        {
          "title": "SHR-117 · a hiring manager’s request to close a requisition goes through the approval chain",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:385",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-120",
      "kind": "fb-open",
      "status": "Open — confirmed (1 of 2 checks fail)",
      "description": "Once the Recruiter submits an offer for approval, the HR Head should receive an approval request in their inbox. Currently, the approval request is not appearing in the HR Head’s inbox,",
      "module": "Recruitment",
      "submodule": "Offer",
      "expected": "QA HR Head finds the offer approval in the Inbox; offers waiting for approval are in the HR Head's inbox",
      "actual": "every offer waiting for approval is in QA HR Head's inbox\nexpect(received).toEqual(expected) // deep equality\n- Expected  - 1\n+ Received  + 9\n- Array []\n+ Array [\n+   \"OFR-2026-0083 · FB Test Pipeline 1015064007 · joining Tuesday 1 December (waiting on QA Manager)\",\n+   \"OFR-2026-0082 · FB Test Pipeline 1015053155 · joining Tuesday 1 December (waiting on QA Manager)\",\n+   \"OFR-2026-0081 · FB Test Pipeline 1015034909 · joining Tuesday 1 December (waiting on QA Manager)\",\n+   \"OFR-2026-0079 · Delivery Manager · joining Monday 26 October (waiting on Test Hiring Manager)\",",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 1,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-120 · QA HR Head finds the offer approval in the Inbox",
          "file": "tests/feedback/recruitment-offer/offer-journey.spec.ts:64",
          "outcome": "passed"
        },
        {
          "title": "SHR-120 · offers waiting for approval are in the HR Head's inbox",
          "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:29",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-126",
      "kind": "fb-open",
      "status": "Open — confirmed",
      "description": "The Recruiter or any user with the appropriate access permissions should be able to view the complete interview feedback, including ratings, questionnaire responses, recommendations, and overall feedback comments.",
      "module": "Recruitment",
      "submodule": "Interview feedback",
      "expected": "the recruiter reads each panelist's comments and written answers on the profile; the recruiter sees the full feedback: ratings, written answers, recommendation and comments",
      "actual": "QA Manager's comments are visible\nexpect(locator).toBeVisible() failed\nLocator: getByRole('dialog').filter({ hasText: 'INTERVIEWS' }).last().getByText('FB test overall comment by mgr').first()\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nQA Manager's written answer to \"How did you find their body language?\" (\"FB test answer to: How did you find their body language?\") on Fbtest Candidate ahddfe (FB T1 round) is shown. The interviews section shows only: INTERVIEWS / Schedule / T1 / FB T2 round (too early) / scheduled / Reschedule / Cancel interview / Oct 16, 2026, 7:36 AM / Panel: / QA Manager (chair) / Awaiting / T1 / FB T1 round / completed / Oct 15, 2026, 7:38 AM / Panel: / QA Manager (chair) / Submitted / Advance · 4/5 / QA Department Head / Submitted / Advance · 4/5\nexpect(received).toContain(expected) // indexOf\nExpected value: \"FB test answer to: How did you find their body language?\"\nReceived array: [\"INTERVIEWS\", \"\", \"Schedule\", \"T1\", \"FB T2 round (too early)\", \"scheduled\", \"Reschedule\", \"Cancel interview\", \"Oct 16, 2026, 7:36 AM\", \"\", …]\nError: the overall comments \"FB test overall comment by mgr\" are shown\nexpect(received).toContain(expected) // indexOf\nExpected value: \"FB test overall comment by mgr\"\nReceived array: [\"INTERVIEWS\", \"\", \"Schedule\", \"T1\", \"FB T2 round (too early)\", \"scheduled\", \"Reschedule\", \"Cancel interview\", \"Oct 16, 2026, 7:36 AM\", \"\", …]",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 2,
        "passed": 0,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-126 · the recruiter reads each panelist's comments and written answers on the profile",
          "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:114",
          "outcome": "failed"
        },
        {
          "title": "SHR-126 · the recruiter sees the full feedback: ratings, written answers, recommendation and comments",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:259",
          "outcome": "failed"
        }
      ]
    },
    {
      "issue": "SHR-042",
      "kind": "unverified",
      "status": "Not verified this run",
      "description": "Candidate form doesnt have submit option or an acknowledgment that the documents are submitted",
      "module": "Documents",
      "submodule": "Joining documents",
      "expected": "Need both the submit option and acknowledgment message to Candidate. It should allow candidate to submit the documents incase if they have missed any fields.",
      "actual": "Not checked in this run: needs a candidate upload link (E2E_PREBOARDING_LINK): the link is only emailed to the candidate.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 0,
        "skipped": 1
      },
      "tests": [
        {
          "title": "SHR-042 · the candidate’s document form has a Submit button and confirms the submission",
          "file": "tests/feedback/onboarding/onboarding-board.spec.ts:109",
          "outcome": "skipped"
        }
      ]
    },
    {
      "issue": "SHR-125",
      "kind": "unverified",
      "status": "Not verified this run",
      "description": "Received an email notification that says \"Someone who reports to you has not completed \"Delivery Manager\" . the message needs to be rectified so that reader understands what is expected Someone who reports to you has not completed \"Delivery Manager\" and its due time has passed. The task stays with them; this is so you can follow up.",
      "module": "General / Other",
      "submodule": "Email notification",
      "expected": "the overdue-task note to a manager names the person, the task and what to do",
      "actual": "Not checked in this run: no overdue follow-up notification among the newest notifications of dh, mgr, hrh, hrm, spoc or admin.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 0,
        "skipped": 1
      },
      "tests": [
        {
          "title": "SHR-125 · the overdue-task note to a manager names the person, the task and what to do",
          "file": "tests/feedback/general/general.spec.ts:116",
          "outcome": "skipped"
        }
      ]
    },
    {
      "issue": "SHR-044",
      "kind": "unverified",
      "status": "Partly verified — 1 of 2 checks not run",
      "description": "Time input fields are missing. No notifications triggered.",
      "module": "Orientation",
      "submodule": "Schedule a Session",
      "expected": "Attendees must receive notification as soon as the meeting is scheduled Start Time and End Time fields must be added.",
      "actual": "1 check passed; not run: Cannot verify delivery: attendees can only be new joiners, and no new joiner has a QA session.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 1,
        "skipped": 1
      },
      "tests": [
        {
          "title": "SHR-044 · the schedule form has Start time and End time",
          "file": "tests/feedback/onboarding/orientation-and-self-service.spec.ts:17",
          "outcome": "passed"
        },
        {
          "title": "SHR-044 · attendees are notified as soon as the session is scheduled",
          "file": "tests/feedback/onboarding/orientation-and-self-service.spec.ts:27",
          "outcome": "skipped"
        }
      ]
    },
    {
      "issue": "SHR-022",
      "kind": "unverified",
      "status": "Partly verified — 1 of 2 checks not run",
      "description": "Acknowledgement email sent to the candidate confirming that we have received their application states \" Hi Name: [ followed by candidate's name]",
      "module": "Recruitment",
      "submodule": "Notifications",
      "expected": "Expected Result: It should say Hi [Candidate' actual name] followed by the message",
      "actual": "1 check passed; not run: adds talent-pool candidates that cannot be deleted (no candidate delete); runs weekly with E2E_ALLOW_UNDELETABLE=1.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 1,
        "skipped": 1
      },
      "tests": [
        {
          "title": "SHR-022 · the application acknowledgement greets the candidate by name (\"Hi <name>,\")",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:62",
          "outcome": "passed"
        },
        {
          "title": "SHR-022 · a résumé line \"Name: Kabir\" gives the name \"Kabir\", so emails don't say \"Hi Name: Kabir\"",
          "file": "tests/feedback/recruitment-pipeline/pool-import.spec.ts:41",
          "outcome": "skipped"
        }
      ]
    },
    {
      "issue": "SHR-077",
      "kind": "unverified",
      "status": "Not verified this run",
      "description": "The system should validate the candidate’s email ID while uploading or adding a resume. If a candidate with the same email ID already exists in the system, it should identify the duplicate and prevent the creation of another candidate record. Currently, the system is allowing resumes to be added with the same email ID, which can result in duplicate candidate records.",
      "module": "Recruitment",
      "submodule": "candidate submission",
      "expected": "a second résumé with the same email does not create a second candidate",
      "actual": "Not checked in this run: adds talent-pool candidates that cannot be deleted (no candidate delete); runs weekly with E2E_ALLOW_UNDELETABLE=1.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 0,
        "skipped": 1
      },
      "tests": [
        {
          "title": "SHR-077 · a second résumé with the same email does not create a second candidate",
          "file": "tests/feedback/recruitment-pipeline/pool-import.spec.ts:50",
          "outcome": "skipped"
        }
      ]
    },
    {
      "issue": "SHR-102",
      "kind": "unverified",
      "status": "Not verified this run",
      "description": "The Parse option is not working correctly, as it is extracting the heading instead of the candidate's name.",
      "module": "Recruitment",
      "submodule": "Parse",
      "expected": "the parser takes the candidate's name, not a section heading",
      "actual": "Not checked in this run: adds talent-pool candidates that cannot be deleted (no candidate delete); runs weekly with E2E_ALLOW_UNDELETABLE=1.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 0,
        "skipped": 1
      },
      "tests": [
        {
          "title": "SHR-102 · the parser takes the candidate's name, not a section heading",
          "file": "tests/feedback/recruitment-pipeline/pool-import.spec.ts:24",
          "outcome": "skipped"
        }
      ]
    },
    {
      "issue": "SHR-015",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Issue: When applying for leave from 22 Oct 2026 to 24 Oct 2026, the system displays “No working days in that range — check the dates.” However, 22 Oct 2026 (Thursday) and 23 Oct 2026 (Friday) are weekdays/working dates, so the system should not treat the entire selected period as having no working days.-Checked from- ishita.bhattacharya@opsmaven.test",
      "module": "Attendance",
      "submodule": "Attendance",
      "expected": "The system should identify the applicable working days within the selected date range and allow the leave request accordingly",
      "actual": "As expected: 2 checks passed.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-015 · a Thursday–Saturday range counts its two working days (day-count API)",
          "file": "tests/feedback/leave/leave-rules.spec.ts:64",
          "outcome": "passed"
        },
        {
          "title": "SHR-015 · the leave form accepts a Thursday–Saturday range instead of \"No working days in that range\"",
          "file": "tests/feedback/leave/leave-rules.spec.ts:74",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-040",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "through employee self service mode I was able to apply for regularization for 2nd october which is a holiday",
      "module": "Attendance",
      "submodule": "Regularisation",
      "expected": "it should not accept regularization on holidays",
      "actual": "As expected: 3 checks passed.",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 0,
        "passed": 3,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-040 · the server refuses a correction for a holiday (2 Oct)",
          "file": "tests/feedback/attendance/attendance-journeys.spec.ts:65",
          "outcome": "passed"
        },
        {
          "title": "SHR-040 · a holiday (2 Oct) cannot be picked for a correction: the form explains and won’t send",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:84",
          "outcome": "passed"
        },
        {
          "title": "SHR-040 · the calendar does not offer a holiday for correction",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:96",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-041",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Through employee self service option, it allows you to click on option called OT & Comp off and button says claim OT. cyrrently for us OT & Comp off are two separate things. can we rename claim OT to Claim compoff",
      "module": "Attendance",
      "submodule": "OT & Compoff",
      "expected": "the employee button reads \"Claim comp-off\", not \"Claim OT\"",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-041 · the employee button reads \"Claim comp-off\", not \"Claim OT\"",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:126",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-064",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Once the employee clock in and clock out after sometime the employee is unable to clock in again as the clock in again option is not accessible",
      "module": "Attendance",
      "submodule": "Attendance",
      "expected": "we need an option to clock in again to capture the actual working hours",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-064 · after clocking out the employee can clock in again, and both sessions count",
          "file": "tests/feedback/attendance/attendance-journeys.spec.ts:37",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-065",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Unable to upload the shift roster",
      "module": "Attendance",
      "submodule": "Attendance",
      "expected": "There is no option to download the shift roater",
      "actual": "As expected: 3 checks passed.",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 0,
        "passed": 3,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-065 · HR Manager uploads a roster file and the roster takes it",
          "file": "tests/feedback/attendance/attendance-journeys.spec.ts:78",
          "outcome": "passed"
        },
        {
          "title": "SHR-065 · admin: the roster downloads, and Upload roster offers a template to start from",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:137",
          "outcome": "passed"
        },
        {
          "title": "SHR-065 · hrm: the roster downloads, and Upload roster offers a template to start from",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:137",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-066",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "There is no option to downlaod attendance report",
      "module": "Attendance",
      "submodule": "Attendance",
      "expected": "There is no option to downlaod attendance report",
      "actual": "As expected: 3 checks passed.",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 0,
        "passed": 3,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-066 · admin: the attendance report downloads with every day's punches and hours",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:161",
          "outcome": "passed"
        },
        {
          "title": "SHR-066 · hrm: the attendance report downloads with every day's punches and hours",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:161",
          "outcome": "passed"
        },
        {
          "title": "SHR-066 · admin: the monthly muster downloads with one row per person and the totals",
          "file": "tests/feedback/attendance/attendance-pr.spec.ts:173",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-067",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "There is no option to download leave reports",
      "module": "Attendance",
      "submodule": "Attendance",
      "expected": "There is no option to download leave reports",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-067 · HR can download a leave report (requests and balances)",
          "file": "tests/feedback/leave/leave-rules.spec.ts:347",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-002",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "1. Name - Special Characters () being accepted 2. Emergency Contact - Accepting the same number as employee personal and emergency contact numbers 3. DOJ - Do not allow employee creation where the DOJ pre-dated before current pay cycle",
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "expected": "Names cannot have special characters or extra spaces Emergency Contact cannot be the same as employee's number Restrict predated DOJ only upto the current pay cycle. Ex. Once September ends, do not allow creation of employees whose DOJ falls in September or before",
      "actual": "As expected: 3 checks passed.",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 0,
        "passed": 3,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-002 · a legal name with special characters or extra spaces is refused",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:13",
          "outcome": "passed"
        },
        {
          "title": "SHR-002 · the emergency contact number cannot be the employee's own number",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:29",
          "outcome": "passed"
        },
        {
          "title": "SHR-002 · a joining date before the current pay cycle is refused",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:39",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-003",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Employee Class(Can this be auto-populated or have validation checks?) - It is allowing mapping HR Head as an Intern Link Employee Class to Reports to - Only employees classified as Management can be created without Reporting Manager being defined.",
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "expected": "Position needs to be mapped to auto-map to class and Reporting Manager field needs to be made mandatory for everyone below Management Class",
      "actual": "As expected: 2 checks passed.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-003 · the employee class comes from the position and cannot be picked by hand",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:56",
          "outcome": "passed"
        },
        {
          "title": "SHR-003 · everyone below Management needs a reporting manager",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:70",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-011",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Unable to login using pre-existing employees as well",
      "module": "Employee Lifecycle",
      "submodule": "Login",
      "expected": "pre-existing employees can sign in and use the app",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-011 · pre-existing employees can sign in and use the app",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:149",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-012",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Issue: In Meera Nair’s case, Induction is showing as completed despite the overall onboarding progress being 0%. Also, key employee information such as Employee ID and Email ID is not displaying in the details section.",
      "module": "Employee Lifecycle",
      "submodule": "Onboarding",
      "expected": "Expected Result: The stages should reflect the actual onboarding progress, and the Employee ID and Email ID should be displayed correctly once available",
      "actual": "As expected: 2 checks passed.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-314",
        "https://satellitehr-qa-issues.pages.dev/ISS-082"
      ],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-012 · a card at 0% progress shows no stage as completed",
          "file": "tests/feedback/onboarding/onboarding-board.spec.ts:14",
          "outcome": "passed"
        },
        {
          "title": "SHR-012 · the joiner panel shows the Employee ID and email once they exist",
          "file": "tests/feedback/onboarding/onboarding-board.spec.ts:47",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-029",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Query: Could you please clarify the criteria for each Employee Class: Management, Professional, Staff, Operations, and Intern? It would help us understand which employees/positions should fall under each classification and ensure that the correct class is selected during employee creation.",
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "expected": "each employee class explains which roles belong in it",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-029 · each employee class explains which roles belong in it",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:15",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-031",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Issue: The employee ID/record is being generated successfully, but the login credentials/password setup email is not being received. I tested this using my own email address as well, but no email has been received either in the HR mailbox or in my personal/work mailbox. The screen confirms that an invitation to set the password has been emailed, however, the email is not being delivered.",
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "expected": "an invitation to set a password is recorded, confirmed and can be re-sent",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-031 · an invitation to set a password is recorded, confirmed and can be re-sent",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:182",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-035",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Issue: The error notification “Could not save - Position code is already in use” continues to remain on the screen and does not disappear automatically. Even after navigating to or working on other options/modules, the notification remains visible. Ideally, the notification should disappear automatically after a few seconds or when the user navigates away from the relevant action.",
      "module": "Employee Lifecycle",
      "submodule": "Position Creation",
      "expected": "\"Position code is already in use\" goes away by itself",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-035 · \"Position code is already in use\" goes away by itself",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:32",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-038",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Observation: The required positions are already created and available in the system, but during bulk employee import, the system is showing the error “Position: no position called …” and is not recognising the positions provided in the import template. Please check whether the bulk import is correctly fetching/matching the positions already configured in the system.",
      "module": "Employee Lifecycle",
      "submodule": "Bulk Upload",
      "expected": "the import recognises positions that already exist (preview only, nothing imported)",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-038 · the import recognises positions that already exist (preview only, nothing imported)",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:68",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-062",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Currently, employees do not have an option to submit their resignation through the system. The resignation/separation process can only be initiated by the Super Admin.",
      "module": "Employee Lifecycle",
      "submodule": "Exit",
      "expected": "an employee can submit their own resignation in the system",
      "actual": "As expected: 1 check passed.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-081"
      ],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-062 · an employee can submit their own resignation in the system",
          "file": "tests/feedback/exit/exit-forms.spec.ts:53",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-106",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Although phone number has been provided in the recommended length, it is throwing an error",
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "expected": "Please investigate this error",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-106 · a phone number of the right length is accepted (India and US)",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:146",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-021",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "for employee Kavya, Floating holidays balance is showing as 4. I tried applying for leave from 1st to 21st oct which is 13 days. it gave an error saying employee cannot be found",
      "module": "Leave",
      "submodule": "Apply Leave",
      "expected": "Expected result: show a message that this leave type has insuffient balance for the total number of days, the leave has been applied",
      "actual": "As expected: 2 checks passed.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-021 · sending more Floating Holidays than the balance is refused with a balance message",
          "file": "tests/feedback/leave/leave-journeys.spec.ts:155",
          "outcome": "passed"
        },
        {
          "title": "SHR-021 · too few Floating Holidays shows an \"insufficient balance\" message, not \"employee cannot be found\"",
          "file": "tests/feedback/leave/leave-rules.spec.ts:83",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-043",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Agenda is a file-upload field that captures the new joinee's 30-day Onboarding Agenda. the description needs to change. currently the button says record. it should have an option of uploading the agenda",
      "module": "Onboarding",
      "submodule": "Preboarding",
      "expected": "Make Agenda a file-upload field accepting CSV/XLSX and update the description from \"One line Agenda\" to \"New Joinee's 30-day KT Plan\"",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-043 · Agenda is a CSV/XLSX upload for the 30-day KT plan",
          "file": "tests/feedback/onboarding/onboarding-board.spec.ts:78",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-026",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Issues Observed: Auto-fill: Personal Email and Emergency Contact details should not be auto-filled using the candidate’s details, as these can be different. Save as Draft: There is no option to save partially entered employee details. If the form is accidentally closed, all the details need to be entered again. A Save as Draft option is required.",
      "module": "Organization",
      "submodule": "New Employee Creation",
      "expected": "a partly filled form can be saved as a draft and comes back after closing; converting a candidate does not copy their application email into Personal email",
      "actual": "As expected: 2 checks passed.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-026 · a partly filled form can be saved as a draft and comes back after closing",
          "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:173",
          "outcome": "passed"
        },
        {
          "title": "SHR-026 · converting a candidate does not copy their application email into Personal email",
          "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:161",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-028",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Observation: When “Other” is selected under Kind, should the system provide an additional text field to specify the type of location? Currently, selecting “Other” does not provide an option to enter further details. Also If the selected location Kind is anything other than “Remote,” the Address field should be mandatory. For a Remote location, the Address field can remain optional, as there may not be a physical office address associated with the location.",
      "module": "Organization",
      "submodule": "Location Creation",
      "expected": "Kind \"Other\" asks what kind of location it is; the address is mandatory unless the location is Remote",
      "actual": "As expected: 2 checks passed.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-028 · Kind \"Other\" asks what kind of location it is",
          "file": "tests/feedback/organization/organization.spec.ts:80",
          "outcome": "passed"
        },
        {
          "title": "SHR-028 · the address is mandatory unless the location is Remote",
          "file": "tests/feedback/organization/organization.spec.ts:92",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-045",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Attendees list isn't sought at the time of scheduling a session. I have to schedule a meeting and then add attendees through manage attendees.",
      "module": "Orientation",
      "submodule": "Schedule a Session",
      "expected": "Add a field where mandatory and optional attendees can be added while scheduling the session in the first window with the option to edit this list later",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-045 · mandatory and optional attendees are picked in the schedule window and can be changed later",
          "file": "tests/feedback/onboarding/orientation-and-self-service.spec.ts:40",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-017",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Issue: After Kavya raised the requisition, Vikram, who is the reporting manager, received the approval notification. However, we could not see the notification in his Inbox to approve the requisition.",
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "expected": "the approver gets the requisition in their Inbox to act on",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-017 · the approver gets the requisition in their Inbox to act on",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:223",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-023",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "We have scheduled two interviews for the candidate Degala Bindhu, and the respective interview panels have submitted their feedback. However, we are unable to move the candidate to the next stage, as the system is showing an error stating that the scorecards are not ready.",
      "module": "Recruitment",
      "submodule": "Interview",
      "expected": "with both scorecards in, the candidate moves to the next stage",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-023 · with both scorecards in, the candidate moves to the next stage",
          "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:105",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-024",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Enhancement: While creating a requisition, we need an option to add or upload the Job Description (JD). Currently, there is no option available to add the JD during requisition creation. Could you please check if this functionality can be added?",
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "expected": "the raise form lets the requester add or upload the job description (PDF or Word)",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-024 · the raise form lets the requester add or upload the job description (PDF or Word)",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:14",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-032",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Issue : When creating a job requisition for a replacement position, there should be a separate field/column where the requester can enter the name of the employee who is being replaced.",
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "expected": "a replacement requisition asks for the employee being replaced",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-032 · a replacement requisition asks for the employee being replaced",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:43",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-034",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Fix - While creating a requisition, the system shows that one required field is still pending, but it does not indicate which field is missing. It should clearly show which required field needs to be completed.",
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "expected": "submitting with missing fields names each missing required field",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-034 · submitting with missing fields names each missing required field",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:53",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-036",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "While raising a requisition, if the Hiring Manager selects Standard Loop and submits the requisition, the interview panel sequence is unable to edit, even when the requisition is pending approval or already approved. The interview panel sequence should be editable only by the HR Operations and Talent Acquisition teams, as the final panel sequence is decided during the calibration call and may need to be added, removed, or changed while working on the requisition.",
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "expected": "HR / talent acquisition can change the interview sequence while the requisition is pending and after approval",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-036 · HR / talent acquisition can change the interview sequence while the requisition is pending and after approval",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:358",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-037",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "While creating a requisition, under \"Hiring Plan\" there are options for \"Standard Loop\" and \"HR Operations Loop\". When Standard Loop is selected, a predefined interview panel sequence is automatically available. This sequence should be \"disabled for the Hiring Manager\" while raising the requisition and should be editable only by the \"HR Operations and Talent Acquisition teams\". The interview panel sequence is finalized only after the requisition is raised, based on the calibration call, and may require panels to be added, removed, or changed while the team works on the requisition.",
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "expected": "the hiring manager cannot change the interview sequence",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-037 · the hiring manager cannot change the interview sequence",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:367",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-048",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Please help us understand how the approval workflows for requisitions and offers are currently defined and configured, including the approval hierarchy and sequence.",
      "module": "Recruitment",
      "submodule": "Requisition & Offer",
      "expected": "the requisition approval workflow is defined as Department Head → Management → HR Head",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-048 · the requisition approval workflow is defined as Department Head → Management → HR Head",
          "file": "tests/feedback/recruitment-requisition/access.spec.ts:33",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-050",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "In the Raise a Requisition form, remove the Pre-onboarding Checklist field, as it is not required at the requisition-raising stage.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the raise form has no pre-onboarding checklist field",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-050 · the raise form has no pre-onboarding checklist field",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:82",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-051",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "We were able to raise a requisition with a backdated start date, and it was still triggered for approval. Ideally, the system should not allow a requisition to be raised with a backdated start date.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "a backdated target start date is refused by the form and by the server",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-051 · a backdated target start date is refused by the form and by the server",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:90",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-052",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "In the Justification field, the system only shows the validation message “At least 8 characters are needed”. It is currently allowing special characters and numeric values, whereas the field should accept alphabetic characters only.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the justification accepts letters and sentence punctuation only",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-052 · the justification accepts letters and sentence punctuation only",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:104",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-053",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Please help us understand the purpose and functionality of the Voluntary Self-Identification tab",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the Voluntary self-identification tab explains what it is for",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-053 · the Voluntary self-identification tab explains what it is for",
          "file": "tests/feedback/recruitment-requisition/access.spec.ts:23",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-054",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Once the requisition is approved, the Hiring Manager is not receiving the approval notification email. The Hiring Manager should receive an email notification once the requisition is approved.",
      "module": "Recruitment",
      "submodule": "Notification",
      "expected": "the hiring manager is notified when the requisition is approved (in-app; email is not observable on QA)",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-054 · the hiring manager is notified when the requisition is approved (in-app; email is not observable on QA)",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:331",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-055",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "When posting an open requisition on the Careers page, the Roles Description field is currently marked as not mandatory. Ideally, this should be a mandatory field before the requisition can be posted.",
      "module": "Recruitment",
      "submodule": "Posting",
      "expected": "a post cannot be published without a role description",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-055 · a post cannot be published without a role description",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:89",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-056",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Currently, there does not appear to be an option to specify the work location where the resource is expected to work during the requisition process. It would be helpful to have a field to capture the work location details as part of the requisition. And mark this field as mandatory.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "work location is a mandatory field of the requisition; a requisition cannot be submitted without a work location",
      "actual": "As expected: 2 checks passed.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-056 · work location is a mandatory field of the requisition",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:118",
          "outcome": "passed"
        },
        {
          "title": "SHR-056 · a requisition cannot be submitted without a work location",
          "file": "tests/feedback/recruitment-requisition/routing.spec.ts:26",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-057",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Currently, the system allows us to propose a backdated date and time to the candidate. Ideally, the system should not allow backdated dates or times to be proposed.",
      "module": "Recruitment",
      "submodule": "Interview",
      "expected": "proposing a backdated slot for a real candidate is refused; a slot in the past is refused by the server; the Schedule dialog tells the recruiter that a past slot is not allowed",
      "actual": "As expected: 3 checks passed.",
      "links": [],
      "coverage": {
        "total": 3,
        "failed": 0,
        "passed": 3,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-057 · proposing a backdated slot for a real candidate is refused",
          "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:55",
          "outcome": "passed"
        },
        {
          "title": "SHR-057 · a slot in the past is refused by the server",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:135",
          "outcome": "passed"
        },
        {
          "title": "SHR-057 · the Schedule dialog tells the recruiter that a past slot is not allowed",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:147",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-058",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "In the current system, the feedback and scorecard are mainly rating-based and are not very specific. We would like to have a set of questions that allow interviewers to provide descriptive feedback on the candidate, covering both technical skills and general personality/behavioral aspects.",
      "module": "Recruitment",
      "submodule": "Feedback form/Scorecard",
      "expected": "the scorecard has written questions on technical skills and on behaviour",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-058 · the scorecard has written questions on technical skills and on behaviour",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:241",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-070",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "The Department Head should be able to view requisitions/open positions that belong to their respective department only. Currently, the Department Head is able to view requisitions across all departments. Access should be restricted so that each Department Head can only view the openings raised under their own department.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "a Department Head sees only requisitions of their own department",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-070 · a Department Head sees only requisitions of their own department",
          "file": "tests/feedback/recruitment-requisition/access.spec.ts:8",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-071",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Once a requisition is raised, the Department Head should be able to view all the relevant requisition details, including the reason for raising the position. Currently, when the Department Head receives the requisition in the Inbox for approval, the required details are not visible. The Department Head has to navigate to the Recruitment tab, locate the requisition, review the details, and then approve it. The requisition details should be accessible directly from the approval request in the Inbox, so the Department Head can review the information and approve/reject the requisition without having to navigate to the Recruitment tab separately.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the Inbox item shows the requisition’s details, including the reason, without leaving the Inbox",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-071 · the Inbox item shows the requisition’s details, including the reason, without leaving the Inbox",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:231",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-075",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "We can see a field called “Application Questions” while posting a job through the application. Could you please confirm whether Recruiters can add custom screening questions in this section? If yes, will these questions be displayed to candidates while they are applying for the position, with their responses captured for the Recruiter to review?",
      "module": "Recruitment",
      "submodule": "Job Posting",
      "expected": "recruiters can attach application questions to a post, and answers are kept on the application",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-075 · recruiters can attach application questions to a post, and answers are kept on the application",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:108",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-080",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Currently, the interview slots are set to a fixed duration of 1 hour. The interview duration should be customizable, allowing the Recruiter to select and propose the appropriate slot duration based on the role and interview requirements.",
      "module": "Recruitment",
      "submodule": "Interview",
      "expected": "a 45-minute slot is booked as 45 minutes; the recruiter picks the slot length (not fixed at 1 hour)",
      "actual": "As expected: 2 checks passed.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-080 · a 45-minute slot is booked as 45 minutes",
          "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:61",
          "outcome": "passed"
        },
        {
          "title": "SHR-080 · the recruiter picks the slot length (not fixed at 1 hour)",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:169",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-082",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Interviews may need to be rescheduled due to various reasons from either the candidate’s or interviewer’s side. Currently, the system provides only a “No Show” option and does not have an option to reschedule the interview. A “Reschedule” option should be available so that the Recruiter can select a new date and time and send the updated interview invitation to the candidate and interviewer.",
      "module": "Recruitment",
      "submodule": "Interview",
      "expected": "a scheduled interview can be rescheduled to a new date and time",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-082 · a scheduled interview can be rescheduled to a new date and time",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:204",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-083",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "While drafting an offer, we entered the candidate’s CTC and Date of Joining (DOJ). However, when attempting to submit the offer, the system throws an error and does not allow us to proceed.",
      "module": "Recruitment",
      "submodule": "Offer",
      "expected": "an offer with CTC and date of joining is drafted and submitted for approval; an offer with CTC and date of joining passes validation",
      "actual": "As expected: 2 checks passed.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-083 · an offer with CTC and date of joining is drafted and submitted for approval",
          "file": "tests/feedback/recruitment-offer/offer-journey.spec.ts:50",
          "outcome": "passed"
        },
        {
          "title": "SHR-083 · an offer with CTC and date of joining passes validation",
          "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:64",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-098",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Work Location dropdown is empty when creating a requisition using the Test Hiring Manager and Test Department Head logins, whereas locations are visible for the Recruiter and HR Head logins.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the work location dropdown lists the company’s locations for the hiring manager; the work location dropdown lists the company’s locations for the department head",
      "actual": "As expected: 2 checks passed.",
      "links": [],
      "coverage": {
        "total": 2,
        "failed": 0,
        "passed": 2,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-098 · the work location dropdown lists the company’s locations for the hiring manager",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:129",
          "outcome": "passed"
        },
        {
          "title": "SHR-098 · the work location dropdown lists the company’s locations for the department head",
          "file": "tests/feedback/recruitment-requisition/form.spec.ts:129",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-099",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "After the Department Head requests changes to a requisition, the Manager receives a notification to make the changes. However, when the Manager edits the requisition and attempts to save it, the system throws an error.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the hiring manager can edit a sent-back requisition and save it",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-099 · the hiring manager can edit a sent-back requisition and save it",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:278",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-101",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "After the requisition is approved by the Department Head, the HR Head is required to complete fields such as Band, Salary, Interview Sequence, and Job Description in Company Format. However, these details are already captured during the initial requisition process or handled separately. Remove the fields from the HR Head's approval stage and retain only the options to review the requisition, approve, reject, or request changes.",
      "module": "Recruitment",
      "submodule": "Requisition",
      "expected": "the HR Head approval step asks for no extra fields, only review and approve / decline / request changes",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-101 · the HR Head approval step asks for no extra fields, only review and approve / decline / request changes",
          "file": "tests/feedback/recruitment-requisition/approval.spec.ts:241",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-103",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Once an interview is scheduled, only the Reschedule option is available. Please add Cancel Interview and No-Show options, allowing users to record the appropriate reason when cancelling an interview or marking a candidate as a no-show",
      "module": "Recruitment",
      "submodule": "Interview",
      "expected": "Cancel interview and No-show each record a required reason",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-103 · Cancel interview and No-show each record a required reason",
          "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:222",
          "outcome": "passed"
        }
      ]
    },
    {
      "issue": "SHR-001",
      "kind": "fb-ok",
      "status": "Works as expected",
      "description": "Add Quick Approvals so approvers can act on pending requests directly without opening each one.",
      "module": "Workflow Engine",
      "submodule": "Quick Approvals",
      "expected": "approvers can approve or decline straight from the list, without opening the request",
      "actual": "As expected: 1 check passed.",
      "links": [],
      "coverage": {
        "total": 1,
        "failed": 0,
        "passed": 1,
        "skipped": 0
      },
      "tests": [
        {
          "title": "SHR-001 · approvers can approve or decline straight from the list, without opening the request",
          "file": "tests/feedback/general/general.spec.ts:42",
          "outcome": "passed"
        }
      ]
    }
  ],
  "coverage": [
    {
      "module": "Attendance",
      "submodule": "Attendance",
      "tests": 19,
      "passed": 14,
      "failed": 5,
      "skipped": 0,
      "issues": [
        "SHR-008",
        "SHR-064",
        "SHR-065",
        "SHR-014",
        "SHR-066",
        "SHR-015",
        "SHR-069",
        "SHR-067"
      ]
    },
    {
      "module": "Attendance",
      "submodule": "Attendance details report/LOP report",
      "tests": 3,
      "passed": 0,
      "failed": 3,
      "skipped": 0,
      "issues": [
        "SHR-123",
        "SHR-124"
      ]
    },
    {
      "module": "Attendance",
      "submodule": "OT & Compoff",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-041"
      ]
    },
    {
      "module": "Attendance",
      "submodule": "Regularisation",
      "tests": 3,
      "passed": 3,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-040"
      ]
    },
    {
      "module": "Documents",
      "submodule": "Joining documents",
      "tests": 1,
      "passed": 0,
      "failed": 0,
      "skipped": 1,
      "issues": [
        "SHR-042"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Bulk Upload",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-038"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Confirmation",
      "tests": 3,
      "passed": 0,
      "failed": 3,
      "skipped": 0,
      "issues": [
        "SHR-090"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "tests": 7,
      "passed": 3,
      "failed": 4,
      "skipped": 0,
      "issues": [
        "SHR-108",
        "SHR-105",
        "SHR-106",
        "SHR-107",
        "SHR-029",
        "SHR-031"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Employee Search",
      "tests": 3,
      "passed": 1,
      "failed": 2,
      "skipped": 0,
      "issues": [
        "SHR-009"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Exit",
      "tests": 6,
      "passed": 2,
      "failed": 4,
      "skipped": 0,
      "issues": [
        "SHR-062",
        "SHR-061"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Login",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-011"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "tests": 11,
      "passed": 6,
      "failed": 5,
      "skipped": 0,
      "issues": [
        "SHR-002",
        "SHR-003",
        "SHR-006",
        "SHR-004",
        "SHR-005",
        "SHR-007"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Offboarding",
      "tests": 4,
      "passed": 0,
      "failed": 4,
      "skipped": 0,
      "issues": [
        "SHR-096"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Onboarding",
      "tests": 5,
      "passed": 3,
      "failed": 2,
      "skipped": 0,
      "issues": [
        "SHR-013",
        "SHR-012",
        "SHR-063"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Position Creation",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-035"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Pre-boarding",
      "tests": 2,
      "passed": 1,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-033"
      ]
    },
    {
      "module": "Employee Lifecycle",
      "submodule": "Role Creation",
      "tests": 2,
      "passed": 0,
      "failed": 2,
      "skipped": 0,
      "issues": [
        "SHR-039"
      ]
    },
    {
      "module": "General / Other",
      "submodule": "Email notification",
      "tests": 1,
      "passed": 0,
      "failed": 0,
      "skipped": 1,
      "issues": [
        "SHR-125"
      ]
    },
    {
      "module": "General / Other",
      "submodule": "Home page> pending approvals",
      "tests": 1,
      "passed": 0,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-010"
      ]
    },
    {
      "module": "Leave",
      "submodule": "Apply Leave",
      "tests": 6,
      "passed": 5,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-020",
        "SHR-021"
      ]
    },
    {
      "module": "Leave",
      "submodule": "Attendance",
      "tests": 1,
      "passed": 0,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-068"
      ]
    },
    {
      "module": "Leave",
      "submodule": "Leave",
      "tests": 3,
      "passed": 1,
      "failed": 2,
      "skipped": 0,
      "issues": [
        "SHR-094",
        "SHR-016"
      ]
    },
    {
      "module": "Leave",
      "submodule": "Leave Balance",
      "tests": 5,
      "passed": 2,
      "failed": 3,
      "skipped": 0,
      "issues": [
        "SHR-018",
        "SHR-019"
      ]
    },
    {
      "module": "Leave",
      "submodule": "Leave configuration",
      "tests": 8,
      "passed": 1,
      "failed": 7,
      "skipped": 0,
      "issues": [
        "SHR-091",
        "SHR-092",
        "SHR-093"
      ]
    },
    {
      "module": "Leave",
      "submodule": "leave deposit",
      "tests": 3,
      "passed": 1,
      "failed": 2,
      "skipped": 0,
      "issues": [
        "SHR-085"
      ]
    },
    {
      "module": "Leave",
      "submodule": "Leave Display",
      "tests": 2,
      "passed": 1,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-122"
      ]
    },
    {
      "module": "Leave",
      "submodule": "Long leave approval matrix",
      "tests": 4,
      "passed": 2,
      "failed": 2,
      "skipped": 0,
      "issues": [
        "SHR-087"
      ]
    },
    {
      "module": "Leave",
      "submodule": "request for Comp off",
      "tests": 2,
      "passed": 1,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-086"
      ]
    },
    {
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "tests": 7,
      "passed": 3,
      "failed": 4,
      "skipped": 0,
      "issues": [
        "SHR-047",
        "SHR-046"
      ]
    },
    {
      "module": "Onboarding",
      "submodule": "Preboarding",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-043"
      ]
    },
    {
      "module": "Organization",
      "submodule": "Location Creation",
      "tests": 2,
      "passed": 2,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-028"
      ]
    },
    {
      "module": "Organization",
      "submodule": "Locations",
      "tests": 2,
      "passed": 0,
      "failed": 2,
      "skipped": 0,
      "issues": [
        "SHR-084"
      ]
    },
    {
      "module": "Organization",
      "submodule": "New EMployee",
      "tests": 3,
      "passed": 0,
      "failed": 3,
      "skipped": 0,
      "issues": [
        "SHR-088",
        "SHR-089"
      ]
    },
    {
      "module": "Organization",
      "submodule": "New Employee Creation",
      "tests": 2,
      "passed": 2,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-026"
      ]
    },
    {
      "module": "Organization",
      "submodule": "Organisations->Employees",
      "tests": 4,
      "passed": 1,
      "failed": 3,
      "skipped": 0,
      "issues": [
        "SHR-119"
      ]
    },
    {
      "module": "Orientation",
      "submodule": "Schedule a Session",
      "tests": 3,
      "passed": 2,
      "failed": 0,
      "skipped": 1,
      "issues": [
        "SHR-044",
        "SHR-045"
      ]
    },
    {
      "module": "Policies & Announcements",
      "submodule": "Home -> Celebrations",
      "tests": 3,
      "passed": 1,
      "failed": 1,
      "skipped": 1,
      "issues": [
        "SHR-118"
      ]
    },
    {
      "module": "Policies & Announcements",
      "submodule": "To read",
      "tests": 1,
      "passed": 0,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-109"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "candidate submission",
      "tests": 1,
      "passed": 0,
      "failed": 0,
      "skipped": 1,
      "issues": [
        "SHR-077"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Feedback form/Scorecard",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-058"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Interview",
      "tests": 15,
      "passed": 10,
      "failed": 5,
      "skipped": 0,
      "issues": [
        "SHR-057",
        "SHR-080",
        "SHR-081",
        "SHR-097",
        "SHR-023",
        "SHR-078",
        "SHR-079",
        "SHR-082",
        "SHR-103"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Interview feedback",
      "tests": 2,
      "passed": 0,
      "failed": 2,
      "skipped": 0,
      "issues": [
        "SHR-126"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Job Posting",
      "tests": 2,
      "passed": 1,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-075",
        "SHR-076"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Notification",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-054"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Notifications",
      "tests": 2,
      "passed": 1,
      "failed": 0,
      "skipped": 1,
      "issues": [
        "SHR-022"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Offer",
      "tests": 4,
      "passed": 3,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-083",
        "SHR-120"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Offer Approval",
      "tests": 4,
      "passed": 1,
      "failed": 3,
      "skipped": 0,
      "issues": [
        "SHR-059",
        "SHR-060"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Offer Release notification",
      "tests": 1,
      "passed": 0,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-025"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Parse",
      "tests": 1,
      "passed": 0,
      "failed": 0,
      "skipped": 1,
      "issues": [
        "SHR-102"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Posting",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-055"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Requisition",
      "tests": 34,
      "passed": 18,
      "failed": 16,
      "skipped": 0,
      "issues": [
        "SHR-070",
        "SHR-053",
        "SHR-071",
        "SHR-101",
        "SHR-072",
        "SHR-099",
        "SHR-116",
        "SHR-100",
        "SHR-073",
        "SHR-074",
        "SHR-117",
        "SHR-111",
        "SHR-049",
        "SHR-050",
        "SHR-051",
        "SHR-052",
        "SHR-056",
        "SHR-098",
        "SHR-104",
        "SHR-112",
        "SHR-113",
        "SHR-114",
        "SHR-115"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Requisition & Offer",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-048"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "tests": 6,
      "passed": 6,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-017",
        "SHR-036",
        "SHR-037",
        "SHR-024",
        "SHR-032",
        "SHR-034"
      ]
    },
    {
      "module": "Recruitment",
      "submodule": "Talent Pool",
      "tests": 1,
      "passed": 0,
      "failed": 1,
      "skipped": 0,
      "issues": [
        "SHR-110"
      ]
    },
    {
      "module": "Workflow Engine",
      "submodule": "Quick Approvals",
      "tests": 1,
      "passed": 1,
      "failed": 0,
      "skipped": 0,
      "issues": [
        "SHR-001"
      ]
    }
  ],
  "rows": [
    {
      "kind": "failed",
      "title": "SHR-010 · Home “Pending approvals” says what is being approved, not just who asked",
      "file": "tests/feedback/general/general.spec.ts:26",
      "outcome": "failed",
      "key": "SHR-010",
      "label": "fb",
      "note": "SHR-010 · Fix · General / Other › Home page> pending approvals — Pending approvals currently show only the employee name or generic text. it does not clearly specify what someone is approving or rejecting. Recommend having a short description that empowers the decision-maker to make a",
      "links": [],
      "error": "Error: Home card for \"Missed punch · 8 Oct\" reads: \"Pending approvals / View all / QO / QA Employee One / QA Employee One / FA / Fbtest Candidate ageaah / FB Test Pipeline 1015064007 · offer OFR-2026-0083 / FA / Fbtest Candidate afdbff / FB Test Pipeline 1015053155 · offer OFR-2026-0082 / FA / Fbtest Candidate adejaj / FB Test Pipeline 1015034909 · offer OFR-2026-0081\" — it names the requester only, not the request\n\nexpect(received).toContain(expected) // indexOf\n\nExpected substring: \"Missed punch\"\nReceived string:    \"Pending approvals / View all / QO / QA Employee One / QA Employee One / FA / Fbtest Candidate ageaah / FB Test Pipeline 1015064007 · offer OFR-2026-0083 / FA / Fbtest Candidate afdbff / FB Test Pipeline 1015053155 · offer OFR-2026-0082 / FA / Fbtest Candidate adejaj / FB Test Pipeline 1015034909 · offer OFR-2026-0081\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-general/general-approvals-fb-journ-08491-approved-not-just-who-asked-fb-general/test-failed-1.png"
      ],
      "module": "General / Other",
      "submodule": "Home page> pending approvals",
      "description": "Pending approvals currently show only the employee name or generic text. it does not clearly specify what someone is approving or rejecting. Recommend having a short description that empowers the decision-maker to make a quick decision without having to go to another screen",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-001 · approvers can approve or decline straight from the list, without opening the request",
      "file": "tests/feedback/general/general.spec.ts:42",
      "outcome": "passed",
      "key": "SHR-001",
      "label": "fb",
      "note": "SHR-001 · Enhancement · High · Workflow Engine › Quick Approvals — Add Quick Approvals so approvers can act on pending requests directly without opening each one.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Workflow Engine",
      "submodule": "Quick Approvals",
      "description": "Add Quick Approvals so approvers can act on pending requests directly without opening each one.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-118 · employees see birthdays and service anniversaries on their Home",
      "file": "tests/feedback/general/general.spec.ts:77",
      "outcome": "passed",
      "key": "SHR-118",
      "label": "fb",
      "note": "SHR-118 · Fix · High · Policies & Announcements › Home -> Celebrations — Celebrations is not showing Service anniversary and Birthday wishes",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Policies & Announcements",
      "submodule": "Home -> Celebrations",
      "description": "Celebrations is not showing Service anniversary and Birthday wishes",
      "expected": "We expect the service anniversary, Birthday notifications are displayed in the employees login on the home page and the email should be gone to the entity group id for the employees belong to entity",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-118 · the Home Celebrations card of HR and managers includes birthdays, not only work anniversaries",
      "file": "tests/feedback/general/general.spec.ts:88",
      "outcome": "failed",
      "key": "SHR-118",
      "label": "fb",
      "note": "SHR-118 · Fix · High · Policies & Announcements › Home -> Celebrations — Celebrations is not showing Service anniversary and Birthday wishes",
      "links": [],
      "error": "Error: admin: Celebrations reads \"Celebrations / Quiet week / Work anniversaries show up here a week ahead.\" — birthdays are not part of it\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /birthday/i\nReceived string:  \"Celebrations / Quiet week / Work anniversaries show up here a week ahead.\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-general/general-celebrations-fb-pr-880f6-not-only-work-anniversaries-fb-general/test-failed-1.png"
      ],
      "module": "Policies & Announcements",
      "submodule": "Home -> Celebrations",
      "description": "Celebrations is not showing Service anniversary and Birthday wishes",
      "expected": "We expect the service anniversary, Birthday notifications are displayed in the employees login on the home page and the email should be gone to the entity group id for the employees belong to entity",
      "skipReason": ""
    },
    {
      "kind": "skipped",
      "title": "SHR-118 · a colleague’s birthday or service anniversary in the coming week is shown",
      "file": "tests/feedback/general/general.spec.ts:99",
      "outcome": "skipped",
      "key": "SHR-118",
      "label": "fb",
      "note": "SHR-118 · Fix · High · Policies & Announcements › Home -> Celebrations — Celebrations is not showing Service anniversary and Birthday wishes",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Policies & Announcements",
      "submodule": "Home -> Celebrations",
      "description": "Celebrations is not showing Service anniversary and Birthday wishes",
      "expected": "We expect the service anniversary, Birthday notifications are displayed in the employees login on the home page and the email should be gone to the entity group id for the employees belong to entity",
      "skipReason": "no active employee has a birthday or service anniversary in the next 7 days"
    },
    {
      "kind": "skipped",
      "title": "SHR-125 · the overdue-task note to a manager names the person, the task and what to do",
      "file": "tests/feedback/general/general.spec.ts:116",
      "outcome": "skipped",
      "key": "SHR-125",
      "label": "fb",
      "note": "SHR-125 · Fix · General / Other › Email notification — Received an email notification that says \"Someone who reports to you has not completed \"Delivery Manager\" . the message needs to be rectified so that reader understands what is expected",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "General / Other",
      "submodule": "Email notification",
      "description": "Received an email notification that says \"Someone who reports to you has not completed \"Delivery Manager\" . the message needs to be rectified so that reader understands what is expected Someone who reports to you has not completed \"Delivery Manager\" and its due time has passed. The task stays with them; this is so you can follow up.",
      "expected": "",
      "skipReason": "no overdue follow-up notification among the newest notifications of dh, mgr, hrh, hrm, spoc or admin"
    },
    {
      "kind": "passed",
      "title": "SHR-009 · clicking an employee found in global search opens their profile without an error",
      "file": "tests/feedback/organization/organization.spec.ts:22",
      "outcome": "passed",
      "key": "SHR-009",
      "label": "fb",
      "note": "SHR-009 · Fix · Employee Lifecycle › Employee Search — Error has occured as soon as we click on the employee searched on global search box on homepage",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Employee Search",
      "description": "Error has occured as soon as we click on the employee searched on global search box on homepage",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-009 · the profile opened from search shows the employee's position, location and manager",
      "file": "tests/feedback/organization/organization.spec.ts:37",
      "outcome": "failed",
      "key": "SHR-009",
      "label": "fb",
      "note": "SHR-009 · Fix · Employee Lifecycle › Employee Search — Error has occured as soon as we click on the employee searched on global search box on homepage",
      "links": [],
      "error": "Error: the header shows \"Delivery Manager\" (not \"No position\")\n\nexpect(locator).toHaveText(expected) failed\n\nLocator: locator('#main-content').getByText(/Delivery Manager|No position/).first()\nExpected pattern: /Delivery Manager/\nReceived string:  \"No position · Operations\"\nTimeout: 30000ms\n\nCall log:\n  - the header shows \"Delivery Manager\" (not \"No position\") locator('#main-content').getByText(/Delivery Manager|No position/).first() with timeout 30000ms\n  - waiting for locator('#main-content').getByText(/Delivery Manager|No position/).first()\n    63 × locator resolved to <p class=\"mt-0.5 text-sm text-ink-2\">No position · Operations</p>\n       - unexpected value \"No position · Operations\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-organization/organization-global-search-c205f-sition-location-and-manager-fb-organization/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Employee Search",
      "description": "Error has occured as soon as we click on the employee searched on global search box on homepage",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-009 · a reporting manager can find their own team member in global search",
      "file": "tests/feedback/organization/organization.spec.ts:53",
      "outcome": "failed",
      "key": "SHR-009",
      "label": "fb",
      "note": "SHR-009 · Fix · Employee Lifecycle › Employee Search — Error has occured as soon as we click on the employee searched on global search box on homepage",
      "links": [],
      "error": "Error: QA Manager's search answers 403 {\"code\":\"FORBIDDEN\",\"message\":\"You do not have permission to do this\",\"requiredPermission\":[\"settings.saved_searches.view\"],\"requestId\":\"c9e4d046-7c69-4b6e-9551\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 403",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Employee Search",
      "description": "Error has occured as soon as we click on the employee searched on global search box on homepage",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-028 · Kind \"Other\" asks what kind of location it is",
      "file": "tests/feedback/organization/organization.spec.ts:80",
      "outcome": "passed",
      "key": "SHR-028",
      "label": "fb",
      "note": "SHR-028 · Fix · Organization › Location Creation — When “Other” is selected under Kind, should the system provide an additional text field to specify the type of location? Currently, selecting “Other” does not provide an option to enter further details. Also If the selec",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Organization",
      "submodule": "Location Creation",
      "description": "Observation: When “Other” is selected under Kind, should the system provide an additional text field to specify the type of location? Currently, selecting “Other” does not provide an option to enter further details. Also If the selected location Kind is anything other than “Remote,” the Address field should be mandatory. For a Remote location, the Address field can remain optional, as there may not be a physical office address associated with the location.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-028 · the address is mandatory unless the location is Remote",
      "file": "tests/feedback/organization/organization.spec.ts:92",
      "outcome": "passed",
      "key": "SHR-028",
      "label": "fb",
      "note": "SHR-028 · Fix · Organization › Location Creation — When “Other” is selected under Kind, should the system provide an additional text field to specify the type of location? Currently, selecting “Other” does not provide an option to enter further details. Also If the selec",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Organization",
      "submodule": "Location Creation",
      "description": "Observation: When “Other” is selected under Kind, should the system provide an additional text field to specify the type of location? Currently, selecting “Other” does not provide an option to enter further details. Also If the selected location Kind is anything other than “Remote,” the Address field should be mandatory. For a Remote location, the Address field can remain optional, as there may not be a physical office address associated with the location.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-084 · no location sits in one geography with an address in another @pr",
      "file": "tests/feedback/organization/organization.spec.ts:125",
      "outcome": "failed",
      "key": "SHR-084",
      "label": "fb",
      "note": "SHR-084 · Fix · Organization › Locations — This location is named California but the address is that of Bangalore.",
      "links": [],
      "error": "Error: locations whose address is in another country than their jurisdiction\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 3\n\n- Array []\n+ Array [\n+   \"\\\"Los Angeles\\\" (California, America/Los_Angeles) has its address in Bangalore\",\n+ ]",
      "attachments": [],
      "module": "Organization",
      "submodule": "Locations",
      "description": "This location is named California but the address is that of Bangalore.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-084 · the platform refuses a California location whose address is in Bangalore @journey",
      "file": "tests/feedback/organization/organization.spec.ts:133",
      "outcome": "failed",
      "key": "SHR-084",
      "label": "fb",
      "note": "SHR-084 · Fix · Organization › Locations — This location is named California but the address is that of Bangalore.",
      "links": [],
      "error": "Error: a California office with a Bangalore address is refused — the API answered 201\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201",
      "attachments": [],
      "module": "Organization",
      "submodule": "Locations",
      "description": "This location is named California but the address is that of Bangalore.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-119 · the Employees table can show the joining date",
      "file": "tests/feedback/organization/organization.spec.ts:160",
      "outcome": "passed",
      "key": "SHR-119",
      "label": "fb",
      "note": "SHR-119 · Fix · High · Organization › Organisations->Employees — Need filter option for Hired date/date of joining and the entity name in the Organisation ->Employee tab",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Organization",
      "submodule": "Organisations->Employees",
      "description": "Need filter option for Hired date/date of joining and the entity name in the Organisation ->Employee tab",
      "expected": "We expect the employees table has the Joined date and Entity name/Organisation name for easy filter and display and a download option of that table is a perfect combo",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-119 · the Employees table can be filtered by joining date",
      "file": "tests/feedback/organization/organization.spec.ts:167",
      "outcome": "failed",
      "key": "SHR-119",
      "label": "fb",
      "note": "SHR-119 · Fix · High · Organization › Organisations->Employees — Need filter option for Hired date/date of joining and the entity name in the Organisation ->Employee tab",
      "links": [],
      "error": "Error: a joining/hire date filter next to: Filter by department, Filter by position, Filter by location, Filter by status\n\nexpect(received).toBeGreaterThan(expected)\n\nExpected: > 0\nReceived:   0",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-organization/organization-employees-tab-4fa03-be-filtered-by-joining-date-fb-organization/test-failed-1.png"
      ],
      "module": "Organization",
      "submodule": "Organisations->Employees",
      "description": "Need filter option for Hired date/date of joining and the entity name in the Organisation ->Employee tab",
      "expected": "We expect the employees table has the Joined date and Entity name/Organisation name for easy filter and display and a download option of that table is a perfect combo",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-119 · the Employees table shows and filters by entity (organisation) name",
      "file": "tests/feedback/organization/organization.spec.ts:178",
      "outcome": "failed",
      "key": "SHR-119",
      "label": "fb",
      "note": "SHR-119 · Fix · High · Organization › Organisations->Employees — Need filter option for Hired date/date of joining and the entity name in the Organisation ->Employee tab",
      "links": [],
      "error": "Error: an Entity / Organisation column among: COLUMNS, 10, Type, Manager, Status, Sign-in, Department, Position, Location, Jurisdiction, Joined, Reset columns, SAVED VIEWS, 1\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-organization/organization-employees-tab-0154d-by-entity-organisation-name-fb-organization/test-failed-1.png"
      ],
      "module": "Organization",
      "submodule": "Organisations->Employees",
      "description": "Need filter option for Hired date/date of joining and the entity name in the Organisation ->Employee tab",
      "expected": "We expect the employees table has the Joined date and Entity name/Organisation name for easy filter and display and a download option of that table is a perfect combo",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-119 · the Employees table can be downloaded",
      "file": "tests/feedback/organization/organization.spec.ts:188",
      "outcome": "failed",
      "key": "SHR-119",
      "label": "fb",
      "note": "SHR-119 · Fix · High · Organization › Organisations->Employees — Need filter option for Hired date/date of joining and the entity name in the Organisation ->Employee tab",
      "links": [],
      "error": "Error: an Export / Download control for the table (Options offers: COLUMNS | 10 | SAVED VIEWS | 1)\n\nexpect(received).toBeGreaterThan(expected)\n\nExpected: > 0\nReceived:   0",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-organization/organization-employees-tab-5a5d9-ees-table-can-be-downloaded-fb-organization/test-failed-1.png"
      ],
      "module": "Organization",
      "submodule": "Organisations->Employees",
      "description": "Need filter option for Hired date/date of joining and the entity name in the Organisation ->Employee tab",
      "expected": "We expect the employees table has the Joined date and Entity name/Organisation name for easy filter and display and a download option of that table is a perfect combo",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-002 · a legal name with special characters or extra spaces is refused",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:13",
      "outcome": "passed",
      "key": "SHR-002",
      "label": "fb",
      "note": "SHR-002 · Fix · High · Employee Lifecycle › New Employee Creation — 1. Name - Special Characters () being accepted",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "1. Name - Special Characters () being accepted 2. Emergency Contact - Accepting the same number as employee personal and emergency contact numbers 3. DOJ - Do not allow employee creation where the DOJ pre-dated before current pay cycle",
      "expected": "Names cannot have special characters or extra spaces Emergency Contact cannot be the same as employee's number Restrict predated DOJ only upto the current pay cycle. Ex. Once September ends, do not allow creation of employees whose DOJ falls in September or before",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-002 · the emergency contact number cannot be the employee's own number",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:29",
      "outcome": "passed",
      "key": "SHR-002",
      "label": "fb",
      "note": "SHR-002 · Fix · High · Employee Lifecycle › New Employee Creation — 1. Name - Special Characters () being accepted",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "1. Name - Special Characters () being accepted 2. Emergency Contact - Accepting the same number as employee personal and emergency contact numbers 3. DOJ - Do not allow employee creation where the DOJ pre-dated before current pay cycle",
      "expected": "Names cannot have special characters or extra spaces Emergency Contact cannot be the same as employee's number Restrict predated DOJ only upto the current pay cycle. Ex. Once September ends, do not allow creation of employees whose DOJ falls in September or before",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-002 · a joining date before the current pay cycle is refused",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:39",
      "outcome": "passed",
      "key": "SHR-002",
      "label": "fb",
      "note": "SHR-002 · Fix · High · Employee Lifecycle › New Employee Creation — 1. Name - Special Characters () being accepted",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "1. Name - Special Characters () being accepted 2. Emergency Contact - Accepting the same number as employee personal and emergency contact numbers 3. DOJ - Do not allow employee creation where the DOJ pre-dated before current pay cycle",
      "expected": "Names cannot have special characters or extra spaces Emergency Contact cannot be the same as employee's number Restrict predated DOJ only upto the current pay cycle. Ex. Once September ends, do not allow creation of employees whose DOJ falls in September or before",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-003 · the employee class comes from the position and cannot be picked by hand",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:56",
      "outcome": "passed",
      "key": "SHR-003",
      "label": "fb",
      "note": "SHR-003 · Fix · High · Employee Lifecycle › New Employee Creation — Employee Class(Can this be auto-populated or have validation checks?) - It is allowing mapping HR Head as an Intern",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "Employee Class(Can this be auto-populated or have validation checks?) - It is allowing mapping HR Head as an Intern Link Employee Class to Reports to - Only employees classified as Management can be created without Reporting Manager being defined.",
      "expected": "Position needs to be mapped to auto-map to class and Reporting Manager field needs to be made mandatory for everyone below Management Class",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-003 · everyone below Management needs a reporting manager",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:70",
      "outcome": "passed",
      "key": "SHR-003",
      "label": "fb",
      "note": "SHR-003 · Fix · High · Employee Lifecycle › New Employee Creation — Employee Class(Can this be auto-populated or have validation checks?) - It is allowing mapping HR Head as an Intern",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "Employee Class(Can this be auto-populated or have validation checks?) - It is allowing mapping HR Head as an Intern Link Employee Class to Reports to - Only employees classified as Management can be created without Reporting Manager being defined.",
      "expected": "Position needs to be mapped to auto-map to class and Reporting Manager field needs to be made mandatory for everyone below Management Class",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-108 · after picking a jurisdiction, Location offers only locations in that jurisdiction",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:83",
      "outcome": "failed",
      "key": "SHR-108",
      "label": "fb",
      "note": "SHR-108 · Fix · Employee Lifecycle › Employee Creation — California is in jurisdictions but a corresponding option doesn't exist in locations.",
      "links": [],
      "error": "Error: with California picked, Location offers only California's locations (Los Angeles); it offers Ahmedabad - Remote, Demo – Bengaluru Office, Hyderabad HQ, Los Angeles, Remote - India\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 0\n+ Received  + 4\n\n  Array [\n+   \"Ahmedabad - Remote\",\n+   \"Demo – Bengaluru Office\",\n+   \"Hyderabad HQ\",\n    \"Los Angeles\",\n+   \"Remote - India\",\n  ]",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-employee-creation/new-employee-form-new-empl-99ad7-ations-in-that-jurisdiction-fb-employee-creation/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "description": "California is in jurisdictions but a corresponding option doesn't exist in locations.",
      "expected": "Jurisdiction should have a restricted location list within that geography",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-108 · every jurisdiction offered for employees has at least one location in it",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:94",
      "outcome": "failed",
      "key": "SHR-108",
      "label": "fb",
      "note": "SHR-108 · Fix · Employee Lifecycle › Employee Creation — California is in jurisdictions but a corresponding option doesn't exist in locations.",
      "links": [],
      "error": "Error: jurisdictions on the New employee form with no location to pick\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 3\n\n- Array []\n+ Array [\n+   \"Tamil Nadu\",\n+ ]",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "description": "California is in jurisdictions but a corresponding option doesn't exist in locations.",
      "expected": "Jurisdiction should have a restricted location list within that geography",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-088 · an employee in California cannot be placed at a location in Telangana",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:103",
      "outcome": "failed",
      "key": "SHR-088",
      "label": "fb",
      "note": "SHR-088 · Fix · Organization › New EMployee — Jurisdiction and Location aren't mapped",
      "links": [],
      "error": "Error: California + Hyderabad HQ is refused — instead the form sent it and the server accepted every field (it only refused the employee number the test swapped in, so nothing was saved)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-employee-creation/new-employee-form-new-empl-b4e2f--at-a-location-in-Telangana-fb-employee-creation/test-failed-1.png"
      ],
      "module": "Organization",
      "submodule": "New EMployee",
      "description": "Jurisdiction and Location aren't mapped",
      "expected": "Jurisdiction and Location should have validation checks. Employees whose jurisdiction is California cannot have location mapped in Hyderabad.",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-089 · the emergency contact cannot have the employee's own name",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:115",
      "outcome": "failed",
      "key": "SHR-089",
      "label": "fb",
      "note": "SHR-089 · Fix · Organization › New EMployee — Employee Name and Personal Email ID is being accepted under Emergency Contact Name and Official Email IDs respectively",
      "links": [],
      "error": "Error: \"FB Test Hire Abdbdj\" as both employee and emergency contact is refused — instead the form sent it and the server accepted every field (it only refused the employee number the test swapped in, so nothing was saved)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-employee-creation/new-employee-form-new-empl-17b06-ave-the-employee-s-own-name-fb-employee-creation/test-failed-1.png"
      ],
      "module": "Organization",
      "submodule": "New EMployee",
      "description": "Employee Name and Personal Email ID is being accepted under Emergency Contact Name and Official Email IDs respectively",
      "expected": "Employee Name cannot be the same as Emergency Contact Person's Name Personal Email ID cannot be mapped as Official Email IDs. All fields in New Employee Creation should have unique values because there is no scenario that should take duplicate values",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-089 · the personal email cannot be the same as the official (work) email",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:126",
      "outcome": "failed",
      "key": "SHR-089",
      "label": "fb",
      "note": "SHR-089 · Fix · Organization › New EMployee — Employee Name and Personal Email ID is being accepted under Emergency Contact Name and Official Email IDs respectively",
      "links": [],
      "error": "Error: one address as both work and personal email is refused — instead the form sent it and the server accepted every field (it only refused the employee number the test swapped in, so nothing was saved)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-employee-creation/new-employee-form-new-empl-70b8c--as-the-official-work-email-fb-employee-creation/test-failed-1.png"
      ],
      "module": "Organization",
      "submodule": "New EMployee",
      "description": "Employee Name and Personal Email ID is being accepted under Emergency Contact Name and Official Email IDs respectively",
      "expected": "Employee Name cannot be the same as Emergency Contact Person's Name Personal Email ID cannot be mapped as Official Email IDs. All fields in New Employee Creation should have unique values because there is no scenario that should take duplicate values",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-105 · the phone country code list covers more than India and the US",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:138",
      "outcome": "failed",
      "key": "SHR-105",
      "label": "fb",
      "note": "SHR-105 · Fix · Employee Lifecycle › Employee Creation — Phone Number Extension dropdown only has India and US",
      "links": [],
      "error": "Error: country codes offered: IN +91, US +1\n\nexpect(received).toBeGreaterThan(expected)\n\nExpected: > 2\nReceived:   2",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-employee-creation/new-employee-form-new-empl-919c9--more-than-India-and-the-US-fb-employee-creation/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "description": "Phone Number Extension dropdown only has India and US",
      "expected": "Add phone number extensions for other loactions and states as well",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-106 · a phone number of the right length is accepted (India and US)",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:146",
      "outcome": "passed",
      "key": "SHR-106",
      "label": "fb",
      "note": "SHR-106 · Fix · Employee Lifecycle › Employee Creation — Although phone number has been provided in the recommended length, it is throwing an error",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "description": "Although phone number has been provided in the recommended length, it is throwing an error",
      "expected": "Please investigate this error",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-107 · with a US phone number the emergency contact must use the same country code",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:161",
      "outcome": "failed",
      "key": "SHR-107",
      "label": "fb",
      "note": "SHR-107 · Fix · Employee Lifecycle › Employee Creation — Employee phone number in US Extension and Emergency Contact is in India Extension",
      "links": [],
      "error": "Error: a US employee phone with an Indian (+91) emergency phone is refused — instead the form sent it and the server accepted every field (it only refused the employee number the test swapped in, so nothing was saved)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-employee-creation/new-employee-form-new-empl-f4ec4-t-use-the-same-country-code-fb-employee-creation/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "description": "Employee phone number in US Extension and Emergency Contact is in India Extension",
      "expected": "If employee's phone number is added with US Phone Extension, their emerhency contact should have the same Phone Extension.",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-026 · a partly filled form can be saved as a draft and comes back after closing",
      "file": "tests/feedback/employee-creation/new-employee-form.spec.ts:173",
      "outcome": "passed",
      "key": "SHR-026",
      "label": "fb",
      "note": "SHR-026 · Enhancement · Organization › New Employee Creation — Issues Observed:",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Organization",
      "submodule": "New Employee Creation",
      "description": "Issues Observed: Auto-fill: Personal Email and Emergency Contact details should not be auto-filled using the candidate’s details, as these can be different. Save as Draft: There is no option to save partially entered employee details. If the form is accidentally closed, all the details need to be entered again. A Save as Draft option is required.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-029 · each employee class explains which roles belong in it",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:15",
      "outcome": "passed",
      "key": "SHR-029",
      "label": "fb",
      "note": "SHR-029 · Clarification · Employee Lifecycle › Employee Creation — Could you please clarify the criteria for each Employee Class: Management, Professional, Staff, Operations, and Intern? It would help us understand which employees/positions should fall under each classification and ensu",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "description": "Query: Could you please clarify the criteria for each Employee Class: Management, Professional, Staff, Operations, and Intern? It would help us understand which employees/positions should fall under each classification and ensure that the correct class is selected during employee creation.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-035 · \"Position code is already in use\" goes away by itself",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:32",
      "outcome": "passed",
      "key": "SHR-035",
      "label": "fb",
      "note": "SHR-035 · Enhancement · Employee Lifecycle › Position Creation — The error notification “Could not save - Position code is already in use” continues to remain on the screen and does not disappear automatically. Even after navigating to or working on other options/modules, the notifica",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Position Creation",
      "description": "Issue: The error notification “Could not save - Position code is already in use” continues to remain on the screen and does not disappear automatically. Even after navigating to or working on other options/modules, the notification remains visible. Ideally, the notification should disappear automatically after a few seconds or when the user navigates away from the relevant action.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-038 · the import recognises positions that already exist (preview only, nothing imported)",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:68",
      "outcome": "passed",
      "key": "SHR-038",
      "label": "fb",
      "note": "SHR-038 · Fix · Employee Lifecycle › Bulk Upload — The required positions are already created and available in the system, but during bulk employee import, the system is showing the error “Position: no position called …” and is not recognising the positions provided in t",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Bulk Upload",
      "description": "Observation: The required positions are already created and available in the system, but during bulk employee import, the system is showing the error “Position: no position called …” and is not recognising the positions provided in the import template. Please check whether the bulk import is correctly fetching/matching the positions already configured in the system.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-039 · an employee can hold more than one role (e.g. HR Manager and Reporting Manager)",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:92",
      "outcome": "failed",
      "key": "SHR-039",
      "label": "fb",
      "note": "SHR-039 · Clarification · Employee Lifecycle › Role Creation — The system currently appears to allow only one role to be assigned to an employee. However, an employee may perform multiple responsibilities simultaneously. For example, an employee can hold the position of HR Manager f",
      "links": [],
      "error": "Error: both roles stay selected; the Role field shows \"Reporting Manager\"\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-employee-creation/positions-import-access-ro-ed274-ager-and-Reporting-Manager--fb-employee-creation/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Role Creation",
      "description": "Clarification Required: The system currently appears to allow only one role to be assigned to an employee. However, an employee may perform multiple responsibilities simultaneously. For example, an employee can hold the position of HR Manager for the organisation while also being the Reporting Manager for members of the HR team.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-039 · Settings → Roles lets a user be a member of a second role",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:103",
      "outcome": "failed",
      "key": "SHR-039",
      "label": "fb",
      "note": "SHR-039 · Clarification · Employee Lifecycle › Role Creation — The system currently appears to allow only one role to be assigned to an employee. However, an employee may perform multiple responsibilities simultaneously. For example, an employee can hold the position of HR Manager f",
      "links": [],
      "error": "Error: adding someone to a role keeps the roles they already hold\n\nexpect(locator).toHaveCount(expected) failed\n\nLocator:  getByRole('dialog').last().getByText(/One role per user/i)\nExpected: 0\nReceived: 1\nTimeout:  30000ms\n\nCall log:\n  - adding someone to a role keeps the roles they already hold getByRole('dialog').last().getByText(/One role per user/i) with timeout 30000ms\n  - waiting for getByRole('dialog').last().getByText(/One role per user/i)\n    63 × locator resolved to 1 element\n       - unexpected value \"1\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-employee-creation/positions-import-access-ro-79b68-e-a-member-of-a-second-role-fb-employee-creation/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Role Creation",
      "description": "Clarification Required: The system currently appears to allow only one role to be assigned to an employee. However, an employee may perform multiple responsibilities simultaneously. For example, an employee can hold the position of HR Manager for the organisation while also being the Reporting Manager for members of the HR team.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-006 · the reviewer's three test employees received working sign-ins",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:128",
      "outcome": "passed",
      "key": "SHR-006",
      "label": "fb",
      "note": "SHR-006 · Fix · Employee Lifecycle › New Employee Creation — I have created the three test IDs for Aarav Testman, Nisha Sample, and Rohan Demo. However, the credentials have not been generated in the HR CC account. I also went to Settings > Users and re-shared the invite, but it i",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "I have created the three test IDs for Aarav Testman, Nisha Sample, and Rohan Demo. However, the credentials have not been generated in the HR CC account. I also went to Settings > Users and re-shared the invite, but it is still not showing up",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-006 · the Employees list says \"Can sign in\" only for people whose sign-in actually works",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:139",
      "outcome": "failed",
      "key": "SHR-006",
      "label": "fb",
      "note": "SHR-006 · Fix · Employee Lifecycle › New Employee Creation — I have created the three test IDs for Aarav Testman, Nisha Sample, and Rohan Demo. However, the credentials have not been generated in the HR CC account. I also went to Settings > Users and re-shared the invite, but it i",
      "links": [],
      "error": "Error: \"Can sign in\" shown for people who never accepted their invitation or have no account here\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  -  1\n+ Received  + 16\n\n- Array []\n+ Array [\n+   \"Abhishek Kumar (account: none in this company)\",\n+   \"Aditya Ranganathan (account: invited)\",\n+   \"Anant (account: invited)\",\n+   \"Kabir Anand (account: none in this company)\",\n+   \"Meera Kulkarni (account: invited)\",\n+   \"Neera bv.aj (account: invited)\",\n+   \"OBT Invite Bulk (account: invited)\",\n+   \"OBT Invite Failure (account: invited)\",\n+   \"Onboarding Management (account: invited)\",\n+   \"Pramod Singh (account: invited)\",\n+   \"Probe Leaver (Demo) (account: invited)\",\n+   \"Rhea Menon (Demo) (account: invited)\",\n+   \"Ritika Chourasia (account: invited)\",\n+   \"Role Test (account: invited)\",\n+ ]",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "I have created the three test IDs for Aarav Testman, Nisha Sample, and Rohan Demo. However, the credentials have not been generated in the HR CC account. I also went to Settings > Users and re-shared the invite, but it is still not showing up",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-011 · pre-existing employees can sign in and use the app",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:149",
      "outcome": "passed",
      "key": "SHR-011",
      "label": "fb",
      "note": "SHR-011 · Fix · Employee Lifecycle › Login — Unable to login using pre-existing employees as well",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Login",
      "description": "Unable to login using pre-existing employees as well",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-026 · converting a candidate does not copy their application email into Personal email",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:161",
      "outcome": "passed",
      "key": "SHR-026",
      "label": "fb",
      "note": "SHR-026 · Enhancement · Organization › New Employee Creation — Issues Observed:",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Organization",
      "submodule": "New Employee Creation",
      "description": "Issues Observed: Auto-fill: Personal Email and Emergency Contact details should not be auto-filled using the candidate’s details, as these can be different. Save as Draft: There is no option to save partially entered employee details. If the form is accidentally closed, all the details need to be entered again. A Save as Draft option is required.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-031 · an invitation to set a password is recorded, confirmed and can be re-sent",
      "file": "tests/feedback/employee-creation/positions-import-access.spec.ts:182",
      "outcome": "passed",
      "key": "SHR-031",
      "label": "fb",
      "note": "SHR-031 · Fix · Employee Lifecycle › Employee Creation — The employee ID/record is being generated successfully, but the login credentials/password setup email is not being received. I tested this using my own email address as well, but no email has been received either in the",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Employee Creation",
      "description": "Issue: The employee ID/record is being generated successfully, but the login credentials/password setup email is not being received. I tested this using my own email address as well, but no email has been received either in the HR mailbox or in my personal/work mailbox. The screen confirms that an invitation to set the password has been emailed, however, the email is not being delivered.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-004 · an employee created from Organization gets the same pre-boarding checklist as a recruitment hire",
      "file": "tests/feedback/onboarding/new-joiner.spec.ts:50",
      "outcome": "failed",
      "key": "SHR-004",
      "label": "fb",
      "note": "SHR-004 · Fix · Critical · Employee Lifecycle › New Employee Creation — Pre-boarding Checklist listed under employee creation through Recruitment is missed for employees created from Organization module. Irrespective of the module from which a new joinee is added, preboarding steps are same ",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-082",
        "https://satellitehr-qa-issues.pages.dev/ISS-314"
      ],
      "error": "Error: FB Test Org Joiner Cacgbabf (created from Organization, joining today) has an onboarding record — instead there is none, so no pre-boarding checklist was started\n\nexpect(received).toBeGreaterThan(expected)\n\nExpected: > 0\nReceived:   0",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "Pre-boarding Checklist listed under employee creation through Recruitment is missed for employees created from Organization module. Irrespective of the module from which a new joinee is added, preboarding steps are same for all full-time employees",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-005 · a joiner starting today gets document-collection tasks",
      "file": "tests/feedback/onboarding/new-joiner.spec.ts:58",
      "outcome": "failed",
      "key": "SHR-005",
      "label": "fb",
      "note": "SHR-005 · Fix · Employee Lifecycle › New Employee Creation — Employees created today as New Employee from Organization Module whose DOJ is today and whose preboarding steps are pending(Document Submission) - No trigger on their home page or notifications on their email or pending ",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-314"
      ],
      "error": "Error: document collection is triggered for FB Test Org Joiner Cacgbabf on the joining day — instead no document task exists (no onboarding record at all)\n\nexpect(received).not.toHaveLength(expected)\n\nExpected length: not 0\nReceived array:      []",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "Employees created today as New Employee from Organization Module whose DOJ is today and whose preboarding steps are pending(Document Submission) - No trigger on their home page or notifications on their email or pending tasks diplayed on their home page",
      "expected": "Onboarding activities - Document Collection is not getting triggered. But Onboarding is shown as complete",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-005 · the joiner’s pending onboarding tasks show on the owners’ Home",
      "file": "tests/feedback/onboarding/new-joiner.spec.ts:64",
      "outcome": "failed",
      "key": "SHR-005",
      "label": "fb",
      "note": "SHR-005 · Fix · Employee Lifecycle › New Employee Creation — Employees created today as New Employee from Organization Module whose DOJ is today and whose preboarding steps are pending(Document Submission) - No trigger on their home page or notifications on their email or pending ",
      "links": [],
      "error": "Error: an HR owner (HR Manager, HR Head or HR SPOC) has FB Test Org Joiner Cacgbabf's onboarding tasks under \"Your onboarding tasks\" — instead none of them does\n\nexpect(received).not.toHaveLength(expected)\n\nExpected length: not 0\nReceived array:      []",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "Employees created today as New Employee from Organization Module whose DOJ is today and whose preboarding steps are pending(Document Submission) - No trigger on their home page or notifications on their email or pending tasks diplayed on their home page",
      "expected": "Onboarding activities - Document Collection is not getting triggered. But Onboarding is shown as complete",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-007 · New joinees does not show onboarding “Complete” while nothing has been done",
      "file": "tests/feedback/onboarding/new-joiner.spec.ts:76",
      "outcome": "failed",
      "key": "SHR-007",
      "label": "fb",
      "note": "SHR-007 · Fix · Employee Lifecycle › New Employee Creation — The onboarding activities for the test employees have not yet been completed, but the system is already showing the onboarding status as “Complete.”",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-314"
      ],
      "error": "Error: the Onboarding column reflects that no onboarding task is done (API: status null, 0/0 tasks) — instead it says \"Complete\"\n\nexpect(received).not.toMatch(expected)\n\nExpected pattern: not /^Complete$/\nReceived string:      \"Complete\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-onboarding/new-joiner-new-joiner-crea-382a5-while-nothing-has-been-done-fb-onboarding/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "New Employee Creation",
      "description": "The onboarding activities for the test employees have not yet been completed, but the system is already showing the onboarding status as “Complete.”",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-013 · the IT team gets the IT checklist for a joiner starting today",
      "file": "tests/feedback/onboarding/new-joiner.spec.ts:90",
      "outcome": "failed",
      "key": "SHR-013",
      "label": "fb",
      "note": "SHR-013 · Fix · Employee Lifecycle › Onboarding — IT Checklist not getting triggered for today's new joiners",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-247"
      ],
      "error": "Error: QA IT has FB Test Org Joiner Cacgbabf's IT checklist (Home \"Your onboarding tasks\" or Inbox) on the joining day — instead it has nothing\n\nexpect(received).toBeGreaterThan(expected)\n\nExpected: > 0\nReceived:   0",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Onboarding",
      "description": "IT Checklist not getting triggered for today's new joiners",
      "expected": "Checklists not getting triggered for Onboarding Stakeholders. This needs to be notified to them and displayed on their homeage as pending",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-013 · once onboarding starts, IT is notified and has the IT items on Home",
      "file": "tests/feedback/onboarding/new-joiner.spec.ts:98",
      "outcome": "passed",
      "key": "SHR-013",
      "label": "fb",
      "note": "SHR-013 · Fix · Employee Lifecycle › Onboarding — IT Checklist not getting triggered for today's new joiners",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Onboarding",
      "description": "IT Checklist not getting triggered for today's new joiners",
      "expected": "Checklists not getting triggered for Onboarding Stakeholders. This needs to be notified to them and displayed on their homeage as pending",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-033 · started with the stakeholder checklist, each stakeholder gets their own items",
      "file": "tests/feedback/onboarding/new-joiner.spec.ts:112",
      "outcome": "passed",
      "key": "SHR-033",
      "label": "fb",
      "note": "SHR-033 · Fix · High · Employee Lifecycle › Pre-boarding — Vinay Yenduri was created from the recruitment module and sent to Onboarding. The workflow of document collection and checklists to Onboarding Stakeholders hasn't been triggered. Nothing in the Home Page, Inbox, or notif",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-247",
        "https://satellitehr-qa-issues.pages.dev/ISS-223"
      ],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Pre-boarding",
      "description": "Vinay Yenduri was created from the recruitment module and sent to Onboarding. The workflow of document collection and checklists to Onboarding Stakeholders hasn't been triggered. Nothing in the Home Page, Inbox, or notifications. Checklist is displayed as 0/0 completed and for a few employees, without any assignment or action, Onboarding is displayed as 5/5 completed upon creation.",
      "expected": "Once a candidate's offer letter is released by the TA Team, the candidate is moved to the Pre-boarding stage. There are a checklist of actions pending during pre-boarding. The Onboarding stakeholder checklist needs to be triggered and displayed in pending tasks+Home Screen of the respective stakeholders buckets - a. Document Collection from Candidate - Govt IDs(Aadhar Card, PAN Card, Passport), Bank Document(Cancelled Cheque/Header of Bank Statement/Cover Page of Passbook) , Education Documents(10th Marks Memo, Intermediate Marks UG Memo, PG Memo), Employment Documents(Offer, Hike and Relieving Letters), Signed Offer Letter, Form 11 and PF Declaration, Gratuity Nomination, Benefits Forms with date and timestamp and digital signature(VPF, NPS, Sodexo, GMC, GPA), HD Photograph, Form (Professional Bio for welcome email, Hobbies, Father's Name, DOB, Name as per Aadhar, Name as per PAN, Name as per Bank Document, Present Address, Current Address, Blood Group[drop down], Emergency Contact Name, Phone Number and address, Declaration on deductions and accuracy of information) b. Reporting Manager(Buddy Assignment, KRAs assignment, Stakeholder List for Introductory Meetings, 30-day KT Plan), Tools Configuration, Office Access and Assets Provision (Bangalore Office) c. HR - Document Verification and checklist monitoring of other stakeholders as the owner of Onboarding d. IT - IT Asset Preparation, DevOps and IT Tools Provisioning e. Admin - Hyd Office - Welcome Kit, Office Tour, ID Card, Seat Allocation Remote/Bangalore - Welcome Kit, IT Assets",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-012 · a card at 0% progress shows no stage as completed",
      "file": "tests/feedback/onboarding/onboarding-board.spec.ts:14",
      "outcome": "passed",
      "key": "SHR-012",
      "label": "fb",
      "note": "SHR-012 · Fix · Employee Lifecycle › Onboarding — In Meera Nair’s case, Induction is showing as completed despite the overall onboarding progress being 0%. Also, key employee information such as Employee ID and Email ID is not displaying in the details section.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-314"
      ],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Onboarding",
      "description": "Issue: In Meera Nair’s case, Induction is showing as completed despite the overall onboarding progress being 0%. Also, key employee information such as Employee ID and Email ID is not displaying in the details section.",
      "expected": "Expected Result: The stages should reflect the actual onboarding progress, and the Employee ID and Email ID should be displayed correctly once available",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-012 · the joiner panel shows the Employee ID and email once they exist",
      "file": "tests/feedback/onboarding/onboarding-board.spec.ts:47",
      "outcome": "passed",
      "key": "SHR-012",
      "label": "fb",
      "note": "SHR-012 · Fix · Employee Lifecycle › Onboarding — In Meera Nair’s case, Induction is showing as completed despite the overall onboarding progress being 0%. Also, key employee information such as Employee ID and Email ID is not displaying in the details section.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-082"
      ],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Onboarding",
      "description": "Issue: In Meera Nair’s case, Induction is showing as completed despite the overall onboarding progress being 0%. Also, key employee information such as Employee ID and Email ID is not displaying in the details section.",
      "expected": "Expected Result: The stages should reflect the actual onboarding progress, and the Employee ID and Email ID should be displayed correctly once available",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-033 · no recruitment hire sits in onboarding with an empty 0/0 checklist",
      "file": "tests/feedback/onboarding/onboarding-board.spec.ts:63",
      "outcome": "failed",
      "key": "SHR-033",
      "label": "fb",
      "note": "SHR-033 · Fix · High · Employee Lifecycle › Pre-boarding — Vinay Yenduri was created from the recruitment module and sent to Onboarding. The workflow of document collection and checklists to Onboarding Stakeholders hasn't been triggered. Nothing in the Home Page, Inbox, or notif",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-314"
      ],
      "error": "Error: HR SPOC can see which checklist a joiner gets (no \"(unavailable)\" picker: the checklist list returns 403 templates.view)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: 1",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-onboarding/onboarding-board-onboardin-00416-with-an-empty-0-0-checklist-fb-onboarding/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Pre-boarding",
      "description": "Vinay Yenduri was created from the recruitment module and sent to Onboarding. The workflow of document collection and checklists to Onboarding Stakeholders hasn't been triggered. Nothing in the Home Page, Inbox, or notifications. Checklist is displayed as 0/0 completed and for a few employees, without any assignment or action, Onboarding is displayed as 5/5 completed upon creation.",
      "expected": "Once a candidate's offer letter is released by the TA Team, the candidate is moved to the Pre-boarding stage. There are a checklist of actions pending during pre-boarding. The Onboarding stakeholder checklist needs to be triggered and displayed in pending tasks+Home Screen of the respective stakeholders buckets - a. Document Collection from Candidate - Govt IDs(Aadhar Card, PAN Card, Passport), Bank Document(Cancelled Cheque/Header of Bank Statement/Cover Page of Passbook) , Education Documents(10th Marks Memo, Intermediate Marks UG Memo, PG Memo), Employment Documents(Offer, Hike and Relieving Letters), Signed Offer Letter, Form 11 and PF Declaration, Gratuity Nomination, Benefits Forms with date and timestamp and digital signature(VPF, NPS, Sodexo, GMC, GPA), HD Photograph, Form (Professional Bio for welcome email, Hobbies, Father's Name, DOB, Name as per Aadhar, Name as per PAN, Name as per Bank Document, Present Address, Current Address, Blood Group[drop down], Emergency Contact Name, Phone Number and address, Declaration on deductions and accuracy of information) b. Reporting Manager(Buddy Assignment, KRAs assignment, Stakeholder List for Introductory Meetings, 30-day KT Plan), Tools Configuration, Office Access and Assets Provision (Bangalore Office) c. HR - Document Verification and checklist monitoring of other stakeholders as the owner of Onboarding d. IT - IT Asset Preparation, DevOps and IT Tools Provisioning e. Admin - Hyd Office - Welcome Kit, Office Tour, ID Card, Seat Allocation Remote/Bangalore - Welcome Kit, IT Assets",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-043 · Agenda is a CSV/XLSX upload for the 30-day KT plan",
      "file": "tests/feedback/onboarding/onboarding-board.spec.ts:78",
      "outcome": "passed",
      "key": "SHR-043",
      "label": "fb",
      "note": "SHR-043 · Fix · Onboarding › Preboarding — Agenda is a file-upload field that captures the new joinee's 30-day Onboarding Agenda. the description needs to change. currently the button says record. it should have an option of uploading the agenda",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Onboarding",
      "submodule": "Preboarding",
      "description": "Agenda is a file-upload field that captures the new joinee's 30-day Onboarding Agenda. the description needs to change. currently the button says record. it should have an option of uploading the agenda",
      "expected": "Make Agenda a file-upload field accepting CSV/XLSX and update the description from \"One line Agenda\" to \"New Joinee's 30-day KT Plan\"",
      "skipReason": ""
    },
    {
      "kind": "skipped",
      "title": "SHR-042 · the candidate’s document form has a Submit button and confirms the submission",
      "file": "tests/feedback/onboarding/onboarding-board.spec.ts:109",
      "outcome": "skipped",
      "key": "SHR-042",
      "label": "fb",
      "note": "SHR-042 · Fix · Documents › Joining documents — Candidate form doesnt have submit option or an acknowledgment that the documents are submitted",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Documents",
      "submodule": "Joining documents",
      "description": "Candidate form doesnt have submit option or an acknowledgment that the documents are submitted",
      "expected": "Need both the submit option and acknowledgment message to Candidate. It should allow candidate to submit the documents incase if they have missed any fields.",
      "skipReason": "needs a candidate upload link (E2E_PREBOARDING_LINK): the link is only emailed to the candidate"
    },
    {
      "kind": "passed",
      "title": "SHR-044 · the schedule form has Start time and End time",
      "file": "tests/feedback/onboarding/orientation-and-self-service.spec.ts:17",
      "outcome": "passed",
      "key": "SHR-044",
      "label": "fb",
      "note": "SHR-044 · Fix · Orientation › Schedule a Session — Time input fields are missing. No notifications triggered.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Orientation",
      "submodule": "Schedule a Session",
      "description": "Time input fields are missing. No notifications triggered.",
      "expected": "Attendees must receive notification as soon as the meeting is scheduled Start Time and End Time fields must be added.",
      "skipReason": ""
    },
    {
      "kind": "skipped",
      "title": "SHR-044 · attendees are notified as soon as the session is scheduled",
      "file": "tests/feedback/onboarding/orientation-and-self-service.spec.ts:27",
      "outcome": "skipped",
      "key": "SHR-044",
      "label": "fb",
      "note": "SHR-044 · Fix · Orientation › Schedule a Session — Time input fields are missing. No notifications triggered.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Orientation",
      "submodule": "Schedule a Session",
      "description": "Time input fields are missing. No notifications triggered.",
      "expected": "Attendees must receive notification as soon as the meeting is scheduled Start Time and End Time fields must be added.",
      "skipReason": "Cannot verify delivery: attendees can only be new joiners, and no new joiner has a QA session"
    },
    {
      "kind": "passed",
      "title": "SHR-045 · mandatory and optional attendees are picked in the schedule window and can be changed later",
      "file": "tests/feedback/onboarding/orientation-and-self-service.spec.ts:40",
      "outcome": "passed",
      "key": "SHR-045",
      "label": "fb",
      "note": "SHR-045 · Fix · Orientation › Schedule a Session — Attendees list isn't sought at the time of scheduling a session. I have to schedule a meeting and then add attendees through manage attendees.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Orientation",
      "submodule": "Schedule a Session",
      "description": "Attendees list isn't sought at the time of scheduling a session. I have to schedule a meeting and then add attendees through manage attendees.",
      "expected": "Add a field where mandatory and optional attendees can be added while scheduling the session in the first window with the option to edit this list later",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-063 · an employee can see and complete their own onboarding details",
      "file": "tests/feedback/onboarding/orientation-and-self-service.spec.ts:54",
      "outcome": "failed",
      "key": "SHR-063",
      "label": "fb",
      "note": "SHR-063 · Clarification · High · Employee Lifecycle › Onboarding — Where does the new joinee enter their details after Onboarding?",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-250"
      ],
      "error": "Error: the employee can read their own record (joining, onboarding, probation)\n\nexpect(received).not.toMatch(expected)\n\nExpected pattern: not /not open to the workforce|you cannot/i\nReceived string:      \"Your record Joining, onboarding, probation, every move and every manager since — the whole timeline. It is kept in the lifecycle module, which is not open to the workforce yet, so your People team can read it and you cannot. Ask them for anything you need in the meantime.\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-onboarding/orientation-and-self-servi-c5fda-heir-own-onboarding-details-fb-onboarding/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Onboarding",
      "description": "Where does the new joinee enter their details after Onboarding?",
      "expected": "Once a newly created employee login to their HRMS, they should be prompted to complete their Onboarding - All information collected in the Induction Form should be pulled and populated here and additional data should be collected. This data and file upload fields flow into the HR Records(HRIS). This is currently available on HRMS.",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-090 · the probation confirmation form lists the seven evaluation criteria",
      "file": "tests/feedback/confirmation/probation-form.spec.ts:21",
      "outcome": "failed",
      "key": "SHR-090",
      "label": "fb",
      "note": "SHR-090 · Fix · Employee Lifecycle › Confirmation — Probation Confirmation Form: A detailed review of each section and column is required for every employee approaching probation completion. The same form will be used by the Reporting Manager, Department Head, and HR Head",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-087",
        "https://satellitehr-qa-issues.pages.dev/ISS-085"
      ],
      "error": "Error: a confirmation question set covers every criterion — the closest, \"confirmation-review\", lacks these\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 8\n\n- Array []\n+ Array [\n+   \"Communication skills: verbal / written\",\n+   \"Job knowledge\",\n+   \"Initiative in learning new skills\",\n+   \"Application of skills to the current job\",\n+   \"Effective problem solving\",\n+   \"Interpersonal skills (superiors, peers, subordinates)\",\n+ ]",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Confirmation",
      "description": "Probation Confirmation Form: A detailed review of each section and column is required for every employee approaching probation completion. The same form will be used by the Reporting Manager, Department Head, and HR Head to provide feedback and approvals against each evaluation criterion. This standardized review process ensures that probation performance is comprehensively assessed, documented, and approved by all relevant stakeholders before confirming the employee's employment status. The form serves as the official record for collecting feedback, recommendations, and final approval for probation confirmation.",
      "expected": "Probation Confirmation Questionnaire Skills Self rating Rating Comments How is the work quality(accuracy, promptness and effectiveness in completion of work assigned) Add comment How the communication Skills : Verbal /Written Add comment job knowledge Add comment Candidates initative in learning new skills required for the current responsibilities Add comment Application of self skills as per current Job requirements Add comment Effective problem solving skills Add comment Interpersonal Skills (relations with superiors, peers and subordinates Add comment",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-090 · each criterion takes a self rating, a rating and a comment",
      "file": "tests/feedback/confirmation/probation-form.spec.ts:32",
      "outcome": "failed",
      "key": "SHR-090",
      "label": "fb",
      "note": "SHR-090 · Fix · Employee Lifecycle › Confirmation — Probation Confirmation Form: A detailed review of each section and column is required for every employee approaching probation completion. The same form will be used by the Reporting Manager, Department Head, and HR Head",
      "links": [],
      "error": "Error: a question can carry the employee's self rating (answer types offered: Rating 1–5, Written answer, Yes / no)\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /self.?rating|self.?assessment/i\nReceived string:  \"Rating 1–5 | Written answer | Yes / no New question set·\nName the set and add the questions each review will ask.·\nName\n1\nRating 1–5\nRequired\nScored\nAdd question\nCancel\n1 question empty\"\nError: a rated question can also take a comment\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /comment/i\nReceived string:  \"Rating 1–5 | Written answer | Yes / no New question set·\nName the set and add the questions each review will ask.·\nName\n1\nRating 1–5\nRequired\nScored\nAdd question\nCancel\n1 question empty\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-confirmation/probation-form-probation-c-7b864-ting-a-rating-and-a-comment-fb-confirmation/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Confirmation",
      "description": "Probation Confirmation Form: A detailed review of each section and column is required for every employee approaching probation completion. The same form will be used by the Reporting Manager, Department Head, and HR Head to provide feedback and approvals against each evaluation criterion. This standardized review process ensures that probation performance is comprehensively assessed, documented, and approved by all relevant stakeholders before confirming the employee's employment status. The form serves as the official record for collecting feedback, recommendations, and final approval for probation confirmation.",
      "expected": "Probation Confirmation Questionnaire Skills Self rating Rating Comments How is the work quality(accuracy, promptness and effectiveness in completion of work assigned) Add comment How the communication Skills : Verbal /Written Add comment job knowledge Add comment Candidates initative in learning new skills required for the current responsibilities Add comment Application of self skills as per current Job requirements Add comment Effective problem solving skills Add comment Interpersonal Skills (relations with superiors, peers and subordinates Add comment",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-090 · the Reporting Manager, the Department Head and the HR Head each review the form",
      "file": "tests/feedback/confirmation/probation-form.spec.ts:50",
      "outcome": "failed",
      "key": "SHR-090",
      "label": "fb",
      "note": "SHR-090 · Fix · Employee Lifecycle › Confirmation — Probation Confirmation Form: A detailed review of each section and column is required for every employee approaching probation completion. The same form will be used by the Reporting Manager, Department Head, and HR Head",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-088"
      ],
      "error": "Error: a step goes to the HR Head (not \"any one of\" the HR partners)\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /HR Head/\nReceived string:  \"· Primary Manager: unresolved | · Department Head, or HR | · HR Partner · any one of 14\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-confirmation/probation-form-probation-c-161fc-R-Head-each-review-the-form-fb-confirmation/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Confirmation",
      "description": "Probation Confirmation Form: A detailed review of each section and column is required for every employee approaching probation completion. The same form will be used by the Reporting Manager, Department Head, and HR Head to provide feedback and approvals against each evaluation criterion. This standardized review process ensures that probation performance is comprehensively assessed, documented, and approved by all relevant stakeholders before confirming the employee's employment status. The form serves as the official record for collecting feedback, recommendations, and final approval for probation confirmation.",
      "expected": "Probation Confirmation Questionnaire Skills Self rating Rating Comments How is the work quality(accuracy, promptness and effectiveness in completion of work assigned) Add comment How the communication Skills : Verbal /Written Add comment job knowledge Add comment Candidates initative in learning new skills required for the current responsibilities Add comment Application of self skills as per current Job requirements Add comment Effective problem solving skills Add comment Interpersonal Skills (relations with superiors, peers and subordinates Add comment",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-062 · an employee can submit their own resignation in the system",
      "file": "tests/feedback/exit/exit-forms.spec.ts:53",
      "outcome": "passed",
      "key": "SHR-062",
      "label": "fb",
      "note": "SHR-062 · Fix · Employee Lifecycle › Exit — Currently, employees do not have an option to submit their resignation through the system. The resignation/separation process can only be initiated by the Super Admin.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-081"
      ],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Exit",
      "description": "Currently, employees do not have an option to submit their resignation through the system. The resignation/separation process can only be initiated by the Super Admin.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-061 · the exit module is open to employees",
      "file": "tests/feedback/exit/exit-forms.spec.ts:62",
      "outcome": "passed",
      "key": "SHR-061",
      "label": "fb",
      "note": "SHR-061 · Fix · Employee Lifecycle › Exit — 1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Exit",
      "description": "1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days. 2. No notifications triggered on any exit stakeholders logins",
      "expected": "1. Exit Module to be enabled and displayed for employees 2. Configure Notice Period policy to auto-define LWD by the location/jurisdiction in the resignation window (India - 60 days; Other Countries - 14 days) 3. Customize notifications according to the length of the requested last working day 4. Trigger approval and notification workflows to all stakeholders as soon as an employee resigns",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-061 · the notice period comes from the employee’s location: 60 days in India",
      "file": "tests/feedback/exit/exit-forms.spec.ts:70",
      "outcome": "failed",
      "key": "SHR-061",
      "label": "fb",
      "note": "SHR-061 · Fix · Employee Lifecycle › Exit — 1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days",
      "links": [],
      "error": "Error: an employee in India gets a 60-day notice period — instead the form says \"Your 30-day notice ends 14 Nov 2026.\"\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: \"60\"\nReceived: \"30\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-exit/exit-forms-resignation-by--2d0c9-s-location-60-days-in-India-fb-exit/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Exit",
      "description": "1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days. 2. No notifications triggered on any exit stakeholders logins",
      "expected": "1. Exit Module to be enabled and displayed for employees 2. Configure Notice Period policy to auto-define LWD by the location/jurisdiction in the resignation window (India - 60 days; Other Countries - 14 days) 3. Customize notifications according to the length of the requested last working day 4. Trigger approval and notification workflows to all stakeholders as soon as an employee resigns",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-061 · notice periods are set per jurisdiction (India 60 days, other countries 14)",
      "file": "tests/feedback/exit/exit-forms.spec.ts:82",
      "outcome": "failed",
      "key": "SHR-061",
      "label": "fb",
      "note": "SHR-061 · Fix · Employee Lifecycle › Exit — 1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days",
      "links": [],
      "error": "Error: notice periods can differ by location/jurisdiction — instead there is one company-wide \"noticePeriodDays\": 30\n\nexpect(received).toBeTruthy()\n\nReceived: null",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Exit",
      "description": "1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days. 2. No notifications triggered on any exit stakeholders logins",
      "expected": "1. Exit Module to be enabled and displayed for employees 2. Configure Notice Period policy to auto-define LWD by the location/jurisdiction in the resignation window (India - 60 days; Other Countries - 14 days) 3. Customize notifications according to the length of the requested last working day 4. Trigger approval and notification workflows to all stakeholders as soon as an employee resigns",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-096 · changing the calculated relieving date asks for a reason for the change",
      "file": "tests/feedback/exit/exit-forms.spec.ts:89",
      "outcome": "failed",
      "key": "SHR-096",
      "label": "fb",
      "note": "SHR-096 · Fix · Employee Lifecycle › Offboarding — Unable to initiate the exit process from any login. Additionally, the system is currently displaying the \"Last Working Day (LWD)\" field upfront. Ideally, the process should capture the employee's resignation date and aut",
      "links": [],
      "error": "Error: moving the date adds a mandatory \"reason for the change\" field (the form only has: Last working day* | Reason*)\n\nexpect(received).toBeGreaterThan(expected)\n\nExpected: > 1\nReceived:   1",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-exit/exit-forms-resignation-by--03252-for-a-reason-for-the-change-fb-exit/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Offboarding",
      "description": "Unable to initiate the exit process from any login. Additionally, the system is currently displaying the \"Last Working Day (LWD)\" field upfront. Ideally, the process should capture the employee's resignation date and automatically calculate the relieving date based on the applicable notice period. If there is a need to modify the auto-calculated relieving date, the system should provide an option to update it along with a mandatory reason for the change and an appropriate approval workflow. Also, the terminology should be updated from \"Last Working Day (LWD)\" to \"Relieving Date\" throughout the process for consistency and better user experience.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-096 · HR can start an exit for any employee",
      "file": "tests/feedback/exit/exit-forms.spec.ts:104",
      "outcome": "failed",
      "key": "SHR-096",
      "label": "fb",
      "note": "SHR-096 · Fix · Employee Lifecycle › Offboarding — Unable to initiate the exit process from any login. Additionally, the system is currently displaying the \"Last Working Day (LWD)\" field upfront. Ideally, the process should capture the employee's resignation date and aut",
      "links": [],
      "error": "Error: every active employee can be picked (36 offered of 72 active; the picker loads only the first 50 employees) — these can't\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  -  1\n+ Received  + 38\n\n- Array []\n+ Array [\n+   \"Pramod Singh\",\n+   \"Preboarding Flowtest\",\n+   \"Priyasha Nair\",\n+   \"Probe Candidate\",\n+   \"QA Accounts\",\n+   \"QA Admin\",\n+   \"QA Buddy\",\n+   \"QA Department Head\",\n+   \"QA DevOps\",\n+   \"QA Employee One\",\n+   \"QA Employee Two\",\n+   \"QA HR Head\",\n+   \"QA HR Manager\",\n+   \"QA HR SPOC\",\n+   \"QA IT\",\n+   \"QA JSM\",\n+   \"QA Manager\",\n+   \"Raju Rastogi\",\n+   \"Ritika Bhatia\",\n+   \"Ritika Chourasia\",\n+   \"Rohan Gendercheck\",\n+   \"Rohan Patwardhan\",\n+   \"Role Test\",\n+   \"Sameer Khan\",\n+   \"Siya\",\n+   \"Sneha Vaidyanathan\",\n+   \"Tarun Abraham\",\n+   \"Test Department Head\",\n+   \"Test Hiring Manager\",\n+   \"Test HR Head\",\n+   \"Test Interviewer One\",",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-exit/exit-forms-exit-started-by-62461-rt-an-exit-for-any-employee-fb-exit/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Offboarding",
      "description": "Unable to initiate the exit process from any login. Additionally, the system is currently displaying the \"Last Working Day (LWD)\" field upfront. Ideally, the process should capture the employee's resignation date and automatically calculate the relieving date based on the applicable notice period. If there is a need to modify the auto-calculated relieving date, the system should provide an option to update it along with a mandatory reason for the change and an appropriate approval workflow. Also, the terminology should be updated from \"Last Working Day (LWD)\" to \"Relieving Date\" throughout the process for consistency and better user experience.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-096 · the exit form takes the resignation date and works out the relieving date",
      "file": "tests/feedback/exit/exit-forms.spec.ts:119",
      "outcome": "failed",
      "key": "SHR-096",
      "label": "fb",
      "note": "SHR-096 · Fix · Employee Lifecycle › Offboarding — Unable to initiate the exit process from any login. Additionally, the system is currently displaying the \"Last Working Day (LWD)\" field upfront. Ideally, the process should capture the employee's resignation date and aut",
      "links": [],
      "error": "Error: the form asks for the resignation date\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /Resignation date/i\nReceived string:  \"Employee | Last working day | Initiation\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-exit/exit-forms-exit-started-by-4ac89-orks-out-the-relieving-date-fb-exit/test-failed-1.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Offboarding",
      "description": "Unable to initiate the exit process from any login. Additionally, the system is currently displaying the \"Last Working Day (LWD)\" field upfront. Ideally, the process should capture the employee's resignation date and automatically calculate the relieving date based on the applicable notice period. If there is a need to modify the auto-calculated relieving date, the system should provide an option to update it along with a mandatory reason for the change and an appropriate approval workflow. Also, the terminology should be updated from \"Last Working Day (LWD)\" to \"Relieving Date\" throughout the process for consistency and better user experience.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-096 · the forms say “Relieving date”, not “Last working day”",
      "file": "tests/feedback/exit/exit-forms.spec.ts:129",
      "outcome": "failed",
      "key": "SHR-096",
      "label": "fb",
      "note": "SHR-096 · Fix · Employee Lifecycle › Offboarding — Unable to initiate the exit process from any login. Additionally, the system is currently displaying the \"Last Working Day (LWD)\" field upfront. Ideally, the process should capture the employee's resignation date and aut",
      "links": [],
      "error": "Error: HR Start exit says \"Relieving date\"\n\nexpect(received).not.toMatch(expected)\n\nExpected pattern: not /Last working day/i\nReceived string:      \"Start an exit\n\nOpens the exit-approval flow, the clearance lanes, and a knowledge-transfer plan. Payroll lock defaults to five days before the last day.\n\nEmployee\nPick an employee\nLast working day\nPick the last day\nInitiation\nResignation\nCancel\nStart exit\"\nError: the employee Resign form says \"Relieving date\"\n\nexpect(received).not.toMatch(expected)\n\nExpected pattern: not /Last working day/i\nReceived string:      \"Resign\n\nThis starts your exit. Your approvers are notified as soon as you submit.\n\nLast working day*\n14 Nov 2026\n\nYour 30-day notice ends 14 Nov 2026.\n\nReason*\n\nSeen by your approvers.\n\nCancel\nSubmit resignation\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-exit/exit-forms-exit-started-by-b039a-ate”-not-“Last-working-day”-fb-exit/test-failed-1.png",
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-exit/exit-forms-exit-started-by-b039a-ate”-not-“Last-working-day”-fb-exit/test-failed-2.png"
      ],
      "module": "Employee Lifecycle",
      "submodule": "Offboarding",
      "description": "Unable to initiate the exit process from any login. Additionally, the system is currently displaying the \"Last Working Day (LWD)\" field upfront. Ideally, the process should capture the employee's resignation date and automatically calculate the relieving date based on the applicable notice period. If there is a need to modify the auto-calculated relieving date, the system should provide an option to update it along with a mandatory reason for the change and an appropriate approval workflow. Also, the terminology should be updated from \"Last Working Day (LWD)\" to \"Relieving Date\" throughout the process for consistency and better user experience.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-109 · a resignation or exit is not posted in Announcements",
      "file": "tests/feedback/exit/exit-forms.spec.ts:145",
      "outcome": "failed",
      "key": "SHR-109",
      "label": "fb",
      "note": "SHR-109 · Clarification · Policies & Announcements › To read — Exit is showing up in Announcements",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-219"
      ],
      "error": "Error: QA Admin’s Announcements page shows no \"last day with the team\" post\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: 2\nError: no exit is announced in the feed (route it to the Inbox of the group instead)\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 4\n\n- Array []\n+ Array [\n+   \"\\\"A change in the team\\\" —  Single Test One's last day with the team is 2026-10-16. Their work passes to the colleagu… (audience Administration, 2026-10-12)\",\n+   \"\\\"A change in the team\\\" —  Bulk Test One's last day with the team is 2026-11-11. Their work passes to the colleagues… (audience Administration, 2026-10-12)\",\n+ ]",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-exit/exit-forms-exits-in-announ-ac4be-not-posted-in-Announcements-fb-exit/test-failed-1.png"
      ],
      "module": "Policies & Announcements",
      "submodule": "To read",
      "description": "Exit is showing up in Announcements",
      "expected": "When an employee resigns, it shouldn't show up in announcements. In case it is a group-restricted announcement, it would be best routed to Inbox",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-061 · approvals and notifications reach every exit stakeholder as soon as someone resigns",
      "file": "tests/feedback/exit/resignation-journey.spec.ts:55",
      "outcome": "failed",
      "key": "SHR-061",
      "label": "fb",
      "note": "SHR-061 · Fix · Employee Lifecycle › Exit — 1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-221",
        "https://satellitehr-qa-issues.pages.dev/ISS-223"
      ],
      "error": "Error: every exit stakeholder hears of FB Test Org Leaver Cacgbabf's resignation — these got nothing\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 7\n\n- Array []\n+ Array [\n+   \"HR Head\",\n+   \"HR SPOC\",\n+   \"IT\",\n+   \"Accounts / Finance\",\n+   \"Admin\",\n+ ]",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Exit",
      "description": "1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days. 2. No notifications triggered on any exit stakeholders logins",
      "expected": "1. Exit Module to be enabled and displayed for employees 2. Configure Notice Period policy to auto-define LWD by the location/jurisdiction in the resignation window (India - 60 days; Other Countries - 14 days) 3. Customize notifications according to the length of the requested last working day 4. Trigger approval and notification workflows to all stakeholders as soon as an employee resigns",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-061 · the notification fits the requested last working day",
      "file": "tests/feedback/exit/resignation-journey.spec.ts:63",
      "outcome": "failed",
      "key": "SHR-061",
      "label": "fb",
      "note": "SHR-061 · Fix · Employee Lifecycle › Exit — 1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days",
      "links": [],
      "error": "Error: with the last day today, the manager is not asked to hold a stay conversation within two working days\n\nexpect(received).not.toMatch(expected)\n\nExpected pattern: not /within (two|2) working days|within 48 hours/i\nReceived string:      \"Please hold the stay conversation within two working days — FB Test Org Leaver Cacgbabf has resigned, with Thursday 15 October as the last working day. Please hold the stay conversation within 2 working days and record it on the exit: the reasons, the knowledge-loss risk, and whether a counteroffer is worth considering. || FB Test Org Leaver Cacgbabf has resigned — FB Test Org Leaver Cacgbabf has submitted a resignation. Please hold the stay conversation within 48 hours and record it on the exit; it is worth having even when the decision looks settled. Open the exit: https://satellite-hr-frontend-final-restructure.polished-mud-fefe.workers.dev/company/82628593-49b6-4dad-ad2a-6b9472ab44fc/me/inbox\"",
      "attachments": [],
      "module": "Employee Lifecycle",
      "submodule": "Exit",
      "description": "1. Today is the resignation date and LWD of Ishitha. Resignation raised from HR OPS SPOC account because the employee doesn't have the option to resign. Notification says conduct stay conversation within two working days. 2. No notifications triggered on any exit stakeholders logins",
      "expected": "1. Exit Module to be enabled and displayed for employees 2. Configure Notice Period policy to auto-define LWD by the location/jurisdiction in the resignation window (India - 60 days; Other Countries - 14 days) 3. Customize notifications according to the length of the requested last working day 4. Trigger approval and notification workflows to all stakeholders as soon as an employee resigns",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-008 · signing out while on the clock offers to clock out first",
      "file": "tests/feedback/attendance/attendance-journeys.spec.ts:16",
      "outcome": "passed",
      "key": "SHR-008",
      "label": "fb",
      "note": "SHR-008 · Fix · Attendance › Attendance — The system is not showing the Clock in and Clock out functionalities when logging in and logging out of the system. And attendance hours are not being captured",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "The system is not showing the Clock in and Clock out functionalities when logging in and logging out of the system. And attendance hours are not being captured",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-064 · after clocking out the employee can clock in again, and both sessions count",
      "file": "tests/feedback/attendance/attendance-journeys.spec.ts:37",
      "outcome": "passed",
      "key": "SHR-064",
      "label": "fb",
      "note": "SHR-064 · Fix · Attendance › Attendance — Once the employee clock in and clock out after sometime the employee is unable to clock in again as the clock in again option is not accessible",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Once the employee clock in and clock out after sometime the employee is unable to clock in again as the clock in again option is not accessible",
      "expected": "we need an option to clock in again to capture the actual working hours",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-040 · the server refuses a correction for a holiday (2 Oct)",
      "file": "tests/feedback/attendance/attendance-journeys.spec.ts:65",
      "outcome": "passed",
      "key": "SHR-040",
      "label": "fb",
      "note": "SHR-040 · Fix · Attendance › Regularisation — through employee self service mode I was able to apply for regularization for 2nd october which is a holiday",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Regularisation",
      "description": "through employee self service mode I was able to apply for regularization for 2nd october which is a holiday",
      "expected": "it should not accept regularization on holidays",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-065 · HR Manager uploads a roster file and the roster takes it",
      "file": "tests/feedback/attendance/attendance-journeys.spec.ts:78",
      "outcome": "passed",
      "key": "SHR-065",
      "label": "fb",
      "note": "SHR-065 · Fix · Attendance › Attendance — Unable to upload the shift roster",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Unable to upload the shift roster",
      "expected": "There is no option to download the shift roater",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-008 · the clock in / clock out control is on screen for the employee",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:18",
      "outcome": "passed",
      "key": "SHR-008",
      "label": "fb",
      "note": "SHR-008 · Fix · Attendance › Attendance — The system is not showing the Clock in and Clock out functionalities when logging in and logging out of the system. And attendance hours are not being captured",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "The system is not showing the Clock in and Clock out functionalities when logging in and logging out of the system. And attendance hours are not being captured",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-008 · worked hours are captured from the punches (first in to last out, less the break)",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:28",
      "outcome": "passed",
      "key": "SHR-008",
      "label": "fb",
      "note": "SHR-008 · Fix · Attendance › Attendance — The system is not showing the Clock in and Clock out functionalities when logging in and logging out of the system. And attendance hours are not being captured",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "The system is not showing the Clock in and Clock out functionalities when logging in and logging out of the system. And attendance hours are not being captured",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-008 · a day with a full day of hours is not marked Half day",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:40",
      "outcome": "failed",
      "key": "SHR-008",
      "label": "fb",
      "note": "SHR-008 · Fix · Attendance › Attendance — The system is not showing the Clock in and Clock out functionalities when logging in and logging out of the system. And attendance hours are not being captured",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-423"
      ],
      "error": "Error: 2026-10-09: 10.5 h worked (half day is below 4 h) but the day reads \"half_day\"\n\nexpect(received).not.toBe(expected) // Object.is equality\n\nExpected: not \"half_day\"",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "The system is not showing the Clock in and Clock out functionalities when logging in and logging out of the system. And attendance hours are not being captured",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-014 · every past working day of the month can be corrected straight from the calendar",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:52",
      "outcome": "passed",
      "key": "SHR-014",
      "label": "fb",
      "note": "SHR-014 · Fix · Attendance — For some dates in September, regularisation can be applied for directly. However, for October, the direct regularisation option is available only for the current date, while other dates can be regularised only through “R",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Issue: For some dates in September, regularisation can be applied for directly. However, for October, the direct regularisation option is available only for the current date, while other dates can be regularised only through “Request a Correction. -ishita.bhattacharya@opsmaven.test",
      "expected": "The regularisation process and available options should be consistent across applicable dates, based on the defined attendance/regularisation rules.",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-014 · days before the employee joined are not offered for correction",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:71",
      "outcome": "failed",
      "key": "SHR-014",
      "label": "fb",
      "note": "SHR-014 · Fix · Attendance — For some dates in September, regularisation can be applied for directly. However, for October, the direct regularisation option is available only for the current date, while other dates can be regularised only through “R",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-454"
      ],
      "error": "Error: QA Employee One joined on 2026-10-01; the calendar still offers these earlier days for correction (the server then refuses them)\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  -  1\n+ Received  + 23\n\n- Array []\n+ Array [\n+   \"Tuesday 1 September: no attendance recorded — request a correction\",\n+   \"Wednesday 2 September: no attendance recorded — request a correction\",\n+   \"Thursday 3 September: no attendance recorded — request a correction\",\n+   \"Monday 7 September: no attendance recorded — request a correction\",\n+   \"Tuesday 8 September: no attendance recorded — request a correction\",\n+   \"Wednesday 9 September: no attendance recorded — request a correction\",\n+   \"Thursday 10 September: no attendance recorded — request a correction\",\n+   \"Friday 11 September: no attendance recorded — request a correction\",\n+   \"Monday 14 September: no attendance recorded — request a correction\",\n+   \"Tuesday 15 September: no attendance recorded — request a correction\",\n+   \"Wednesday 16 September: no attendance recorded — request a correction\",\n+   \"Thursday 17 September: no attendance recorded — request a correction\",\n+   \"Friday 18 September: no attendance recorded — request a correction\",\n+   \"Monday 21 September: no attendance recorded — request a correction\",\n+   \"Tuesday 22 September: no attendance recorded — request a correction\",\n+   \"Wednesday 23 September: no attendance recorded — request a correction\",\n+   \"Thursday 24 September: no attendance recorded — request a correction\",\n+   \"Friday 25 September: no attendance recorded — request a correction\",\n+   \"Monday 28 September: no attendance recorded — request a correction\",\n+   \"Tuesday 29 September: no attendance recorded — request a correction\",\n+   \"Wednesday 30 September: no attendance recorded — request a correction\",\n+ ]",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-attendance/attendance-pr-regularisati-0c159--not-offered-for-correction-fb-attendance/test-failed-1.png"
      ],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Issue: For some dates in September, regularisation can be applied for directly. However, for October, the direct regularisation option is available only for the current date, while other dates can be regularised only through “Request a Correction. -ishita.bhattacharya@opsmaven.test",
      "expected": "The regularisation process and available options should be consistent across applicable dates, based on the defined attendance/regularisation rules.",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-040 · a holiday (2 Oct) cannot be picked for a correction: the form explains and won’t send",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:84",
      "outcome": "passed",
      "key": "SHR-040",
      "label": "fb",
      "note": "SHR-040 · Fix · Attendance › Regularisation — through employee self service mode I was able to apply for regularization for 2nd october which is a holiday",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Regularisation",
      "description": "through employee self service mode I was able to apply for regularization for 2nd october which is a holiday",
      "expected": "it should not accept regularization on holidays",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-040 · the calendar does not offer a holiday for correction",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:96",
      "outcome": "passed",
      "key": "SHR-040",
      "label": "fb",
      "note": "SHR-040 · Fix · Attendance › Regularisation — through employee self service mode I was able to apply for regularization for 2nd october which is a holiday",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Regularisation",
      "description": "through employee self service mode I was able to apply for regularization for 2nd october which is a holiday",
      "expected": "it should not accept regularization on holidays",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-094 · a corrected (regularised) day is colour-coded and labelled as corrected",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:106",
      "outcome": "failed",
      "key": "SHR-094",
      "label": "fb",
      "note": "SHR-094 · Fix · Leave › Leave — Attendance correction/regularization entries are currently not displayed with a color code, whereas color coding is available for all other attendance-related changes and statuses.",
      "links": [],
      "error": "Error: the calendar legend has a colour for corrected / regularised days (it lists Present, WFH, Half day, Absent, Leave, Holiday, No record only)\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /regulari[sz]ed|corrected/i\nReceived string:  \"My attendance·\nYour month at a glance — corrections take a minute if something looks off.·\nRequest a correction\nLeave\nAttendance\nOvertime & comp-off·\nThursday 15 October·\nClocked out at 7:13 AM·\nClock in again·\n0:04:07·\n8h 25m to a full 8.5h day·\n12 AM\nGeneral Shift 10:00 AM – 7:00 PM\n8 PM\n12:35 AM – 12:35 AM · 0m\n12:36 AM – 12:37 AM · 0m\n12:40 AM – 12:41 AM · 1m\n1:41 AM – 1:41 AM · 0m\n1:41 AM – 1:41 AM · 0m\n1:41 AM – 1:41 AM · 0m\n1:50 AM – 1:50 AM · 0m\n1:51 AM – 1:51 AM · 0m\n1:53 AM – 1:53 AM · 0m\n1:53 AM – 1:53 AM · 0m\n1:53 AM – 1:53 AM · 0m\n3:04 AM – 3:04 AM · 0m\n3:04 AM – 3:04 AM · 0m\n3:04 AM – 3:04 AM · 0m\n5:04 AM – 5:04 AM · 0m\n5:04 AM – 5:04 AM · 0m\n5:04 AM – 5:04 AM · 0m\n6:09 AM – 6:09 AM · 0m\n6:09 AM – 6:09 AM · 0m\n6:09 AM – 6:10 AM · 0m\n7:12 AM – 7:12 AM · 0m",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-attendance/attendance-pr-regularisati-3d87f-d-and-labelled-as-corrected-fb-attendance/test-failed-1.png"
      ],
      "module": "Leave",
      "submodule": "Leave",
      "description": "Issue: Attendance correction/regularization entries are currently not displayed with a color code, whereas color coding is available for all other attendance-related changes and statuses. Expected Behavior: Attendance correction/regularization requests should also be highlighted using appropriate color codes, similar to other attendance transactions. This will ensure consistency in the attendance view and help users easily identify and distinguish regularized attendance records from other attendance changes.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-041 · the employee button reads \"Claim comp-off\", not \"Claim OT\"",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:126",
      "outcome": "passed",
      "key": "SHR-041",
      "label": "fb",
      "note": "SHR-041 · Enhancement · Attendance › OT & Compoff — Through employee self service option, it allows you to click on option called OT & Comp off and button says claim OT. cyrrently for us OT & Comp off are two separate things. can we rename claim OT to Claim compoff",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "OT & Compoff",
      "description": "Through employee self service option, it allows you to click on option called OT & Comp off and button says claim OT. cyrrently for us OT & Comp off are two separate things. can we rename claim OT to Claim compoff",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-065 · admin: the roster downloads, and Upload roster offers a template to start from",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:137",
      "outcome": "passed",
      "key": "SHR-065",
      "label": "fb",
      "note": "SHR-065 · Fix · Attendance › Attendance — Unable to upload the shift roster",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Unable to upload the shift roster",
      "expected": "There is no option to download the shift roater",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-065 · hrm: the roster downloads, and Upload roster offers a template to start from",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:137",
      "outcome": "passed",
      "key": "SHR-065",
      "label": "fb",
      "note": "SHR-065 · Fix · Attendance › Attendance — Unable to upload the shift roster",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Unable to upload the shift roster",
      "expected": "There is no option to download the shift roater",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-066 · admin: the attendance report downloads with every day's punches and hours",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:161",
      "outcome": "passed",
      "key": "SHR-066",
      "label": "fb",
      "note": "SHR-066 · Fix · Attendance › Attendance — There is no option to downlaod attendance report",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "There is no option to downlaod attendance report",
      "expected": "There is no option to downlaod attendance report",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-066 · hrm: the attendance report downloads with every day's punches and hours",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:161",
      "outcome": "passed",
      "key": "SHR-066",
      "label": "fb",
      "note": "SHR-066 · Fix · Attendance › Attendance — There is no option to downlaod attendance report",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "There is no option to downlaod attendance report",
      "expected": "There is no option to downlaod attendance report",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-066 · admin: the monthly muster downloads with one row per person and the totals",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:173",
      "outcome": "passed",
      "key": "SHR-066",
      "label": "fb",
      "note": "SHR-066 · Fix · Attendance › Attendance — There is no option to downlaod attendance report",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "There is no option to downlaod attendance report",
      "expected": "There is no option to downlaod attendance report",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-123 · Reports offers Attendance (and leave / loss of pay) as a module",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:185",
      "outcome": "failed",
      "key": "SHR-123",
      "label": "fb",
      "note": "SHR-123 · Enhancement · High · Attendance › Attendance details report/LOP report — Attendance report extracted from Satellite HR currently doesnt contain the Loss of pay details or the employee details in the single row with the whole month attendance",
      "links": [],
      "error": "Error: admin: Reports modules are Employees (employees), Announcements (announcements), Assets (assets), Reviews (performance), Goals (performance), Exit cases (exit), Transfers (transfers), Onboarding (onboarding), Asset movements (assets), Form responses (templates) — no Attendance\n\nexpect(received).not.toEqual(expected) // deep equality\n\nExpected: not []",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance details report/LOP report",
      "description": "Attendance report extracted from Satellite HR currently doesnt contain the Loss of pay details or the employee details in the single row with the whole month attendance",
      "expected": "Attendance details Report or Loss of Pay report and the Unplanned leave report is to be added in the Reports tab, currently we dont have a single report nor the module in filter of Attendance. Attaching the sample attaendance report format which has each employee's report in the single row with the whole month date wise, leave type wise or the LWP",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-123 · the monthly attendance report shows leave by type and loss of pay, one row per employee",
      "file": "tests/feedback/attendance/attendance-pr.spec.ts:195",
      "outcome": "failed",
      "key": "SHR-123",
      "label": "fb",
      "note": "SHR-123 · Enhancement · High · Attendance › Attendance details report/LOP report — Attendance report extracted from Satellite HR currently doesnt contain the Loss of pay details or the employee details in the single row with the whole month attendance",
      "links": [],
      "error": "Error: muster columns: Employee No, Employee, Department, Present, WFH / on duty, Half day, Absent, Leave, Holiday / weekly off, Worked hours, OT hours — no loss-of-pay column\n\nexpect(received).not.toEqual(expected) // deep equality\n\nExpected: not []",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-attendance/attendance-pr-attendance-r-1cd3a-of-pay-one-row-per-employee-fb-attendance/test-failed-1.png"
      ],
      "module": "Attendance",
      "submodule": "Attendance details report/LOP report",
      "description": "Attendance report extracted from Satellite HR currently doesnt contain the Loss of pay details or the employee details in the single row with the whole month attendance",
      "expected": "Attendance details Report or Loss of Pay report and the Unplanned leave report is to be added in the Reports tab, currently we dont have a single report nor the module in filter of Attendance. Attaching the sample attaendance report format which has each employee's report in the single row with the whole month date wise, leave type wise or the LWP",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-016 · after sending, the screen names the current approver and links to where the request is tracked",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:28",
      "outcome": "failed",
      "key": "SHR-016",
      "label": "fb",
      "note": "SHR-016 · Fix · Leave — After submitting the leave request, the system only shows “Request sent” and mentions the approval flow as Manager approval → Department Head approval. However, it does not clearly show who the request has been sent to, ",
      "links": [],
      "error": "Error: the confirmation names who has the request now\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /QA Manager/\nReceived string:  \"Request sent 🎉·\n1 day of floating holidays, 20 Jan. Watch “My leave” for the decision.·\nApply for another\"\nError: the confirmation shows the pending stage\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /Manager approval|with your manager|Awaiting/i\nReceived string:  \"Request sent 🎉·\n1 day of floating holidays, 20 Jan. Watch “My leave” for the decision.·\nApply for another\"\nError: a link or button to track the request (the panel reads: \"Request sent 🎉 1 day of floating holidays, 20 Jan. Watch “My leave” for the decision. Apply for another\")\n\nexpect(received).toBeGreaterThan(expected)\n\nExpected: > 0\nReceived:   0",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-leave/leave-journeys-submitted-r-6e0aa-here-the-request-is-tracked-fb-leave/test-failed-1.png"
      ],
      "module": "Leave",
      "submodule": "Leave",
      "description": "Issue: After submitting the leave request, the system only shows “Request sent” and mentions the approval flow as Manager approval → Department Head approval. However, it does not clearly show who the request has been sent to, whose approval is currently pending, or where the employee can check the approval status/progress. -Checked from Ishita.bhattacharya@opsmaven.test",
      "expected": "Expected Result: The system should clearly display the current approver, pending approval stage, and provide a clear place/link to track the request and approval status.",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-016 · My leave shows the current approver and the pending stage of a request",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:52",
      "outcome": "passed",
      "key": "SHR-016",
      "label": "fb",
      "note": "SHR-016 · Fix · Leave — After submitting the leave request, the system only shows “Request sent” and mentions the approval flow as Manager approval → Department Head approval. However, it does not clearly show who the request has been sent to, ",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave",
      "description": "Issue: After submitting the leave request, the system only shows “Request sent” and mentions the approval flow as Manager approval → Department Head approval. However, it does not clearly show who the request has been sent to, whose approval is currently pending, or where the employee can check the approval status/progress. -Checked from Ishita.bhattacharya@opsmaven.test",
      "expected": "Expected Result: The system should clearly display the current approver, pending approval stage, and provide a clear place/link to track the request and approval status.",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-087 · PTO of more than 3 days goes to the department head after the manager approves",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:75",
      "outcome": "passed",
      "key": "SHR-087",
      "label": "fb",
      "note": "SHR-087 · fix · Leave › Long leave approval matrix — Leave application for more than 3 days are not triggered to the department head after the manager approved, It is directly triggered to HR with out dept head approval.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-452"
      ],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Long leave approval matrix",
      "description": "Leave application for more than 3 days are not triggered to the department head after the manager approved, It is directly triggered to HR with out dept head approval.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-020 · a request of 3 days or more needs the manager and then the department head",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:91",
      "outcome": "passed",
      "key": "SHR-020",
      "label": "fb",
      "note": "SHR-020 · Fix · Leave › Apply Leave — I tried applying for bereavement leave from 1st to 21st oct as balance said 20 days however it showed an error stating \"No working days in that range — check the dates\"",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-452"
      ],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Apply Leave",
      "description": "I tried applying for bereavement leave from 1st to 21st oct as balance said 20 days however it showed an error stating \"No working days in that range — check the dates\"",
      "expected": "Expected Result: Ideally it should not allow applying bereavement leaves for more than 10 days. any leave request that is for 3 days or more should trigger a two level approval [ level 1 is the reporting manager and level 2 is the department head]",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-087 · leave without pay of more than 3 days goes to the department head after the manager, not straight to HR",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:106",
      "outcome": "failed",
      "key": "SHR-087",
      "label": "fb",
      "note": "SHR-087 · fix · Leave › Long leave approval matrix — Leave application for more than 3 days are not triggered to the department head after the manager approved, It is directly triggered to HR with out dept head approval.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-453"
      ],
      "error": "Error: after the manager the run went to hr_approval (14 HR tasks)\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 1\n\n  Array [\n-   \"dept_head_approval\",\n+   \"hr_approval\",\n  ]",
      "attachments": [],
      "module": "Leave",
      "submodule": "Long leave approval matrix",
      "description": "Leave application for more than 3 days are not triggered to the department head after the manager approved, It is directly triggered to HR with out dept head approval.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-020 · the form refuses Bereavement Leave of more than 10 days",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:133",
      "outcome": "failed",
      "key": "SHR-020",
      "label": "fb",
      "note": "SHR-020 · Fix · Leave › Apply Leave — I tried applying for bereavement leave from 1st to 21st oct as balance said 20 days however it showed an error stating \"No working days in that range — check the dates\"",
      "links": [],
      "error": "Error: a message naming the 10-day limit\n\nexpect(locator).toBeVisible() failed\n\nLocator: locator('#main-content').getByText(/10 days|more than 10|at most 10|maximum/i)\nExpected: visible\nTimeout: 10000ms\nError: element(s) not found\n\nCall log:\n  - a message naming the 10-day limit locator('#main-content').getByText(/10 days|more than 10|at most 10|maximum/i) with timeout 10000ms\n  - waiting for locator('#main-content').getByText(/10 days|more than 10|at most 10|maximum/i)",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-leave/leave-journeys-bereavement-7e801--Leave-of-more-than-10-days-fb-leave/test-failed-1.png"
      ],
      "module": "Leave",
      "submodule": "Apply Leave",
      "description": "I tried applying for bereavement leave from 1st to 21st oct as balance said 20 days however it showed an error stating \"No working days in that range — check the dates\"",
      "expected": "Expected Result: Ideally it should not allow applying bereavement leaves for more than 10 days. any leave request that is for 3 days or more should trigger a two level approval [ level 1 is the reporting manager and level 2 is the department head]",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-020 · the server refuses Bereavement Leave of more than 10 days",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:144",
      "outcome": "passed",
      "key": "SHR-020",
      "label": "fb",
      "note": "SHR-020 · Fix · Leave › Apply Leave — I tried applying for bereavement leave from 1st to 21st oct as balance said 20 days however it showed an error stating \"No working days in that range — check the dates\"",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Apply Leave",
      "description": "I tried applying for bereavement leave from 1st to 21st oct as balance said 20 days however it showed an error stating \"No working days in that range — check the dates\"",
      "expected": "Expected Result: Ideally it should not allow applying bereavement leaves for more than 10 days. any leave request that is for 3 days or more should trigger a two level approval [ level 1 is the reporting manager and level 2 is the department head]",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-021 · sending more Floating Holidays than the balance is refused with a balance message",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:155",
      "outcome": "passed",
      "key": "SHR-021",
      "label": "fb",
      "note": "SHR-021 · Fix · Leave › Apply Leave — for employee Kavya, Floating holidays balance is showing as 4. I tried applying for leave from 1st to 21st oct which is 13 days. it gave an error saying employee cannot be found",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Apply Leave",
      "description": "for employee Kavya, Floating holidays balance is showing as 4. I tried applying for leave from 1st to 21st oct which is 13 days. it gave an error saying employee cannot be found",
      "expected": "Expected result: show a message that this leave type has insuffient balance for the total number of days, the leave has been applied",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-047 · a maternity request reaches the reporting manager first, then the department head",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:184",
      "outcome": "failed",
      "key": "SHR-047",
      "label": "fb",
      "note": "SHR-047 · Fix · Leave and Attendance › leave calculation — Mat leave configuration and approval workflow is pending",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-442"
      ],
      "error": "Error: first approval step (14 people got a task)\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 1\n\n  Array [\n-   \"mgr_approval\",\n+   \"hr_approval\",\n  ]",
      "attachments": [],
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "description": "Mat leave configuration and approval workflow is pending",
      "expected": "No notification triggered for Approvers. - Once employee applies for leave, approval needs to be triggered and displayed on all approvers' home page. Approvers list should be - Reporting Manager, Department Head(if leave duration exceeds 3 days). Leave Requested rejected from HR Account but request still shows pending for employee, allowing 5 other approvers to override HR rejection",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-047 · when HR rejects a maternity request it ends rejected for the employee and nobody else can approve it",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:197",
      "outcome": "passed",
      "key": "SHR-047",
      "label": "fb",
      "note": "SHR-047 · Fix · Leave and Attendance › leave calculation — Mat leave configuration and approval workflow is pending",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-442"
      ],
      "error": "",
      "attachments": [],
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "description": "Mat leave configuration and approval workflow is pending",
      "expected": "No notification triggered for Approvers. - Once employee applies for leave, approval needs to be triggered and displayed on all approvers' home page. Approvers list should be - Reporting Manager, Department Head(if leave duration exceeds 3 days). Leave Requested rejected from HR Account but request still shows pending for employee, allowing 5 other approvers to override HR rejection",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-068 · cancelling approved leave goes to the reporting manager instead of being approved automatically",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:215",
      "outcome": "failed",
      "key": "SHR-068",
      "label": "fb",
      "note": "SHR-068 · Fix · Leave › Attendance — Leave cancellation requests auto approved and not being triggered to reporting manager for approval",
      "links": [],
      "error": "Error: the cancellation of approved leave (run 076ac041-50d1-4335-a32e-2877a0d99e0a)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: \"manager task\"\nReceived: \"leave cancelled and the day credited back without the manager (cancellation request shows \\\"approved\\\")\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-leave/leave-journeys-leave-cance-3dd02-eing-approved-automatically-fb-leave/test-failed-1.png"
      ],
      "module": "Leave",
      "submodule": "Attendance",
      "description": "Leave cancellation requests auto approved and not being triggered to reporting manager for approval",
      "expected": "Leave cancellation request s auto approved and not being triggered to reporting manager for approval",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-091 · PTO more than 90 days ahead is refused",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:254",
      "outcome": "failed",
      "key": "SHR-091",
      "label": "fb",
      "note": "SHR-091 · Fix · Leave › Leave configuration — Leave Application Restriction: Employees should be allowed to apply for leave only up to 90 days in advance from the current date for all leave types. This restriction shall not apply to Maternity Leave and Bereavement L",
      "links": [],
      "error": "Error: PTO on 2027-01-28 (more than 90 days ahead): server answered 201 {\"id\":\"b9609f2c-55bb-457e-998a-9a8338be0a9c\",\"workflowInstanceId\":\"4abc1e0a-e419-4b5b-9f81-8d8641ad481c\",\"units\":0.5,\"breakdown\":{\"units\":0.5,\"calendarDays\":1,\"\n\nexpect(received).toBeGreaterThanOrEqual(expected)\n\nExpected: >= 400\nReceived:    201",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave configuration",
      "description": "Leave Application Restriction: Employees should be allowed to apply for leave only up to 90 days in advance from the current date for all leave types. This restriction shall not apply to Maternity Leave and Bereavement Leave, which may be applied for beyond the 60-day limit.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-091 · Bereavement Leave more than 90 days ahead is still accepted (exempt)",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:263",
      "outcome": "passed",
      "key": "SHR-091",
      "label": "fb",
      "note": "SHR-091 · Fix · Leave › Leave configuration — Leave Application Restriction: Employees should be allowed to apply for leave only up to 90 days in advance from the current date for all leave types. This restriction shall not apply to Maternity Leave and Bereavement L",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave configuration",
      "description": "Leave Application Restriction: Employees should be allowed to apply for leave only up to 90 days in advance from the current date for all leave types. This restriction shall not apply to Maternity Leave and Bereavement Leave, which may be applied for beyond the 60-day limit.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-092 · comp-off for a regular working day is refused",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:274",
      "outcome": "failed",
      "key": "SHR-092",
      "label": "fb",
      "note": "SHR-092 · Fix · Leave › Leave configuration — Compensatory Off (Comp-Off) Eligibility: Comp-Off requests may be raised only for work performed on declared weekends or company holidays. Comp-Off cannot be applied for regular scheduled working days. All Comp-Off reque",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-441"
      ],
      "error": "Error: comp-off for 2026-10-13 (a working day) was accepted: {\"id\":\"e56451c6-4a92-4ceb-9dc8-e1e718975797\",\"workflowInstanceId\":\"95cabf4c-44ef-4d4c-86fc-f7474c0ba36e\",\"units\":1,\"breakdown\":null,\"lop\":null,\"policy\":{\"id\":\"e\n\nexpect(received).toBeGreaterThanOrEqual(expected)\n\nExpected: >= 400\nReceived:    201",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave configuration",
      "description": "Compensatory Off (Comp-Off) Eligibility: Comp-Off requests may be raised only for work performed on declared weekends or company holidays. Comp-Off cannot be applied for regular scheduled working days. All Comp-Off requests must be apporved by Reporting manager ->Department Head -> HR SPOC -> HR Head",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-086 · a comp-off request for a weekend day worked reaches the manager instead of being rejected at once",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:289",
      "outcome": "failed",
      "key": "SHR-086",
      "label": "fb",
      "note": "SHR-086 · fix · Leave › request for Comp off — There is no option to request for Comp off",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-505"
      ],
      "error": "Error: comp-off for Saturday 2026-10-10\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: \"manager task\"\nReceived: \"the request ended \\\"rejected\\\" without anyone deciding\"",
      "attachments": [],
      "module": "Leave",
      "submodule": "request for Comp off",
      "description": "There is no option to request for Comp off",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-093 · a second-half leave is recorded as the second half",
      "file": "tests/feedback/leave/leave-journeys.spec.ts:310",
      "outcome": "failed",
      "key": "SHR-093",
      "label": "fb",
      "note": "SHR-093 · Fix · Leave › Leave configuration — Leave application for half day is not allowing us to specify First Half or Second Half for the day selected ; Please add the column to capture First Half or Second Half",
      "links": [],
      "error": "Error: the half the employee asked for\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: \"second_half\"\nReceived: \"first_half\"",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave configuration",
      "description": "Leave application for half day is not allowing us to specify First Half or Second Half for the day selected ; Please add the column to capture First Half or Second Half",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-015 · a Thursday–Saturday range counts its two working days (day-count API)",
      "file": "tests/feedback/leave/leave-rules.spec.ts:64",
      "outcome": "passed",
      "key": "SHR-015",
      "label": "fb",
      "note": "SHR-015 · Fix · Attendance — When applying for leave from 22 Oct 2026 to 24 Oct 2026, the system displays “No working days in that range — check the dates.” However, 22 Oct 2026 (Thursday) and 23 Oct 2026 (Friday) are weekdays/working dates, so the ",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Issue: When applying for leave from 22 Oct 2026 to 24 Oct 2026, the system displays “No working days in that range — check the dates.” However, 22 Oct 2026 (Thursday) and 23 Oct 2026 (Friday) are weekdays/working dates, so the system should not treat the entire selected period as having no working days.-Checked from- ishita.bhattacharya@opsmaven.test",
      "expected": "The system should identify the applicable working days within the selected date range and allow the leave request accordingly",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-015 · the leave form accepts a Thursday–Saturday range instead of \"No working days in that range\"",
      "file": "tests/feedback/leave/leave-rules.spec.ts:74",
      "outcome": "passed",
      "key": "SHR-015",
      "label": "fb",
      "note": "SHR-015 · Fix · Attendance — When applying for leave from 22 Oct 2026 to 24 Oct 2026, the system displays “No working days in that range — check the dates.” However, 22 Oct 2026 (Thursday) and 23 Oct 2026 (Friday) are weekdays/working dates, so the ",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Issue: When applying for leave from 22 Oct 2026 to 24 Oct 2026, the system displays “No working days in that range — check the dates.” However, 22 Oct 2026 (Thursday) and 23 Oct 2026 (Friday) are weekdays/working dates, so the system should not treat the entire selected period as having no working days.-Checked from- ishita.bhattacharya@opsmaven.test",
      "expected": "The system should identify the applicable working days within the selected date range and allow the leave request accordingly",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-021 · too few Floating Holidays shows an \"insufficient balance\" message, not \"employee cannot be found\"",
      "file": "tests/feedback/leave/leave-rules.spec.ts:83",
      "outcome": "passed",
      "key": "SHR-021",
      "label": "fb",
      "note": "SHR-021 · Fix · Leave › Apply Leave — for employee Kavya, Floating holidays balance is showing as 4. I tried applying for leave from 1st to 21st oct which is 13 days. it gave an error saying employee cannot be found",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Apply Leave",
      "description": "for employee Kavya, Floating holidays balance is showing as 4. I tried applying for leave from 1st to 21st oct which is 13 days. it gave an error saying employee cannot be found",
      "expected": "Expected result: show a message that this leave type has insuffient balance for the total number of days, the leave has been applied",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-093 · a half-day request lets the employee choose First half or Second half",
      "file": "tests/feedback/leave/leave-rules.spec.ts:94",
      "outcome": "failed",
      "key": "SHR-093",
      "label": "fb",
      "note": "SHR-093 · Fix · Leave › Leave configuration — Leave application for half day is not allowing us to specify First Half or Second Half for the day selected ; Please add the column to capture First Half or Second Half",
      "links": [],
      "error": "Error: a First half / Second half choice on the form (only a \"Just a half day\" switch exists)\n\nexpect(received).toBeGreaterThan(expected)\n\nExpected: > 0\nReceived:   0",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-leave/leave-rules-leave-form-and-cefbc-e-First-half-or-Second-half-fb-leave/test-failed-1.png"
      ],
      "module": "Leave",
      "submodule": "Leave configuration",
      "description": "Leave application for half day is not allowing us to specify First Half or Second Half for the day selected ; Please add the column to capture First Half or Second Half",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-093 · the \"Just a half day\" switch turns on and the request becomes half a day",
      "file": "tests/feedback/leave/leave-rules.spec.ts:103",
      "outcome": "failed",
      "key": "SHR-093",
      "label": "fb",
      "note": "SHR-093 · Fix · Leave › Leave configuration — Leave application for half day is not allowing us to specify First Half or Second Half for the day selected ; Please add the column to capture First Half or Second Half",
      "links": [],
      "error": "Error: the switch stays on after it is clicked\n\nexpect(locator).toHaveAttribute(expected) failed\n\nLocator:  locator('#main-content').getByRole('switch')\nExpected: \"true\"\nReceived: \"false\"\nTimeout:  10000ms\n\nCall log:\n  - the switch stays on after it is clicked locator('#main-content').getByRole('switch') with timeout 10000ms\n  - waiting for locator('#main-content').getByRole('switch')\n    24 × locator resolved to <button value=\"on\" type=\"button\" role=\"switch\" aria-checked=\"false\" aria-label=\"Half day\" data-state=\"unchecked\" class=\"inline-flex shrink-0 items-center rounded-full border border-transparent transition-colors bg-surface-3 data-[state=checked]:bg-brand aria-checked:bg-brand disabled:cursor-not-allowed disabled:opacity-50 h-5 w-9\">…</button>\n       - unexpected value \"false\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-leave/leave-rules-leave-form-and-b9685--request-becomes-half-a-day-fb-leave/test-failed-1.png"
      ],
      "module": "Leave",
      "submodule": "Leave configuration",
      "description": "Leave application for half day is not allowing us to specify First Half or Second Half for the day selected ; Please add the column to capture First Half or Second Half",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-091 · the form refuses leave dates more than 90 days ahead (PTO)",
      "file": "tests/feedback/leave/leave-rules.spec.ts:115",
      "outcome": "failed",
      "key": "SHR-091",
      "label": "fb",
      "note": "SHR-091 · Fix · Leave › Leave configuration — Leave Application Restriction: Employees should be allowed to apply for leave only up to 90 days in advance from the current date for all leave types. This restriction shall not apply to Maternity Leave and Bereavement L",
      "links": [],
      "error": "Error: PTO on 2027-01-25 (100+ days ahead) should be blocked with a 90-day message; the form offers \"Send request\"\n\nexpect(received).toMatchObject(expected)\n\n- Expected  - 1\n+ Received  + 1\n\n  Object {\n-   \"sendEnabled\": false,\n+   \"sendEnabled\": true,\n  }",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-leave/leave-rules-leave-form-and-f5966-ore-than-90-days-ahead-PTO--fb-leave/test-failed-1.png"
      ],
      "module": "Leave",
      "submodule": "Leave configuration",
      "description": "Leave Application Restriction: Employees should be allowed to apply for leave only up to 90 days in advance from the current date for all leave types. This restriction shall not apply to Maternity Leave and Bereavement Leave, which may be applied for beyond the 60-day limit.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-018 · a female employee is not offered Paternity Leave",
      "file": "tests/feedback/leave/leave-rules.spec.ts:139",
      "outcome": "passed",
      "key": "SHR-018",
      "label": "fb",
      "note": "SHR-018 · Fix · Leave › Leave Balance — Leave types should be displayed correctly. Kavya is a female, and hence paternity leave should not be displayed for her",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave Balance",
      "description": "Leave types should be displayed correctly. Kavya is a female, and hence paternity leave should not be displayed for her",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-018 · no female employee holds a Paternity Leave balance",
      "file": "tests/feedback/leave/leave-rules.spec.ts:145",
      "outcome": "failed",
      "key": "SHR-018",
      "label": "fb",
      "note": "SHR-018 · Fix · Leave › Leave Balance — Leave types should be displayed correctly. Kavya is a female, and hence paternity leave should not be displayed for her",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-440"
      ],
      "error": "Error: female employees holding paternity leave (e.g. Kavya Raghunathan)\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 4\n\n- Array []\n+ Array [\n+   \"Kavya Raghunathan: Paternity 5 days\",\n+   \"Test Interviewer One: Paternity 5 days\",\n+ ]",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave Balance",
      "description": "Leave types should be displayed correctly. Kavya is a female, and hence paternity leave should not be displayed for her",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-122 · special leave types with no credited balance are hidden from the employee",
      "file": "tests/feedback/leave/leave-rules.spec.ts:152",
      "outcome": "failed",
      "key": "SHR-122",
      "label": "fb",
      "note": "SHR-122 · Fix · Leave › Leave Display — Any special leave type like bereavement leave, examination leave, wedding leave, maternity, paternity leave, etc should not be displayed to the employee unless HR credits those leaves to them based on the request via a t",
      "links": [],
      "error": "Error: special leave types offered with 0 balance (should appear only once HR credits them)\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 6\n\n- Array []\n+ Array [\n+   \"Bereavement Leave\",\n+   \"Examination Leave\",\n+   \"Paternity Leave\",\n+   \"Wedding Leave\",\n+ ]",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-leave/leave-rules-leave-types-sh-ef6c6-re-hidden-from-the-employee-fb-leave/test-failed-1.png"
      ],
      "module": "Leave",
      "submodule": "Leave Display",
      "description": "Any special leave type like bereavement leave, examination leave, wedding leave, maternity, paternity leave, etc should not be displayed to the employee unless HR credits those leaves to them based on the request via a ticket. the leaves that employees usually see are PTOs & Floating Holidays and Service Leaves (if eligible)",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-122 · a special leave HR has credited is offered to the employee",
      "file": "tests/feedback/leave/leave-rules.spec.ts:160",
      "outcome": "passed",
      "key": "SHR-122",
      "label": "fb",
      "note": "SHR-122 · Fix · Leave › Leave Display — Any special leave type like bereavement leave, examination leave, wedding leave, maternity, paternity leave, etc should not be displayed to the employee unless HR credits those leaves to them based on the request via a t",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave Display",
      "description": "Any special leave type like bereavement leave, examination leave, wedding leave, maternity, paternity leave, etc should not be displayed to the employee unless HR credits those leaves to them based on the request via a ticket. the leaves that employees usually see are PTOs & Floating Holidays and Service Leaves (if eligible)",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-046 · a male employee is not offered Maternity Leave",
      "file": "tests/feedback/leave/leave-rules.spec.ts:169",
      "outcome": "passed",
      "key": "SHR-046",
      "label": "fb",
      "note": "SHR-046 · Fix · Leave and Attendance › leave calculation — Maternity leave calculation is excluding holidays currently however only for this particular leave type calculation should be 182 days from the date of leave",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "description": "Maternity leave calculation is excluding holidays currently however only for this particular leave type calculation should be 182 days from the date of leave",
      "expected": "Restrcit Maternity Leave by gender. Auto-calculate it to 182 continuious days and not 182 business days - and this paid leave includes weekends. Do not exclude counting holidays and weekends.",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-046 · no male employee holds a Maternity Leave balance",
      "file": "tests/feedback/leave/leave-rules.spec.ts:175",
      "outcome": "failed",
      "key": "SHR-046",
      "label": "fb",
      "note": "SHR-046 · Fix · Leave and Attendance › leave calculation — Maternity leave calculation is excluding holidays currently however only for this particular leave type calculation should be 182 days from the date of leave",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-440"
      ],
      "error": "Error: male employees holding maternity leave\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 4\n\n- Array []\n+ Array [\n+   \"Aarav Krishnamurthy.: Maternity 182 days\",\n+   \"Test Interviewer Two: Maternity 182 days\",\n+ ]",
      "attachments": [],
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "description": "Maternity leave calculation is excluding holidays currently however only for this particular leave type calculation should be 182 days from the date of leave",
      "expected": "Restrcit Maternity Leave by gender. Auto-calculate it to 182 continuious days and not 182 business days - and this paid leave includes weekends. Do not exclude counting holidays and weekends.",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-086 · an employee can request comp-off for a day worked",
      "file": "tests/feedback/leave/leave-rules.spec.ts:182",
      "outcome": "passed",
      "key": "SHR-086",
      "label": "fb",
      "note": "SHR-086 · fix · Leave › request for Comp off — There is no option to request for Comp off",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "request for Comp off",
      "description": "There is no option to request for Comp off",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-046 · maternity leave is counted as 182 continuous calendar days, weekends and holidays included",
      "file": "tests/feedback/leave/leave-rules.spec.ts:197",
      "outcome": "passed",
      "key": "SHR-046",
      "label": "fb",
      "note": "SHR-046 · Fix · Leave and Attendance › leave calculation — Maternity leave calculation is excluding holidays currently however only for this particular leave type calculation should be 182 days from the date of leave",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "description": "Maternity leave calculation is excluding holidays currently however only for this particular leave type calculation should be 182 days from the date of leave",
      "expected": "Restrcit Maternity Leave by gender. Auto-calculate it to 182 continuious days and not 182 business days - and this paid leave includes weekends. Do not exclude counting holidays and weekends.",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-046 · picking Maternity Leave and a start date fills the end date 182 days later",
      "file": "tests/feedback/leave/leave-rules.spec.ts:207",
      "outcome": "failed",
      "key": "SHR-046",
      "label": "fb",
      "note": "SHR-046 · Fix · Leave and Attendance › leave calculation — Maternity leave calculation is excluding holidays currently however only for this particular leave type calculation should be 182 days from the date of leave",
      "links": [],
      "error": "Error: To date auto-filled as 2027-06-20 (the form leaves \"Pick a date\")\n\nexpect(locator).toBeVisible() failed\n\nLocator: locator('#main-content').getByText(/^20 \\w{3} 2027$/)\nExpected: visible\nTimeout: 10000ms\nError: element(s) not found\n\nCall log:\n  - To date auto-filled as 2027-06-20 (the form leaves \"Pick a date\") locator('#main-content').getByText(/^20 \\w{3} 2027$/) with timeout 10000ms\n  - waiting for locator('#main-content').getByText(/^20 \\w{3} 2027$/)",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-leave/leave-rules-maternity-leav-09b7f-the-end-date-182-days-later-fb-leave/test-failed-1.png"
      ],
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "description": "Maternity leave calculation is excluding holidays currently however only for this particular leave type calculation should be 182 days from the date of leave",
      "expected": "Restrcit Maternity Leave by gender. Auto-calculate it to 182 continuious days and not 182 business days - and this paid leave includes weekends. Do not exclude counting holidays and weekends.",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-047 · maternity leave goes to the reporting manager, then the department head",
      "file": "tests/feedback/leave/leave-rules.spec.ts:219",
      "outcome": "failed",
      "key": "SHR-047",
      "label": "fb",
      "note": "SHR-047 · Fix · Leave and Attendance › leave calculation — Mat leave configuration and approval workflow is pending",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-442"
      ],
      "error": "Error: approval chain of Maternity Leave Approval\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 2\n+ Received  + 1\n\n  Array [\n-   StringMatching /^mgr.*\\(manager/,\n-   StringMatching /dept_head|department_head/,\n+   \"hr_approval (hr_partner)\",\n  ]",
      "attachments": [],
      "module": "Leave and Attendance",
      "submodule": "leave calculation",
      "description": "Mat leave configuration and approval workflow is pending",
      "expected": "No notification triggered for Approvers. - Once employee applies for leave, approval needs to be triggered and displayed on all approvers' home page. Approvers list should be - Reporting Manager, Department Head(if leave duration exceeds 3 days). Leave Requested rejected from HR Account but request still shows pending for employee, allowing 5 other approvers to override HR rejection",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-019 · nobody holds more than 10 days of Bereavement or 7 days of Wedding leave",
      "file": "tests/feedback/leave/leave-rules.spec.ts:227",
      "outcome": "passed",
      "key": "SHR-019",
      "label": "fb",
      "note": "SHR-019 · Fix · Leave › Leave Balance — An employee cannot have more than 10 days of bereavement leave and they cannot have more than 7 days of wedding leave. These leaves don't get carried forward. and should expire in specific number of days. For Kavya I can",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-440"
      ],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave Balance",
      "description": "An employee cannot have more than 10 days of bereavement leave and they cannot have more than 7 days of wedding leave. These leaves don't get carried forward. and should expire in specific number of days. For Kavya I can see 20 beraevement leaves and 14 wedding leaves",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-019 · bereavement and wedding leave are not carried forward and expire",
      "file": "tests/feedback/leave/leave-rules.spec.ts:236",
      "outcome": "failed",
      "key": "SHR-019",
      "label": "fb",
      "note": "SHR-019 · Fix · Leave › Leave Balance — An employee cannot have more than 10 days of bereavement leave and they cannot have more than 7 days of wedding leave. These leaves don't get carried forward. and should expire in specific number of days. For Kavya I can",
      "links": [],
      "error": "Error: BLE: carry-forward limit is 0 (rule is {})\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\nError: BLE: an expiry period is set (rule is {})\n\nexpect(received).toBeTruthy()\n\nReceived: undefined\nError: WEDDING-LEAVE: carry-forward limit is 0 (rule is {})\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\nError: WEDDING-LEAVE: an expiry period is set (rule is {})\n\nexpect(received).toBeTruthy()\n\nReceived: undefined",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave Balance",
      "description": "An employee cannot have more than 10 days of bereavement leave and they cannot have more than 7 days of wedding leave. These leaves don't get carried forward. and should expire in specific number of days. For Kavya I can see 20 beraevement leaves and 14 wedding leaves",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-020 · Bereavement Leave is capped at 10 days per request (policy)",
      "file": "tests/feedback/leave/leave-rules.spec.ts:245",
      "outcome": "passed",
      "key": "SHR-020",
      "label": "fb",
      "note": "SHR-020 · Fix · Leave › Apply Leave — I tried applying for bereavement leave from 1st to 21st oct as balance said 20 days however it showed an error stating \"No working days in that range — check the dates\"",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Apply Leave",
      "description": "I tried applying for bereavement leave from 1st to 21st oct as balance said 20 days however it showed an error stating \"No working days in that range — check the dates\"",
      "expected": "Expected Result: Ideally it should not allow applying bereavement leaves for more than 10 days. any leave request that is for 3 days or more should trigger a two level approval [ level 1 is the reporting manager and level 2 is the department head]",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-019 · Wedding Leave is capped at 7 days",
      "file": "tests/feedback/leave/leave-rules.spec.ts:250",
      "outcome": "failed",
      "key": "SHR-019",
      "label": "fb",
      "note": "SHR-019 · Fix · Leave › Leave Balance — An employee cannot have more than 10 days of bereavement leave and they cannot have more than 7 days of wedding leave. These leaves don't get carried forward. and should expire in specific number of days. For Kavya I can",
      "links": [],
      "error": "Error: days per request (rule {\"allowHalfDay\":true,\"minNoticeDays\":30,\"permanentOnly\":true,\"afterProbation\":true,\"maxDaysPerYear\":7,\"oncePerService\":true,\"minTenureMonths\":12,\"countCalendarDays\":false,\"maxConsecutiveDays\":10,\"noticeExemptWhenEmergency\":false})\n\nexpect(received).toBeLessThanOrEqual(expected)\n\nExpected: <= 7\nReceived:    10",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave Balance",
      "description": "An employee cannot have more than 10 days of bereavement leave and they cannot have more than 7 days of wedding leave. These leaves don't get carried forward. and should expire in specific number of days. For Kavya I can see 20 beraevement leaves and 14 wedding leaves",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-069 · FLOATING-HOLIDAYS is not credited before the employee completes 30 days",
      "file": "tests/feedback/leave/leave-rules.spec.ts:267",
      "outcome": "failed",
      "key": "SHR-069",
      "label": "fb",
      "note": "SHR-069 · Fix · Attendance › Attendance — Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once the employee completes 30 days",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-446"
      ],
      "error": "Error: credits inside the first 30 days\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 4\n\n- Array []\n+ Array [\n+   \"e2 (joined 2026-10-01): +2.00 on 2026-10-09 (policy_entitlement:2026)\",\n+   \"e3 (joined 2026-10-01): +2.00 on 2026-10-09 (policy_entitlement:2026)\",\n+ ]",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once the employee completes 30 days All special leaves to be credited by HR and should not be auto assigned(Bereavement leaves, Maternity leaves, Examination Leaves, Paternity leaves)",
      "expected": "Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once th eemployee completes 30 days All special leaves to be credited by HR and should not be auto assigned(Bereavement leaves, Maternity leaves, Examination Leaves, Paternity leaves)",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-069 · PAID-TIME-OFF-PTO is not credited before the employee completes 30 days",
      "file": "tests/feedback/leave/leave-rules.spec.ts:267",
      "outcome": "failed",
      "key": "SHR-069",
      "label": "fb",
      "note": "SHR-069 · Fix · Attendance › Attendance — Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once the employee completes 30 days",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-446"
      ],
      "error": "Error: credits inside the first 30 days\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 4\n\n- Array []\n+ Array [\n+   \"e2 (joined 2026-10-01): +1.25 on 2026-10-09 (policy_entitlement:2026-10)\",\n+   \"e3 (joined 2026-10-01): +1.25 on 2026-10-09 (policy_entitlement:2026-10)\",\n+ ]",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once the employee completes 30 days All special leaves to be credited by HR and should not be auto assigned(Bereavement leaves, Maternity leaves, Examination Leaves, Paternity leaves)",
      "expected": "Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once th eemployee completes 30 days All special leaves to be credited by HR and should not be auto assigned(Bereavement leaves, Maternity leaves, Examination Leaves, Paternity leaves)",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-069 · special leaves (bereavement, maternity, examination, paternity) are never credited automatically",
      "file": "tests/feedback/leave/leave-rules.spec.ts:279",
      "outcome": "failed",
      "key": "SHR-069",
      "label": "fb",
      "note": "SHR-069 · Fix · Attendance › Attendance — Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once the employee completes 30 days",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-440"
      ],
      "error": "Error: employees holding automatically accrued special leave, e.g. Aarav Krishnamurthy.: BLE accrued 10; Aarav Krishnamurthy.: EXAMINATION-LEAVE accrued 5; Aarav Krishnamurthy.: MATERNITY-LEAVE accrued 182; Aarav Krishnamurthy.: PATERNITY-LEAVE accrued 5; Aditya Ranganathan: BLE accrued 10; Aditya Ranganathan: EXAMINATION-LEAVE accrued 5\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: 156",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once the employee completes 30 days All special leaves to be credited by HR and should not be auto assigned(Bereavement leaves, Maternity leaves, Examination Leaves, Paternity leaves)",
      "expected": "Floating Holidays and PTO are being credited as soon as the employee has joined these should be credited once th eemployee completes 30 days All special leaves to be credited by HR and should not be auto assigned(Bereavement leaves, Maternity leaves, Examination Leaves, Paternity leaves)",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-085 · Floating Holidays are credited only 30 days after the joining date",
      "file": "tests/feedback/leave/leave-rules.spec.ts:287",
      "outcome": "failed",
      "key": "SHR-085",
      "label": "fb",
      "note": "SHR-085 · Fix · Leave › leave deposit — FH should be credited after 30 days from the DOJ. PTO Should be credited after 1st of next month from joining. Marriage leave is a special leave it should be assigned by the HR.",
      "links": [],
      "error": "Error: QA Employee Two joined 2026-10-01: Floating Holiday credits before 2026-10-31\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 3\n\n- Array []\n+ Array [\n+   \"2026-10-09 +2.00 policy_entitlement:2026\",\n+ ]",
      "attachments": [],
      "module": "Leave",
      "submodule": "leave deposit",
      "description": "FH should be credited after 30 days from the DOJ. PTO Should be credited after 1st of next month from joining. Marriage leave is a special leave it should be assigned by the HR.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-085 · PTO is first credited on the 1st of the month after joining",
      "file": "tests/feedback/leave/leave-rules.spec.ts:295",
      "outcome": "failed",
      "key": "SHR-085",
      "label": "fb",
      "note": "SHR-085 · Fix · Leave › leave deposit — FH should be credited after 30 days from the DOJ. PTO Should be credited after 1st of next month from joining. Marriage leave is a special leave it should be assigned by the HR.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-446"
      ],
      "error": "Error: QA Employee Two joined 2026-10-01: PTO credits before 2026-11-01 or for the joining month\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 3\n\n- Array []\n+ Array [\n+   \"2026-10-09 +1.25 policy_entitlement:2026-10\",\n+ ]",
      "attachments": [],
      "module": "Leave",
      "submodule": "leave deposit",
      "description": "FH should be credited after 30 days from the DOJ. PTO Should be credited after 1st of next month from joining. Marriage leave is a special leave it should be assigned by the HR.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-085 · Wedding Leave is assigned by HR only, never accrued automatically",
      "file": "tests/feedback/leave/leave-rules.spec.ts:305",
      "outcome": "passed",
      "key": "SHR-085",
      "label": "fb",
      "note": "SHR-085 · Fix · Leave › leave deposit — FH should be credited after 30 days from the DOJ. PTO Should be credited after 1st of next month from joining. Marriage leave is a special leave it should be assigned by the HR.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "leave deposit",
      "description": "FH should be credited after 30 days from the DOJ. PTO Should be credited after 1st of next month from joining. Marriage leave is a special leave it should be assigned by the HR.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-087 · leave of more than 3 days goes to the department head after the manager (Annual Leave Approval)",
      "file": "tests/feedback/leave/leave-rules.spec.ts:314",
      "outcome": "passed",
      "key": "SHR-087",
      "label": "fb",
      "note": "SHR-087 · fix · Leave › Long leave approval matrix — Leave application for more than 3 days are not triggered to the department head after the manager approved, It is directly triggered to HR with out dept head approval.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-452"
      ],
      "error": "",
      "attachments": [],
      "module": "Leave",
      "submodule": "Long leave approval matrix",
      "description": "Leave application for more than 3 days are not triggered to the department head after the manager approved, It is directly triggered to HR with out dept head approval.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-087 · leave without pay of more than 3 days also needs the department head",
      "file": "tests/feedback/leave/leave-rules.spec.ts:322",
      "outcome": "failed",
      "key": "SHR-087",
      "label": "fb",
      "note": "SHR-087 · fix · Leave › Long leave approval matrix — Leave application for more than 3 days are not triggered to the department head after the manager approved, It is directly triggered to HR with out dept head approval.",
      "links": [],
      "error": "Error: Leave Without Pay chain is mgr_approval (manager_or_hr_partner) → hr_approval (hr_partner)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [],
      "module": "Leave",
      "submodule": "Long leave approval matrix",
      "description": "Leave application for more than 3 days are not triggered to the department head after the manager approved, It is directly triggered to HR with out dept head approval.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-092 · comp-off requests go Reporting manager → Department head → HR SPOC → HR head",
      "file": "tests/feedback/leave/leave-rules.spec.ts:328",
      "outcome": "failed",
      "key": "SHR-092",
      "label": "fb",
      "note": "SHR-092 · Fix · Leave › Leave configuration — Compensatory Off (Comp-Off) Eligibility: Comp-Off requests may be raised only for work performed on declared weekends or company holidays. Comp-Off cannot be applied for regular scheduled working days. All Comp-Off reque",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-441"
      ],
      "error": "Error: Comp-Off Request chain is mgr_compoff (manager_or_hr_partner)\n\nexpect(received).toHaveLength(expected)\n\nExpected length: 4\nReceived length: 1\nReceived array:  [\"mgr_compoff (manager_or_hr_partner)\"]",
      "attachments": [],
      "module": "Leave",
      "submodule": "Leave configuration",
      "description": "Compensatory Off (Comp-Off) Eligibility: Comp-Off requests may be raised only for work performed on declared weekends or company holidays. Comp-Off cannot be applied for regular scheduled working days. All Comp-Off requests must be apporved by Reporting manager ->Department Head -> HR SPOC -> HR Head",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-067 · HR can download a leave report (requests and balances)",
      "file": "tests/feedback/leave/leave-rules.spec.ts:347",
      "outcome": "passed",
      "key": "SHR-067",
      "label": "fb",
      "note": "SHR-067 · Fix · Attendance › Attendance — There is no option to download leave reports",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Attendance",
      "submodule": "Attendance",
      "description": "There is no option to download leave reports",
      "expected": "There is no option to download leave reports",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-124 · one leave report has employee details, from/to dates, opening, accrual and closing balance, and approval status",
      "file": "tests/feedback/leave/leave-rules.spec.ts:357",
      "outcome": "failed",
      "key": "SHR-124",
      "label": "fb",
      "note": "SHR-124 · Enhancement · High · Attendance › Attendance details report/LOP report — Leave report with employee details and Leave type and the format is shared in the screenshots Tab",
      "links": [],
      "error": "Error: no single download has every column — leave-requests-pending-2026-10-15.csv: missing opening balance, accrual, closing balance | leave-balances-2026-10-15.csv: missing from date, to date, approval status\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-leave/leave-rules-leave-reports--66d15-balance-and-approval-status-fb-leave/test-failed-1.png"
      ],
      "module": "Attendance",
      "submodule": "Attendance details report/LOP report",
      "description": "Leave report with employee details and Leave type and the format is shared in the screenshots Tab",
      "expected": "Leave report should contant employee details, from date, to date, accrual balance for that leave type, opening balance and closing balance approval status",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-070 · a Department Head sees only requisitions of their own department",
      "file": "tests/feedback/recruitment-requisition/access.spec.ts:8",
      "outcome": "passed",
      "key": "SHR-070",
      "label": "fb",
      "note": "SHR-070 · Fix · Recruitment › Requisition — The Department Head should be able to view requisitions/open positions that belong to their respective department only. Currently, the Department Head is able to view requisitions across all departments. Access should be",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "The Department Head should be able to view requisitions/open positions that belong to their respective department only. Currently, the Department Head is able to view requisitions across all departments. Access should be restricted so that each Department Head can only view the openings raised under their own department.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-053 · the Voluntary self-identification tab explains what it is for",
      "file": "tests/feedback/recruitment-requisition/access.spec.ts:23",
      "outcome": "passed",
      "key": "SHR-053",
      "label": "fb",
      "note": "SHR-053 · Clarification · Recruitment › Requisition — Please help us understand the purpose and functionality of the Voluntary Self-Identification tab",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Please help us understand the purpose and functionality of the Voluntary Self-Identification tab",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-048 · the requisition approval workflow is defined as Department Head → Management → HR Head",
      "file": "tests/feedback/recruitment-requisition/access.spec.ts:33",
      "outcome": "passed",
      "key": "SHR-048",
      "label": "fb",
      "note": "SHR-048 · Clarification · Recruitment › Requisition & Offer — Please help us understand how the approval workflows for requisitions and offers are currently defined and configured, including the approval hierarchy and sequence.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition & Offer",
      "description": "Please help us understand how the approval workflows for requisitions and offers are currently defined and configured, including the approval hierarchy and sequence.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-017 · the approver gets the requisition in their Inbox to act on",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:223",
      "outcome": "passed",
      "key": "SHR-017",
      "label": "fb",
      "note": "SHR-017 · Fix · Recruitment › Requisition Creation — After Kavya raised the requisition, Vikram, who is the reporting manager, received the approval notification. However, we could not see the notification in his Inbox to approve the requisition.",
      "links": [],
      "error": "",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-d63b4-on-in-their-Inbox-to-act-on-fb-recruitment-requisition/attachments/hrh-inbox-1bfe824645e2d6d74a1a987bb2673a9e8167a263.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "description": "Issue: After Kavya raised the requisition, Vikram, who is the reporting manager, received the approval notification. However, we could not see the notification in his Inbox to approve the requisition.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-071 · the Inbox item shows the requisition’s details, including the reason, without leaving the Inbox",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:231",
      "outcome": "passed",
      "key": "SHR-071",
      "label": "fb",
      "note": "SHR-071 · Fix · Recruitment › Requisition — Once a requisition is raised, the Department Head should be able to view all the relevant requisition details, including the reason for raising the position. Currently, when the Department Head receives the requisition i",
      "links": [],
      "error": "",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-0ab63-n-without-leaving-the-Inbox-fb-recruitment-requisition/attachments/hrh-inbox-1bfe824645e2d6d74a1a987bb2673a9e8167a263.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Once a requisition is raised, the Department Head should be able to view all the relevant requisition details, including the reason for raising the position. Currently, when the Department Head receives the requisition in the Inbox for approval, the required details are not visible. The Department Head has to navigate to the Recruitment tab, locate the requisition, review the details, and then approve it. The requisition details should be accessible directly from the approval request in the Inbox, so the Department Head can review the information and approve/reject the requisition without having to navigate to the Recruitment tab separately.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-101 · the HR Head approval step asks for no extra fields, only review and approve / decline / request changes",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:241",
      "outcome": "passed",
      "key": "SHR-101",
      "label": "fb",
      "note": "SHR-101 · Clarification · Recruitment › Requisition — After the requisition is approved by the Department Head, the HR Head is required to complete fields such as Band, Salary, Interview Sequence, and Job Description in Company Format. However, these details are already cap",
      "links": [],
      "error": "",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-0fd2d-ove-decline-request-changes-fb-recruitment-requisition/attachments/hrh-inbox-1bfe824645e2d6d74a1a987bb2673a9e8167a263.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "After the requisition is approved by the Department Head, the HR Head is required to complete fields such as Band, Salary, Interview Sequence, and Job Description in Company Format. However, these details are already captured during the initial requisition process or handled separately. Remove the fields from the HR Head's approval stage and retain only the options to review the requisition, approve, reject, or request changes.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-072 · a requisition sent back shows \"Changes requested\" and the approver’s comment to the hiring manager",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:250",
      "outcome": "passed",
      "key": "SHR-072",
      "label": "fb",
      "note": "SHR-072 · Fix · Recruitment › Requisition — When the Department Head sends a requisition back to the Hiring Manager with requested changes, the Hiring Manager should be able to view the comments/reason provided by the Department Head. Currently, the requisition ap",
      "links": [],
      "error": "",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-f1c6f-mment-to-the-hiring-manager-fb-recruitment-requisition/attachments/mgr-returned-afd16f8c08d076c3152443851ef2dbad59b55d4e.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "When the Department Head sends a requisition back to the Hiring Manager with requested changes, the Hiring Manager should be able to view the comments/reason provided by the Department Head. Currently, the requisition appears as “Draft” in the Hiring Manager’s login, which does not indicate that it has been returned for changes. The status should clearly reflect that the requisition is pending changes/action, along with the Department Head’s comments, so the Hiring Manager can make the required updates accordingly.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-072 · the approval progress of a sent-back requisition does not claim it was approved",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:260",
      "outcome": "failed",
      "key": "SHR-072",
      "label": "fb",
      "note": "SHR-072 · Fix · Recruitment › Requisition — When the Department Head sends a requisition back to the Hiring Manager with requested changes, the Hiring Manager should be able to view the comments/reason provided by the Department Head. Currently, the requisition ap",
      "links": [],
      "error": "Error: the progress block reads: \"Raised Approved Oct 15, 2026 Approval chain Approved Open for sourcing Queued No approval workflow is set up for this yet.\"\n\nexpect(received).not.toMatch(expected)\n\nExpected pattern: not /\\bApproved\\b/\nReceived string:      \"Raised\n\nApproved\nOct 15, 2026\n\nApproval chain\n\nApproved\n\nOpen for sourcing\n\nQueued\n\nNo approval workflow is set up for this yet.\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-f5e73-s-not-claim-it-was-approved-fb-recruitment-requisition/attachments/mgr-returned-afd16f8c08d076c3152443851ef2dbad59b55d4e.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "When the Department Head sends a requisition back to the Hiring Manager with requested changes, the Hiring Manager should be able to view the comments/reason provided by the Department Head. Currently, the requisition appears as “Draft” in the Hiring Manager’s login, which does not indicate that it has been returned for changes. The status should clearly reflect that the requisition is pending changes/action, along with the Department Head’s comments, so the Hiring Manager can make the required updates accordingly.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-072 · the hiring manager is told who sent it back",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:269",
      "outcome": "failed",
      "key": "SHR-072",
      "label": "fb",
      "note": "SHR-072 · Fix · Recruitment › Requisition — When the Department Head sends a requisition back to the Hiring Manager with requested changes, the Hiring Manager should be able to view the comments/reason provided by the Department Head. Currently, the requisition ap",
      "links": [],
      "error": "Error: exactly one notification per return (got: recruitment.requisition.returned | Changes requested: REQ-2026-0190 — FB Test Req 10150156 | The department head sent the requisition back with: \"FB test: please make it two openings\". Make the changes on the requisition and resubmit it. || recruitment.requisition.returned | FB Test Req 10150156 came back with questions | The requisition for FB Test Req 10150156 was returned rather than approved. Please answer the points on it and resubmit; nothing moves until you do.)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 1\nReceived: 2",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "When the Department Head sends a requisition back to the Hiring Manager with requested changes, the Hiring Manager should be able to view the comments/reason provided by the Department Head. Currently, the requisition appears as “Draft” in the Hiring Manager’s login, which does not indicate that it has been returned for changes. The status should clearly reflect that the requisition is pending changes/action, along with the Department Head’s comments, so the Hiring Manager can make the required updates accordingly.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-099 · the hiring manager can edit a sent-back requisition and save it",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:278",
      "outcome": "passed",
      "key": "SHR-099",
      "label": "fb",
      "note": "SHR-099 · Fix · Recruitment › Requisition — After the Department Head requests changes to a requisition, the Manager receives a notification to make the changes. However, when the Manager edits the requisition and attempts to save it, the system throws an error.",
      "links": [],
      "error": "",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-a35c2-ack-requisition-and-save-it-fb-recruitment-requisition/attachments/mgr-edit-saved-ea57892026a11a462e89a26b4f66f99470490cd0.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "After the Department Head requests changes to a requisition, the Manager receives a notification to make the changes. However, when the Manager edits the requisition and attempts to save it, the system throws an error.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-116 · after changes are asked for, the resubmitted requisition goes straight back to the approver who asked",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:286",
      "outcome": "failed",
      "key": "SHR-116",
      "label": "fb",
      "note": "SHR-116 · Enhancement · Recruitment › Requisition — When Approver 2 requests changes to a requisition, it is returned to the Hiring Manager for modification. Once the Hiring Manager resubmits the revised requisition, it should be routed directly to Approver 2, who request",
      "links": [],
      "error": "Error: the HR Head asked for the changes; the resubmitted run is with: approval_department_head\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 1\n\n  Array [\n-   \"approval_hr_head\",\n+   \"approval_department_head\",\n  ]",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-5da34-k-to-the-approver-who-asked-fb-recruitment-requisition/attachments/mgr-returned-afd16f8c08d076c3152443851ef2dbad59b55d4e.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "When Approver 2 requests changes to a requisition, it is returned to the Hiring Manager for modification. Once the Hiring Manager resubmits the revised requisition, it should be routed directly to Approver 2, who requested the changes, rather than going back to Approver 1.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-100 · a raised requisition shows its whole approval chain, in order, with the people at each step",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:294",
      "outcome": "passed",
      "key": "SHR-100",
      "label": "fb",
      "note": "SHR-100 · Clarification · Recruitment › Requisition — Clarification required on the requisition approval workflow, as the current process shows that once the Department Head approves the requisition, it is triggered to Vikram, followed by Arav and then the HR Head",
      "links": [],
      "error": "",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-4829d-ith-the-people-at-each-step-fb-recruitment-requisition/attachments/mgr-pending-e86ef95c5fd5e37401ae774529b2a04f2218ef71.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Clarification required on the requisition approval workflow, as the current process shows that once the Department Head approves the requisition, it is triggered to Vikram, followed by Arav and then the HR Head",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-073 · the hiring manager and the HR Head are told when the department head approves",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:307",
      "outcome": "passed",
      "key": "SHR-073",
      "label": "fb",
      "note": "SHR-073 · Enhancement · Recruitment › Requisition — Once a requisition is approved by the Department Head, the HR Head, respective Hiring Manager, and all Recruiters should receive a notification, irrespective of the department or entity associated with the requisition. C",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Once a requisition is approved by the Department Head, the HR Head, respective Hiring Manager, and all Recruiters should receive a notification, irrespective of the department or entity associated with the requisition. Currently, these users do not receive a notification after the requisition is approved by the Department Head.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-073 · the recruiters are told when the department head approves",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:315",
      "outcome": "failed",
      "key": "SHR-073",
      "label": "fb",
      "note": "SHR-073 · Enhancement · Recruitment › Requisition — Once a requisition is approved by the Department Head, the HR Head, respective Hiring Manager, and all Recruiters should receive a notification, irrespective of the department or entity associated with the requisition. C",
      "links": [],
      "error": "Error: the recruiter (hrm) got any notice about REQ-2026-0190 after the department head approved\n\nexpect(received).toBeGreaterThan(expected)\n\nExpected: > 0\nReceived:   0",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Once a requisition is approved by the Department Head, the HR Head, respective Hiring Manager, and all Recruiters should receive a notification, irrespective of the department or entity associated with the requisition. Currently, these users do not receive a notification after the requisition is approved by the Department Head.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-073 · once approved, the HR Head, hiring manager and recruiters are all told",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:322",
      "outcome": "failed",
      "key": "SHR-073",
      "label": "fb",
      "note": "SHR-073 · Enhancement · Recruitment › Requisition — Once a requisition is approved by the Department Head, the HR Head, respective Hiring Manager, and all Recruiters should receive a notification, irrespective of the department or entity associated with the requisition. C",
      "links": [],
      "error": "Error: hrh got \"requisition approved\" (has: workflow.approval_request, recruitment.requisition.dept_head_approved, workflow.approval_request, recruitment.requisition.dept_head_approved)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Once a requisition is approved by the Department Head, the HR Head, respective Hiring Manager, and all Recruiters should receive a notification, irrespective of the department or entity associated with the requisition. Currently, these users do not receive a notification after the requisition is approved by the Department Head.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-054 · the hiring manager is notified when the requisition is approved (in-app; email is not observable on QA)",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:331",
      "outcome": "passed",
      "key": "SHR-054",
      "label": "fb",
      "note": "SHR-054 · Fix · Recruitment › Notification — Once the requisition is approved, the Hiring Manager is not receiving the approval notification email. The Hiring Manager should receive an email notification once the requisition is approved.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Notification",
      "description": "Once the requisition is approved, the Hiring Manager is not receiving the approval notification email. The Hiring Manager should receive an email notification once the requisition is approved.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-074 · after approval the hiring manager is notified and sees the approval details on the requisition",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:338",
      "outcome": "passed",
      "key": "SHR-074",
      "label": "fb",
      "note": "SHR-074 · Enhancement · Recruitment › Requisition — Once all required approvals are completed, the Hiring Manager should receive a notification and should be able to view the approved requisition and approval details under the Recruitment tab.After approval, the Hiring Ma",
      "links": [],
      "error": "",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-89b01--details-on-the-requisition-fb-recruitment-requisition/attachments/mgr-approved-f25bb6905554e3a085baffcb45cc9c26e76100cf.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Once all required approvals are completed, the Hiring Manager should receive a notification and should be able to view the approved requisition and approval details under the Recruitment tab.After approval, the Hiring Manager’s involvement should be limited to reviewing profiles submitted by the Recruiter, reviewing and submitting interview feedback, and viewing the recruitment pipeline for the position, including profiles submitted, interviews scheduled/completed, and the current status of candidates. Activities such as posting the job on the Careers page and managing the interview sequence should be handled by the Recruiter and should not be visible/actionable to the Hiring Manager.Currently, the Hiring Manager is able to view these additional recruitment activities. These should be restricted based on the respective user roles.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-074 · the hiring manager cannot post the job or run sourcing; that is the recruiter’s job",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:348",
      "outcome": "failed",
      "key": "SHR-074",
      "label": "fb",
      "note": "SHR-074 · Enhancement · Recruitment › Requisition — Once all required approvals are completed, the Hiring Manager should receive a notification and should be able to view the approved requisition and approval details under the Recruitment tab.After approval, the Hiring Ma",
      "links": [],
      "error": "Error: hiring manager's buttons: Post this role, Tweak items, Start sourcing\n\nexpect(received).not.toContain(expected) // indexOf\n\nExpected value: not \"Post this role\"\nReceived array:     [\"Post this role\", \"Tweak items\", \"Start sourcing\"]",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-3fc19-that-is-the-recruiter’s-job-fb-recruitment-requisition/attachments/mgr-approved-f25bb6905554e3a085baffcb45cc9c26e76100cf.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Once all required approvals are completed, the Hiring Manager should receive a notification and should be able to view the approved requisition and approval details under the Recruitment tab.After approval, the Hiring Manager’s involvement should be limited to reviewing profiles submitted by the Recruiter, reviewing and submitting interview feedback, and viewing the recruitment pipeline for the position, including profiles submitted, interviews scheduled/completed, and the current status of candidates. Activities such as posting the job on the Careers page and managing the interview sequence should be handled by the Recruiter and should not be visible/actionable to the Hiring Manager.Currently, the Hiring Manager is able to view these additional recruitment activities. These should be restricted based on the respective user roles.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-036 · HR / talent acquisition can change the interview sequence while the requisition is pending and after approval",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:358",
      "outcome": "passed",
      "key": "SHR-036",
      "label": "fb",
      "note": "SHR-036 · Fix · Recruitment › Requisition Creation — While raising a requisition, if the Hiring Manager selects Standard Loop and submits the requisition, the interview panel sequence is unable to edit, even when the requisition is pending approval or already approved. The",
      "links": [],
      "error": "",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-d91f4--pending-and-after-approval-fb-recruitment-requisition/attachments/hrm-pending-55fa28c9fc3cd9d8927d1526067b69e2570d6c2c.png",
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-d91f4--pending-and-after-approval-fb-recruitment-requisition/attachments/hrm-approved-58142f647c1361d9297383e62039053035efe34c.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "description": "While raising a requisition, if the Hiring Manager selects Standard Loop and submits the requisition, the interview panel sequence is unable to edit, even when the requisition is pending approval or already approved. The interview panel sequence should be editable only by the HR Operations and Talent Acquisition teams, as the final panel sequence is decided during the calibration call and may need to be added, removed, or changed while working on the requisition.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-037 · the hiring manager cannot change the interview sequence",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:367",
      "outcome": "passed",
      "key": "SHR-037",
      "label": "fb",
      "note": "SHR-037 · Enhancement · Recruitment › Requisition Creation — While creating a requisition, under \"Hiring Plan\" there are options for \"Standard Loop\" and \"HR Operations Loop\". When Standard Loop is selected, a predefined interview panel sequence is automatically available. This seq",
      "links": [],
      "error": "",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-de5ca-ange-the-interview-sequence-fb-recruitment-requisition/attachments/mgr-pending-e86ef95c5fd5e37401ae774529b2a04f2218ef71.png",
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-de5ca-ange-the-interview-sequence-fb-recruitment-requisition/attachments/mgr-approved-f25bb6905554e3a085baffcb45cc9c26e76100cf.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "description": "While creating a requisition, under \"Hiring Plan\" there are options for \"Standard Loop\" and \"HR Operations Loop\". When Standard Loop is selected, a predefined interview panel sequence is automatically available. This sequence should be \"disabled for the Hiring Manager\" while raising the requisition and should be editable only by the \"HR Operations and Talent Acquisition teams\". The interview panel sequence is finalized only after the requisition is raised, based on the calibration call, and may require panels to be added, removed, or changed while the team works on the requisition.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-117 · reducing the headcount of an approved requisition goes through the approval chain again",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:376",
      "outcome": "failed",
      "key": "SHR-117",
      "label": "fb",
      "note": "SHR-117 · Enhancement · Recruitment › Requisition — When the Hiring Manager requests to close a requisition or modify the required headcount (e.g., reducing the requirement from two positions to one), the system should trigger the same approval workflow, hierarchy, and se",
      "links": [],
      "error": "Error: 2 → 1 openings: hiring manager PATCH 403 {\"code\":\"REQUISITION_NOT_EDITABLE\",\"message\":\"An approved requisition is edited by HR or the Super Admin\",\"requestId\":\"f809cd23-46db-4fe9-92d9-67cfa1db5f29\"}; HR PATCH 200 {\"id\":\"1dc6c83d-e9e1-4c0d-88ca-ab08c856936f\"}; afterwards status \"approved\", openings 1, new approval runs: 0\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "When the Hiring Manager requests to close a requisition or modify the required headcount (e.g., reducing the requirement from two positions to one), the system should trigger the same approval workflow, hierarchy, and sequence as followed during the initial requisition approval process.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-117 · a hiring manager’s request to close a requisition goes through the approval chain",
      "file": "tests/feedback/recruitment-requisition/approval.spec.ts:385",
      "outcome": "failed",
      "key": "SHR-117",
      "label": "fb",
      "note": "SHR-117 · Enhancement · Recruitment › Requisition — When the Hiring Manager requests to close a requisition or modify the required headcount (e.g., reducing the requirement from two positions to one), the system should trigger the same approval workflow, hierarchy, and se",
      "links": [],
      "error": "Error: Close requisition by the hiring manager → 200 {\"id\":\"1dc6c83d-e9e1-4c0d-88ca-ab08c856936f\",\"status\":\"closed\"}; status \"closed\", approval runs started: 0\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/approval-requisition-appro-8218d--through-the-approval-chain-fb-recruitment-requisition/attachments/mgr-closed-88fbbf8a986547565708dbaccba2910df1956ff4.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "When the Hiring Manager requests to close a requisition or modify the required headcount (e.g., reducing the requirement from two positions to one), the system should trigger the same approval workflow, hierarchy, and sequence as followed during the initial requisition approval process.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-024 · the raise form lets the requester add or upload the job description (PDF or Word)",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:14",
      "outcome": "passed",
      "key": "SHR-024",
      "label": "fb",
      "note": "SHR-024 · Enhancement · Recruitment › Requisition Creation — While creating a requisition, we need an option to add or upload the Job Description (JD). Currently, there is no option available to add the JD during requisition creation. Could you please check if this functionality c",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "description": "Enhancement: While creating a requisition, we need an option to add or upload the Job Description (JD). Currently, there is no option available to add the JD during requisition creation. Could you please check if this functionality can be added?",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-111 · an uploaded JD keeps its layout: headings, lists and bold come through as formatting, never as raw tags",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:25",
      "outcome": "failed",
      "key": "SHR-111",
      "label": "fb",
      "note": "SHR-111 · Enhancement · Recruitment › Requisition — The system extracts and displays details from the Job Description (JD) uploaded by the Hiring Manager during requisition creation, but the format and layout of the extracted content are incorrect.",
      "links": [],
      "error": "Error: the JD title shows as a heading, not as the literal text \"<h1>Delivery Manager</h1>\"\n\nexpect(locator).not.toContainText(expected) failed\n\nLocator: getByRole('dialog').filter({ hasText: 'Raise a requisition' }).last().locator('[contenteditable=true]').first()\nExpected substring: not \"<h1>\"\nReceived string: \"<h1>Delivery Manager</h1>We are looking for a Delivery Manager to run two client accounts.ResponsibilitiesOwn delivery plans and timelinesRun weekly client reviewsCoach a team of eight engineersRequirementsEight years of software deliveryStrong stakeholder managementLocation: Hyderabad HQ\"\nTimeout: 30000ms\n\nCall log:\n  - the JD title shows as a heading, not as the literal text \"<h1>Delivery Manager</h1>\" getByRole('dialog').filter({ hasText: 'Raise a requisition' }).last().locator('[contenteditable=true]').first() with timeout 30000ms\n  - waiting for getByRole('dialog').filter({ hasText: 'Raise a requisition' }).last().locator('[contenteditable=true]').first()\n    63 × locator resolved to <div tabindex=\"0\" translate=\"no\" contenteditable=\"true\" aria-label=\"Job description\" class=\"tiptap ProseMirror min-h-32 px-3 py-2 text-sm text-ink focus:outline-none [&_h2]:mt-3 [&_h2]:text-base [&_h2]:font-semibold [&_h3]:mt-2 [&_h3]:text-sm [&_h3]:font-semibold [&_h4]:mt-2 [&_h4]:text-sm [&_h4]:font-medium [&_p]:my-1 [&_ul]:my-1 [&_ul]:list-disc [&_ul]:pl-5 [&_ol]:my-1 [&_ol]:list-decimal [&_ol]:pl-5 [&_a]:underline\">…</div>\n       - unexpected value \"<h1>Delivery Manager</h1>We are looking for a Delivery Manager to run two client accounts.ResponsibilitiesOwn delivery plans and timelinesRun weekly client reviewsCoach a team of eight engineersRequirementsEight years of software deliveryStrong stakeholder managementLocation: Hyderabad HQ\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/form-requisition-form-fb-p-88281-ormatting-never-as-raw-tags-fb-recruitment-requisition/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "The system extracts and displays details from the Job Description (JD) uploaded by the Hiring Manager during requisition creation, but the format and layout of the extracted content are incorrect.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-032 · a replacement requisition asks for the employee being replaced",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:43",
      "outcome": "passed",
      "key": "SHR-032",
      "label": "fb",
      "note": "SHR-032 · Enhancement · Recruitment › Requisition Creation — When creating a job requisition for a replacement position, there should be a separate field/column where the requester can enter the name of the employee who is being replaced.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "description": "Issue : When creating a job requisition for a replacement position, there should be a separate field/column where the requester can enter the name of the employee who is being replaced.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-034 · submitting with missing fields names each missing required field",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:53",
      "outcome": "passed",
      "key": "SHR-034",
      "label": "fb",
      "note": "SHR-034 · Fix · Recruitment › Requisition Creation — While creating a requisition, the system shows that one required field is still pending, but it does not indicate which field is missing. It should clearly show which required field needs to be completed.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition Creation",
      "description": "Fix - While creating a requisition, the system shows that one required field is still pending, but it does not indicate which field is missing. It should clearly show which required field needs to be completed.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-049 · the hiring manager list shows only people of the position’s department",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:65",
      "outcome": "passed",
      "key": "SHR-049",
      "label": "fb",
      "note": "SHR-049 · Fix · Recruitment › Requisition — When we select a Position, the Department is automatically populated. However, under the Hiring Manager field, all employees are currently displayed. The Hiring Manager dropdown should display only the employees belongin",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "When we select a Position, the Department is automatically populated. However, under the Hiring Manager field, all employees are currently displayed. The Hiring Manager dropdown should display only the employees belonging to the selected Department, instead of showing all employees.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-050 · the raise form has no pre-onboarding checklist field",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:82",
      "outcome": "passed",
      "key": "SHR-050",
      "label": "fb",
      "note": "SHR-050 · Fix · Recruitment › Requisition — In the Raise a Requisition form, remove the Pre-onboarding Checklist field, as it is not required at the requisition-raising stage.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "In the Raise a Requisition form, remove the Pre-onboarding Checklist field, as it is not required at the requisition-raising stage.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-051 · a backdated target start date is refused by the form and by the server",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:90",
      "outcome": "passed",
      "key": "SHR-051",
      "label": "fb",
      "note": "SHR-051 · Fix · Recruitment › Requisition — We were able to raise a requisition with a backdated start date, and it was still triggered for approval. Ideally, the system should not allow a requisition to be raised with a backdated start date.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "We were able to raise a requisition with a backdated start date, and it was still triggered for approval. Ideally, the system should not allow a requisition to be raised with a backdated start date.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-052 · the justification accepts letters and sentence punctuation only",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:104",
      "outcome": "passed",
      "key": "SHR-052",
      "label": "fb",
      "note": "SHR-052 · Fix · Recruitment › Requisition — In the Justification field, the system only shows the validation message “At least 8 characters are needed”. It is currently allowing special characters and numeric values, whereas the field should accept alphabetic char",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "In the Justification field, the system only shows the validation message “At least 8 characters are needed”. It is currently allowing special characters and numeric values, whereas the field should accept alphabetic characters only.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-056 · work location is a mandatory field of the requisition",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:118",
      "outcome": "passed",
      "key": "SHR-056",
      "label": "fb",
      "note": "SHR-056 · Enhancement · Recruitment › Requisition — Currently, there does not appear to be an option to specify the work location where the resource is expected to work during the requisition process. It would be helpful to have a field to capture the work location detail",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Currently, there does not appear to be an option to specify the work location where the resource is expected to work during the requisition process. It would be helpful to have a field to capture the work location details as part of the requisition. And mark this field as mandatory.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-098 · the work location dropdown lists the company’s locations for the hiring manager",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:129",
      "outcome": "passed",
      "key": "SHR-098",
      "label": "fb",
      "note": "SHR-098 · Fix · Recruitment › Requisition — Work Location dropdown is empty when creating a requisition using the Test Hiring Manager and Test Department Head logins, whereas locations are visible for the Recruiter and HR Head logins.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Work Location dropdown is empty when creating a requisition using the Test Hiring Manager and Test Department Head logins, whereas locations are visible for the Recruiter and HR Head logins.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-098 · the work location dropdown lists the company’s locations for the department head",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:129",
      "outcome": "passed",
      "key": "SHR-098",
      "label": "fb",
      "note": "SHR-098 · Fix · Recruitment › Requisition — Work Location dropdown is empty when creating a requisition using the Test Hiring Manager and Test Department Head logins, whereas locations are visible for the Recruiter and HR Head logins.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Work Location dropdown is empty when creating a requisition using the Test Hiring Manager and Test Department Head logins, whereas locations are visible for the Recruiter and HR Head logins.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-100 · the raise form tells the requester every step the request will go through",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:141",
      "outcome": "failed",
      "key": "SHR-100",
      "label": "fb",
      "note": "SHR-100 · Clarification · Recruitment › Requisition — Clarification required on the requisition approval workflow, as the current process shows that once the Department Head approves the requisition, it is triggered to Vikram, followed by Arav and then the HR Head",
      "links": [],
      "error": "Error: the form's \"where it goes\" line names /management|executive/i (it says: \"Goes to the department head, then HR.\")\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /management|executive/i\nReceived string:  \"Goes to the department head, then HR.\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-requisition/form-requisition-form-fb-p-0d5cc-the-request-will-go-through-fb-recruitment-requisition/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Clarification required on the requisition approval workflow, as the current process shows that once the Department Head approves the requisition, it is triggered to Vikram, followed by Arav and then the HR Head",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-049 · the server refuses a hiring manager from another department",
      "file": "tests/feedback/recruitment-requisition/form.spec.ts:157",
      "outcome": "failed",
      "key": "SHR-049",
      "label": "fb",
      "note": "SHR-049 · Fix · Recruitment › Requisition — When we select a Position, the Department is automatically populated. However, under the Hiring Manager field, all employees are currently displayed. The Hiring Manager dropdown should display only the employees belongin",
      "links": [],
      "error": "Error: a Delivery requisition with Aarav Krishnamurthy. (Executive Office) as hiring manager is refused (got 201)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "When we select a Position, the Department is automatically populated. However, under the Hiring Manager field, all employees are currently displayed. The Hiring Manager dropdown should display only the employees belonging to the selected Department, instead of showing all employees.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-104 · a requisition the recruiter raises on the hiring manager’s behalf goes to the HR Head only",
      "file": "tests/feedback/recruitment-requisition/routing.spec.ts:8",
      "outcome": "failed",
      "key": "SHR-104",
      "label": "fb",
      "note": "SHR-104 · Enhancement · Recruitment › Requisition — When a Recruiter raises a requisition on behalf of the Hiring Manager, based on approvals received via email, the requisition should be routed directly to the HR Head as the sole approver, bypassing the standard approval",
      "links": [],
      "error": "Error: REQ-2026-0192, raised by the recruiter, is routed: Department Head endorses the headcount (current: Test Department Head) → Management approves the hire (pending: Vikram Raghavan, Aarav Krishnamurthy.) → HR Head approves the requisition (pending: Test HR Head, QA HR Head, Raju Rastogi, Kavya Raghunathan)\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 0\n+ Received  + 2\n\n  Array [\n+   \"approval_department_head\",\n+   \"approval_management\",\n    \"approval_hr_head\",\n  ]",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "When a Recruiter raises a requisition on behalf of the Hiring Manager, based on approvals received via email, the requisition should be routed directly to the HR Head as the sole approver, bypassing the standard approval workflow",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-056 · a requisition cannot be submitted without a work location",
      "file": "tests/feedback/recruitment-requisition/routing.spec.ts:26",
      "outcome": "passed",
      "key": "SHR-056",
      "label": "fb",
      "note": "SHR-056 · Enhancement · Recruitment › Requisition — Currently, there does not appear to be an option to specify the work location where the resource is expected to work during the requisition process. It would be helpful to have a field to capture the work location detail",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "Currently, there does not appear to be an option to specify the work location where the resource is expected to work during the requisition process. It would be helpful to have a field to capture the work location details as part of the requisition. And mark this field as mandatory.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-057 · proposing a backdated slot for a real candidate is refused",
      "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:55",
      "outcome": "passed",
      "key": "SHR-057",
      "label": "fb",
      "note": "SHR-057 · Fix · Recruitment › Interview — Currently, the system allows us to propose a backdated date and time to the candidate. Ideally, the system should not allow backdated dates or times to be proposed.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Currently, the system allows us to propose a backdated date and time to the candidate. Ideally, the system should not allow backdated dates or times to be proposed.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-080 · a 45-minute slot is booked as 45 minutes",
      "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:61",
      "outcome": "passed",
      "key": "SHR-080",
      "label": "fb",
      "note": "SHR-080 · Enhancement · Recruitment › Interview — Currently, the interview slots are set to a fixed duration of 1 hour. The interview duration should be customizable, allowing the Recruiter to select and propose the appropriate slot duration based on the role and interv",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Currently, the interview slots are set to a fixed duration of 1 hour. The interview duration should be customizable, allowing the Recruiter to select and propose the appropriate slot duration based on the role and interview requirements.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-081 · the interviewer's notification opens the interview to give feedback",
      "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:68",
      "outcome": "passed",
      "key": "SHR-081",
      "label": "fb",
      "note": "SHR-081 · Fix · Recruitment › Interview — The interviewer is currently receiving the interview notification in the Inbox, but the notification is not clickable. The notification should be clickable and should take the interviewer directly to the relevant intervi",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "The interviewer is currently receiving the interview notification in the Inbox, but the notification is not clickable. The notification should be clickable and should take the interviewer directly to the relevant interview details/feedback section, so that once the interview is completed, the interviewer can submit their feedback accordingly.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-112 · the next round can't be scheduled before the previous round's feedback is in",
      "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:82",
      "outcome": "failed",
      "key": "SHR-112",
      "label": "fb",
      "note": "SHR-112 · Enhancement · Recruitment › Requisition — The system should prevent scheduling the next interview round until the previous interviewer has submitted their feedback.",
      "links": [],
      "error": "Error: scheduling T2 while T1 feedback is pending: {\"id\":\"58d6f79f-858c-418e-a769-0e0c9f938035\",\"conflicts\":[]}\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: 409\nReceived: 201",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "The system should prevent scheduling the next interview round until the previous interviewer has submitted their feedback.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-097 · panelists submit their scorecards once the interview has started, with no \"Happened\" step",
      "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:89",
      "outcome": "passed",
      "key": "SHR-097",
      "label": "fb",
      "note": "SHR-097 · Enhancement · Recruitment › Interview — Currently, the interviewer can access the scorecard and submit interview feedback only after the recruiter updates the interview status to “Happened.” The interviewer should be able to access the scorecard and submit fee",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Currently, the interviewer can access the scorecard and submit interview feedback only after the recruiter updates the interview status to “Happened.” The interviewer should be able to access the scorecard and submit feedback once the interview has been scheduled and completed, without depending on the recruiter to update the status manually.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-097 · the panelist (here also the hiring manager) finds the candidate in Recruitment to open the scorecard",
      "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:95",
      "outcome": "failed",
      "key": "SHR-097",
      "label": "fb",
      "note": "SHR-097 · Enhancement · Recruitment › Interview — Currently, the interviewer can access the scorecard and submit interview feedback only after the recruiter updates the interview status to “Happened.” The interviewer should be able to access the scorecard and submit fee",
      "links": [],
      "error": "Error: QA Manager chairs the FB T1 round and is the requisition's hiring manager, but Recruitment → Pipeline shows \"0 candidates\"\n\nexpect(locator).toBeVisible() failed\n\nLocator: locator('#main-content').getByRole('button', { name: /^Fbtest Candidate ahddfe — open details/ }).first()\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n  - QA Manager chairs the FB T1 round and is the requisition's hiring manager, but Recruitment → Pipeline shows \"0 candidates\" locator('#main-content').getByRole('button', { name: /^Fbtest Candidate ahddfe — open details/ }).first() with timeout 30000ms\n  - waiting for locator('#main-content').getByRole('button', { name: /^Fbtest Candidate ahddfe — open details/ }).first()",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-pipeline/pipeline-journey-pipeline--04c1f-tment-to-open-the-scorecard-fb-recruitment-pipeline/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Currently, the interviewer can access the scorecard and submit interview feedback only after the recruiter updates the interview status to “Happened.” The interviewer should be able to access the scorecard and submit feedback once the interview has been scheduled and completed, without depending on the recruiter to update the status manually.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-023 · with both scorecards in, the candidate moves to the next stage",
      "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:105",
      "outcome": "passed",
      "key": "SHR-023",
      "label": "fb",
      "note": "SHR-023 · Fix · Recruitment › Interview — We have scheduled two interviews for the candidate Degala Bindhu, and the respective interview panels have submitted their feedback. However, we are unable to move the candidate to the next stage, as the system is showin",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "We have scheduled two interviews for the candidate Degala Bindhu, and the respective interview panels have submitted their feedback. However, we are unable to move the candidate to the next stage, as the system is showing an error stating that the scorecards are not ready.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-126 · the recruiter reads each panelist's comments and written answers on the profile",
      "file": "tests/feedback/recruitment-pipeline/pipeline-journey.spec.ts:114",
      "outcome": "failed",
      "key": "SHR-126",
      "label": "fb",
      "note": "SHR-126 · Enhancement · Recruitment › Interview feedback — The Recruiter or any user with the appropriate access permissions should be able to view the complete interview feedback, including ratings, questionnaire responses, recommendations, and overall feedback comments.",
      "links": [],
      "error": "Error: QA Manager's comments are visible\n\nexpect(locator).toBeVisible() failed\n\nLocator: getByRole('dialog').filter({ hasText: 'INTERVIEWS' }).last().getByText('FB test overall comment by mgr').first()\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n  - QA Manager's comments are visible getByRole('dialog').filter({ hasText: 'INTERVIEWS' }).last().getByText('FB test overall comment by mgr').first() with timeout 30000ms\n  - waiting for getByRole('dialog').filter({ hasText: 'INTERVIEWS' }).last().getByText('FB test overall comment by mgr').first()",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-pipeline/pipeline-journey-pipeline--847b7-tten-answers-on-the-profile-fb-recruitment-pipeline/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Interview feedback",
      "description": "The Recruiter or any user with the appropriate access permissions should be able to view the complete interview feedback, including ratings, questionnaire responses, recommendations, and overall feedback comments.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-022 · the application acknowledgement greets the candidate by name (\"Hi <name>,\")",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:62",
      "outcome": "passed",
      "key": "SHR-022",
      "label": "fb",
      "note": "SHR-022 · Fix · Recruitment › Notifications — Acknowledgement email sent to the candidate confirming that we have received their application states \" Hi Name: [ followed by candidate's name]",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Notifications",
      "description": "Acknowledgement email sent to the candidate confirming that we have received their application states \" Hi Name: [ followed by candidate's name]",
      "expected": "Expected Result: It should say Hi [Candidate' actual name] followed by the message",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-078 · the latest interview reminder email gives the interview time in IST, not UTC",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:71",
      "outcome": "failed",
      "key": "SHR-078",
      "label": "fb",
      "note": "SHR-078 · Fix · Recruitment › Interview — When sending interview panel slots, the interview time should be displayed in the appropriate local time zone based on the geography. Currently, the interview slot time is being displayed in UTC. For India, the time shou",
      "links": [],
      "error": "Error: \"Your interview for FB Test Pipeline 1015073354 is tomorrow\" (2026-10-15T02:05:23.384Z) for an interview at 2026-10-15 02:08:00+00 (= 7:38 am IST) should state 7:38 am; it says: Dear Fbtest Candidate ahddfe,\n\nA reminder that your FB T1 round interview for FB Test Pipeline 1015073354 with OpsMaven Services Pvt. Ltd. is tomorrow at 15 Oct 2026, 2:08 am, at the place confirmed with you.\n\nPlease keep an identity document and a copy of you\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /7:38\\s*am/i\nReceived string:  \"Dear Fbtest Candidate ahddfe,·\nA reminder that your FB T1 round interview for FB Test Pipeline 1015073354 with OpsMaven Services Pvt. Ltd. is tomorrow at 15 Oct 2026, 2:08 am, at the place confirmed with you.·\nPlease keep an identity document and a copy of your resume to hand.·\nIf anything has changed, reply to this email or write to qa.hrmanager@opsmaven.test today.\"",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "When sending interview panel slots, the interview time should be displayed in the appropriate local time zone based on the geography. Currently, the interview slot time is being displayed in UTC. For India, the time should be displayed in IST, and for other geographies, it should reflect the respective local time zone. The system should automatically display the interview slot in the relevant time zone based on the applicable geography.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-055 · a post cannot be published without a role description",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:89",
      "outcome": "passed",
      "key": "SHR-055",
      "label": "fb",
      "note": "SHR-055 · Fix · Recruitment › Posting — When posting an open requisition on the Careers page, the Roles Description field is currently marked as not mandatory. Ideally, this should be a mandatory field before the requisition can be posted.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Posting",
      "description": "When posting an open requisition on the Careers page, the Roles Description field is currently marked as not mandatory. Ideally, this should be a mandatory field before the requisition can be posted.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-075 · recruiters can attach application questions to a post, and answers are kept on the application",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:108",
      "outcome": "passed",
      "key": "SHR-075",
      "label": "fb",
      "note": "SHR-075 · Clarification · Recruitment › Job Posting — We can see a field called “Application Questions” while posting a job through the application. Could you please confirm whether Recruiters can add custom screening questions in this section? If yes, will these questions ",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Job Posting",
      "description": "We can see a field called “Application Questions” while posting a job through the application. Could you please confirm whether Recruiters can add custom screening questions in this section? If yes, will these questions be displayed to candidates while they are applying for the position, with their responses captured for the Recruiter to review?",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-076 · recruitment has no pre-onboarding checklist (HR Operations owns it per geography)",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:120",
      "outcome": "failed",
      "key": "SHR-076",
      "label": "fb",
      "note": "SHR-076 · Enhancement · Recruitment › Job Posting — Please remove the Pre-Onboarding Checklist from the current recruitment workflow, as the checklist will be standard for all employees based on their geographic location. The checklist will vary by geography (India, US, A",
      "links": [],
      "error": "Error: the post form asks for no pre-onboarding checklist\n\nexpect(locator).toHaveCount(expected) failed\n\nLocator:  getByRole('dialog').filter({ hasText: 'Posts hang off an approved requisition' }).getByText('Pre-onboarding checklist', { exact: true })\nExpected: 0\nReceived: 1\nTimeout:  30000ms\n\nCall log:\n  - the post form asks for no pre-onboarding checklist getByRole('dialog').filter({ hasText: 'Posts hang off an approved requisition' }).getByText('Pre-onboarding checklist', { exact: true }) with timeout 30000ms\n  - waiting for getByRole('dialog').filter({ hasText: 'Posts hang off an approved requisition' }).getByText('Pre-onboarding checklist', { exact: true })\n    63 × locator resolved to 1 element\n       - unexpected value \"1\"\n\nError: Recruitment has no Pre-onboarding tab\n\nexpect(locator).toHaveCount(expected) failed\n\nLocator:  locator('#main-content').getByRole('link', { name: 'Pre-onboarding', exact: true }).or(locator('#main-content').getByRole('tab', { name: 'Pre-onboarding' }))\nExpected: 0\nReceived: 1\nTimeout:  30000ms\n\nCall log:\n  - Recruitment has no Pre-onboarding tab locator('#main-content').getByRole('link', { name: 'Pre-onboarding', exact: true }).or(locator('#main-content').getByRole('tab', { name: 'Pre-onboarding' })) with timeout 30000ms\n  - waiting for locator('#main-content').getByRole('link', { name: 'Pre-onboarding', exact: true }).or(locator('#main-content').getByRole('tab', { name: 'Pre-onboarding' }))\n    63 × locator resolved to 1 element\n       - unexpected value \"1\"",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-pipeline/pipeline-pr-job-posting-fb-9ae95-ions-owns-it-per-geography--fb-recruitment-pipeline/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Job Posting",
      "description": "Please remove the Pre-Onboarding Checklist from the current recruitment workflow, as the checklist will be standard for all employees based on their geographic location. The checklist will vary by geography (India, US, Australia), but will remain the same for all employees within each respective geography. The HR Operations team will manage the applicable checklist based on the employee’s geography, so this does not need to be part of the recruitment process.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-057 · a slot in the past is refused by the server",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:135",
      "outcome": "passed",
      "key": "SHR-057",
      "label": "fb",
      "note": "SHR-057 · Fix · Recruitment › Interview — Currently, the system allows us to propose a backdated date and time to the candidate. Ideally, the system should not allow backdated dates or times to be proposed.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Currently, the system allows us to propose a backdated date and time to the candidate. Ideally, the system should not allow backdated dates or times to be proposed.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-057 · the Schedule dialog tells the recruiter that a past slot is not allowed",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:147",
      "outcome": "passed",
      "key": "SHR-057",
      "label": "fb",
      "note": "SHR-057 · Fix · Recruitment › Interview — Currently, the system allows us to propose a backdated date and time to the candidate. Ideally, the system should not allow backdated dates or times to be proposed.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Currently, the system allows us to propose a backdated date and time to the candidate. Ideally, the system should not allow backdated dates or times to be proposed.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-080 · the recruiter picks the slot length (not fixed at 1 hour)",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:169",
      "outcome": "passed",
      "key": "SHR-080",
      "label": "fb",
      "note": "SHR-080 · Enhancement · Recruitment › Interview — Currently, the interview slots are set to a fixed duration of 1 hour. The interview duration should be customizable, allowing the Recruiter to select and propose the appropriate slot duration based on the role and interv",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Currently, the interview slots are set to a fixed duration of 1 hour. The interview duration should be customizable, allowing the Recruiter to select and propose the appropriate slot duration based on the role and interview requirements.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-079 · the interview can carry a meeting link of our choice (Teams, Google Meet)",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:182",
      "outcome": "failed",
      "key": "SHR-079",
      "label": "fb",
      "note": "SHR-079 · Clarification · Recruitment › Interview — Currently, the HRMS platform is sending meeting invitations to both the candidate and the interviewer. Could you please confirm whether the interview meeting can be conducted through any meeting platform of our choice, s",
      "links": [],
      "error": "Error: the Schedule dialog has a field for the meeting link (it offers only Mode: Video / Onsite / Phone; the API accepts \"locationOrLink\" but the form never sends it)\n\nexpect(locator).toBeVisible() failed\n\nLocator: getByRole('dialog', { name: /Schedule an interview/ }).getByLabel(/meeting link|location or link|join link|video link/i)\nExpected: visible\nTimeout: 5000ms\nError: element(s) not found\n\nCall log:\n  - the Schedule dialog has a field for the meeting link (it offers only Mode: Video / Onsite / Phone; the API accepts \"locationOrLink\" but the form never sends it) getByRole('dialog', { name: /Schedule an interview/ }).getByLabel(/meeting link|location or link|join link|video link/i) with timeout 5000ms\n  - waiting for getByRole('dialog', { name: /Schedule an interview/ }).getByLabel(/meeting link|location or link|join link|video link/i)",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-pipeline/pipeline-pr-interview-sche-50f48-r-choice-Teams-Google-Meet--fb-recruitment-pipeline/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Currently, the HRMS platform is sending meeting invitations to both the candidate and the interviewer. Could you please confirm whether the interview meeting can be conducted through any meeting platform of our choice, such as Microsoft Teams or Google Meet, or whether the HRMS is integrated with a specific meeting platform? Also, please confirm whether both the candidate and interviewer will receive a reminder notification 15 minutes before the scheduled interview.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-079 · candidate and interviewer get a reminder 15 minutes before the interview",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:193",
      "outcome": "failed",
      "key": "SHR-079",
      "label": "fb",
      "note": "SHR-079 · Clarification · Recruitment › Interview — Currently, the HRMS platform is sending meeting invitations to both the candidate and the interviewer. Could you please confirm whether the interview meeting can be conducted through any meeting platform of our choice, s",
      "links": [],
      "error": "Error: a reminder fires 15 minutes before the interview. Configured: \"Sent by the scheduler within 24 hours of the interview.\" (candidate); interview-round timers [{\"unit\":\"calendarDays\",\"anchor\":\"interviewDate\",\"offset\":-1}] (the day before, to the candidate only)\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Currently, the HRMS platform is sending meeting invitations to both the candidate and the interviewer. Could you please confirm whether the interview meeting can be conducted through any meeting platform of our choice, such as Microsoft Teams or Google Meet, or whether the HRMS is integrated with a specific meeting platform? Also, please confirm whether both the candidate and interviewer will receive a reminder notification 15 minutes before the scheduled interview.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-082 · a scheduled interview can be rescheduled to a new date and time",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:204",
      "outcome": "passed",
      "key": "SHR-082",
      "label": "fb",
      "note": "SHR-082 · Enhancement · Recruitment › Interview — Interviews may need to be rescheduled due to various reasons from either the candidate’s or interviewer’s side. Currently, the system provides only a “No Show” option and does not have an option to reschedule the intervi",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Interviews may need to be rescheduled due to various reasons from either the candidate’s or interviewer’s side. Currently, the system provides only a “No Show” option and does not have an option to reschedule the interview. A “Reschedule” option should be available so that the Recruiter can select a new date and time and send the updated interview invitation to the candidate and interviewer.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-103 · Cancel interview and No-show each record a required reason",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:222",
      "outcome": "passed",
      "key": "SHR-103",
      "label": "fb",
      "note": "SHR-103 · Enhancement · Recruitment › Interview — Once an interview is scheduled, only the Reschedule option is available. Please add Cancel Interview and No-Show options, allowing users to record the appropriate reason when cancelling an interview or marking a candidat",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "Once an interview is scheduled, only the Reschedule option is available. Please add Cancel Interview and No-Show options, allowing users to record the appropriate reason when cancelling an interview or marking a candidate as a no-show",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-058 · the scorecard has written questions on technical skills and on behaviour",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:241",
      "outcome": "passed",
      "key": "SHR-058",
      "label": "fb",
      "note": "SHR-058 · Fix · Recruitment › Feedback form/Scorecard — In the current system, the feedback and scorecard are mainly rating-based and are not very specific. We would like to have a set of questions that allow interviewers to provide descriptive feedback on the candidate, cove",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Feedback form/Scorecard",
      "description": "In the current system, the feedback and scorecard are mainly rating-based and are not very specific. We would like to have a set of questions that allow interviewers to provide descriptive feedback on the candidate, covering both technical skills and general personality/behavioral aspects.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-081 · the interviewer's notification opens the interview and its feedback form",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:249",
      "outcome": "failed",
      "key": "SHR-081",
      "label": "fb",
      "note": "SHR-081 · Fix · Recruitment › Interview — The interviewer is currently receiving the interview notification in the Inbox, but the notification is not clickable. The notification should be clickable and should take the interviewer directly to the relevant intervi",
      "links": [],
      "error": "Error: the link opens \"FB T2 round (too early)\" for Fbtest Candidate ahddfe (it lands on the plain Approvals inbox and drops ?interview=; now at https://qa.satellitehr.com/company/82628593-49b6-4dad-ad2a-6b9472ab44fc/inbox)\n\nexpect(locator).toBeVisible() failed\n\nLocator: getByText('FB T2 round (too early)', { exact: true }).first()\nExpected: visible\nTimeout: 10000ms\nError: element(s) not found\n\nCall log:\n  - the link opens \"FB T2 round (too early)\" for Fbtest Candidate ahddfe (it lands on the plain Approvals inbox and drops ?interview=; now at https://qa.satellitehr.com/company/82628593-49b6-4dad-ad2a-6b9472ab44fc/inbox) getByText('FB T2 round (too early)', { exact: true }).first() with timeout 10000ms\n  - waiting for getByText('FB T2 round (too early)', { exact: true }).first()",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-pipeline/pipeline-pr-interview-outc-c26a1-rview-and-its-feedback-form-fb-recruitment-pipeline/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Interview",
      "description": "The interviewer is currently receiving the interview notification in the Inbox, but the notification is not clickable. The notification should be clickable and should take the interviewer directly to the relevant interview details/feedback section, so that once the interview is completed, the interviewer can submit their feedback accordingly.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-126 · the recruiter sees the full feedback: ratings, written answers, recommendation and comments",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:259",
      "outcome": "failed",
      "key": "SHR-126",
      "label": "fb",
      "note": "SHR-126 · Enhancement · Recruitment › Interview feedback — The Recruiter or any user with the appropriate access permissions should be able to view the complete interview feedback, including ratings, questionnaire responses, recommendations, and overall feedback comments.",
      "links": [],
      "error": "Error: QA Manager's written answer to \"How did you find their body language?\" (\"FB test answer to: How did you find their body language?\") on Fbtest Candidate ahddfe (FB T1 round) is shown. The interviews section shows only: INTERVIEWS / Schedule / T1 / FB T2 round (too early) / scheduled / Reschedule / Cancel interview / Oct 16, 2026, 7:36 AM / Panel: / QA Manager (chair) / Awaiting / T1 / FB T1 round / completed / Oct 15, 2026, 7:38 AM / Panel: / QA Manager (chair) / Submitted / Advance · 4/5 / QA Department Head / Submitted / Advance · 4/5\n\nexpect(received).toContain(expected) // indexOf\n\nExpected value: \"FB test answer to: How did you find their body language?\"\nReceived array: [\"INTERVIEWS\", \"\", \"Schedule\", \"T1\", \"FB T2 round (too early)\", \"scheduled\", \"Reschedule\", \"Cancel interview\", \"Oct 16, 2026, 7:36 AM\", \"\", …]\nError: the overall comments \"FB test overall comment by mgr\" are shown\n\nexpect(received).toContain(expected) // indexOf\n\nExpected value: \"FB test overall comment by mgr\"\nReceived array: [\"INTERVIEWS\", \"\", \"Schedule\", \"T1\", \"FB T2 round (too early)\", \"scheduled\", \"Reschedule\", \"Cancel interview\", \"Oct 16, 2026, 7:36 AM\", \"\", …]",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-pipeline/pipeline-pr-interview-outc-e8177-recommendation-and-comments-fb-recruitment-pipeline/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Interview feedback",
      "description": "The Recruiter or any user with the appropriate access permissions should be able to view the complete interview feedback, including ratings, questionnaire responses, recommendations, and overall feedback comments.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-113 · the interviewer is reminded when interview feedback is not in",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:288",
      "outcome": "passed",
      "key": "SHR-113",
      "label": "fb",
      "note": "SHR-113 · Enhancement · Recruitment › Requisition — The system should automatically send an email reminder to the respective interviewer if interview feedback is not submitted within 24 hours of the interview.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "The system should automatically send an email reminder to the respective interviewer if interview feedback is not submitted within 24 hours of the interview.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-113 · the feedback reminder reaches the interviewer by email within 24 hours of the interview",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:296",
      "outcome": "failed",
      "key": "SHR-113",
      "label": "fb",
      "note": "SHR-113 · Enhancement · Recruitment › Requisition — The system should automatically send an email reminder to the respective interviewer if interview feedback is not submitted within 24 hours of the interview.",
      "links": [],
      "error": "Error: the reminder \"ta_feedback_due\" is a notification template (\"Your feedback on {{ candidate.full_name }} is due today\"), and the email channel of \"Scorecard pending\" is off for an interviewer (QA Manager), so no email goes out\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "The system should automatically send an email reminder to the respective interviewer if interview feedback is not submitted within 24 hours of the interview.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-110 · a talent-pool candidate can be moved to an open requisition",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:310",
      "outcome": "failed",
      "key": "SHR-110",
      "label": "fb",
      "note": "SHR-110 · Enhancement · Recruitment › Talent Pool — Currently, once a candidate profile is uploaded to the Talent Pool, there is no option to move or link the candidate to an existing requisition. An option is required to move candidates from the Talent Pool to the releva",
      "links": [],
      "error": "Error: expect(locator).toBeVisible() failed\n\nLocator: locator('#main-content').getByText(/candidates? mentions?/)\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n  - Expect \"toBeVisible\" locator('#main-content').getByText(/candidates? mentions?/) with timeout 30000ms\n  - waiting for locator('#main-content').getByText(/candidates? mentions?/)",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-pipeline/pipeline-pr-candidates-and-0afe5-oved-to-an-open-requisition-fb-recruitment-pipeline/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Talent Pool",
      "description": "Currently, once a candidate profile is uploaded to the Talent Pool, there is no option to move or link the candidate to an existing requisition. An option is required to move candidates from the Talent Pool to the relevant requisition for further processing.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-114 · a candidate can be transferred to another role without starting over",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:322",
      "outcome": "failed",
      "key": "SHR-114",
      "label": "fb",
      "note": "SHR-114 · Enhancement · Recruitment › Requisition — A candidate is interviewed for Role A, and after all interview rounds, the panel decides that the candidate is better suited for Role B. The Recruiter should be able to transfer the candidate to Role B, whether it is an ",
      "links": [],
      "error": "TimeoutError: locator.waitFor: Timeout 90000ms exceeded.\nCall log:\n  - waiting for locator('#main-content') to be visible",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-pipeline/pipeline-pr-candidates-and-47bea--role-without-starting-over-fb-recruitment-pipeline/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "A candidate is interviewed for Role A, and after all interview rounds, the panel decides that the candidate is better suited for Role B. The Recruiter should be able to transfer the candidate to Role B, whether it is an existing vacancy or a newly created position, without starting the candidate's profile from scratch.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-115 · parsed résumé details can be reviewed and corrected before the candidate is saved",
      "file": "tests/feedback/recruitment-pipeline/pipeline-pr.spec.ts:334",
      "outcome": "failed",
      "key": "SHR-115",
      "label": "fb",
      "note": "SHR-115 · Enhancement · Recruitment › Requisition — After uploading a resume, the system automatically extracts candidate details. However, due to variations in resume formats, some information may be extracted incorrectly. Currently, an option is required to review and e",
      "links": [],
      "error": "Error: the first Import click shows the extracted name, email and phone for review instead of saving the candidate straight away\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 3\n\n- Array []\n+ Array [\n+   \"POST /api/company/talent/recruitment/candidates/bulk-import\",\n+ ]",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-pipeline/pipeline-pr-candidates-and-7614e-fore-the-candidate-is-saved-fb-recruitment-pipeline/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Requisition",
      "description": "After uploading a resume, the system automatically extracts candidate details. However, due to variations in resume formats, some information may be extracted incorrectly. Currently, an option is required to review and edit the extracted details before saving the candidate profile.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "skipped",
      "title": "SHR-102 · the parser takes the candidate's name, not a section heading",
      "file": "tests/feedback/recruitment-pipeline/pool-import.spec.ts:24",
      "outcome": "skipped",
      "key": "SHR-102",
      "label": "fb",
      "note": "SHR-102 · Fix · Recruitment › Parse — The Parse option is not working correctly, as it is extracting the heading instead of the candidate's name.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Parse",
      "description": "The Parse option is not working correctly, as it is extracting the heading instead of the candidate's name.",
      "expected": "",
      "skipReason": "adds talent-pool candidates that cannot be deleted (no candidate delete); runs weekly with E2E_ALLOW_UNDELETABLE=1"
    },
    {
      "kind": "skipped",
      "title": "SHR-022 · a résumé line \"Name: Kabir\" gives the name \"Kabir\", so emails don't say \"Hi Name: Kabir\"",
      "file": "tests/feedback/recruitment-pipeline/pool-import.spec.ts:41",
      "outcome": "skipped",
      "key": "SHR-022",
      "label": "fb",
      "note": "SHR-022 · Fix · Recruitment › Notifications — Acknowledgement email sent to the candidate confirming that we have received their application states \" Hi Name: [ followed by candidate's name]",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Notifications",
      "description": "Acknowledgement email sent to the candidate confirming that we have received their application states \" Hi Name: [ followed by candidate's name]",
      "expected": "Expected Result: It should say Hi [Candidate' actual name] followed by the message",
      "skipReason": "adds talent-pool candidates that cannot be deleted (no candidate delete); runs weekly with E2E_ALLOW_UNDELETABLE=1"
    },
    {
      "kind": "skipped",
      "title": "SHR-077 · a second résumé with the same email does not create a second candidate",
      "file": "tests/feedback/recruitment-pipeline/pool-import.spec.ts:50",
      "outcome": "skipped",
      "key": "SHR-077",
      "label": "fb",
      "note": "SHR-077 · Fix · Recruitment › candidate submission — The system should validate the candidate’s email ID while uploading or adding a resume. If a candidate with the same email ID already exists in the system, it should identify the duplicate and prevent the creation of ano",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "candidate submission",
      "description": "The system should validate the candidate’s email ID while uploading or adding a resume. If a candidate with the same email ID already exists in the system, it should identify the duplicate and prevent the creation of another candidate record. Currently, the system is allowing resumes to be added with the same email ID, which can result in duplicate candidate records.",
      "expected": "",
      "skipReason": "adds talent-pool candidates that cannot be deleted (no candidate delete); runs weekly with E2E_ALLOW_UNDELETABLE=1"
    },
    {
      "kind": "passed",
      "title": "SHR-083 · an offer with CTC and date of joining is drafted and submitted for approval",
      "file": "tests/feedback/recruitment-offer/offer-journey.spec.ts:50",
      "outcome": "passed",
      "key": "SHR-083",
      "label": "fb",
      "note": "SHR-083 · Fix · Recruitment › Offer — While drafting an offer, we entered the candidate’s CTC and Date of Joining (DOJ). However, when attempting to submit the offer, the system throws an error and does not allow us to proceed.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Offer",
      "description": "While drafting an offer, we entered the candidate’s CTC and Date of Joining (DOJ). However, when attempting to submit the offer, the system throws an error and does not allow us to proceed.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-059 · the approval goes to the HR Head (the role is in Delivery)",
      "file": "tests/feedback/recruitment-offer/offer-journey.spec.ts:57",
      "outcome": "passed",
      "key": "SHR-059",
      "label": "fb",
      "note": "SHR-059 · Fix · Recruitment › Offer Approval — Once a candidate is selected and moved to the Offer stage, the offer approval should be triggered to the HR Head, irrespective of the department or entity.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-243"
      ],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Offer Approval",
      "description": "Once a candidate is selected and moved to the Offer stage, the offer approval should be triggered to the HR Head, irrespective of the department or entity.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-120 · QA HR Head finds the offer approval in the Inbox",
      "file": "tests/feedback/recruitment-offer/offer-journey.spec.ts:64",
      "outcome": "passed",
      "key": "SHR-120",
      "label": "fb",
      "note": "SHR-120 · Fix · Recruitment › Offer — Once the Recruiter submits an offer for approval, the HR Head should receive an approval request in their inbox. Currently, the approval request is not appearing in the HR Head’s inbox,",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Offer",
      "description": "Once the Recruiter submits an offer for approval, the HR Head should receive an approval request in their inbox. Currently, the approval request is not appearing in the HR Head’s inbox,",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-060 · the HR Head's approval panel shows role, department, entity, CTC and date of joining",
      "file": "tests/feedback/recruitment-offer/offer-journey.spec.ts:70",
      "outcome": "failed",
      "key": "SHR-060",
      "label": "fb",
      "note": "SHR-060 · Fix · Recruitment › Offer Approval — The Offer Approval notification does not provide clear information about the candidate’s role, department, entity, CTC, and date of joining. Ideally, the notification should include these details to provide the approver ",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-078"
      ],
      "error": "Error: the approval panel shows the department\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /Delivery/\nReceived string:  \"Fbtest Candidate ahegfe·\nOffer approval·\nCANDIDATE\nFbtest Candidate ahegfe\nREQUEST\nFbtest Candidate ahegfe\nDETAILS\nFB Test Pipeline 1015074654 · offer OFR-2026-0084 · at HR Head approves the offer\nWAITING SINCE\ntoday, 7:50 am\nDUE\n23 Oct, 12:00 pm\nROLE\nFB Test Pipeline 1015074654\nOFFER\nOFR-2026-0084\nJOINING DATE\n1 Dec 2026\nANNUAL CTC\n₹9,00,000 a year\nApprove\nDecline\nRequest changes\"\nError: the approval panel shows the entity\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /OpsMaven Services|Ops Maven/\nReceived string:  \"Fbtest Candidate ahegfe·\nOffer approval·\nCANDIDATE\nFbtest Candidate ahegfe\nREQUEST\nFbtest Candidate ahegfe\nDETAILS",
      "attachments": [
        "/Users/harshitsan/Documents/heliverse/satellite-workflow/e2e/test-results/fb-recruitment-offer/offer-journey-offer-journe-2c71f-ity-CTC-and-date-of-joining-fb-recruitment-offer/test-failed-1.png"
      ],
      "module": "Recruitment",
      "submodule": "Offer Approval",
      "description": "The Offer Approval notification does not provide clear information about the candidate’s role, department, entity, CTC, and date of joining. Ideally, the notification should include these details to provide the approver with complete information about the candidate and offer.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-059 · the offer approval goes to the HR Head, whatever the department",
      "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:14",
      "outcome": "failed",
      "key": "SHR-059",
      "label": "fb",
      "note": "SHR-059 · Fix · Recruitment › Offer Approval — Once a candidate is selected and moved to the Offer stage, the offer approval should be triggered to the HR Head, irrespective of the department or entity.",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-243"
      ],
      "error": "Error: OFR-2026-0083 · FB Test Pipeline 1015064007 · joining Tuesday 1 December waits on QA Manager, routed by role HR Head\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /hr-head/\nReceived string:  \"relationship:requisition_hiring_manager\"\nError: OFR-2026-0082 · FB Test Pipeline 1015053155 · joining Tuesday 1 December waits on QA Manager, routed by role HR Head\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /hr-head/\nReceived string:  \"relationship:requisition_hiring_manager\"\nError: OFR-2026-0081 · FB Test Pipeline 1015034909 · joining Tuesday 1 December waits on QA Manager, routed by role HR Head\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /hr-head/\nReceived string:  \"relationship:requisition_hiring_manager\"\nError: OFR-2026-0079 · Delivery Manager · joining Monday 26 October waits on Test Hiring Manager, routed by role HR Head\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /hr-head/\nReceived string:  \"relationship:requisition_hiring_manager\"",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Offer Approval",
      "description": "Once a candidate is selected and moved to the Offer stage, the offer approval should be triggered to the HR Head, irrespective of the department or entity.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-120 · offers waiting for approval are in the HR Head's inbox",
      "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:29",
      "outcome": "failed",
      "key": "SHR-120",
      "label": "fb",
      "note": "SHR-120 · Fix · Recruitment › Offer — Once the Recruiter submits an offer for approval, the HR Head should receive an approval request in their inbox. Currently, the approval request is not appearing in the HR Head’s inbox,",
      "links": [],
      "error": "Error: every offer waiting for approval is in QA HR Head's inbox\n\nexpect(received).toEqual(expected) // deep equality\n\n- Expected  - 1\n+ Received  + 9\n\n- Array []\n+ Array [\n+   \"OFR-2026-0083 · FB Test Pipeline 1015064007 · joining Tuesday 1 December (waiting on QA Manager)\",\n+   \"OFR-2026-0082 · FB Test Pipeline 1015053155 · joining Tuesday 1 December (waiting on QA Manager)\",\n+   \"OFR-2026-0081 · FB Test Pipeline 1015034909 · joining Tuesday 1 December (waiting on QA Manager)\",\n+   \"OFR-2026-0079 · Delivery Manager · joining Monday 26 October (waiting on Test Hiring Manager)\",\n+   \"OFR-2026-0072 · Sr. Associate · joining Monday 19 October (waiting on Aarav Krishnamurthy.)\",\n+   \"OFR-2026-0066 · Recruiter · joining Thursday 8 October (waiting on Aarav Krishnamurthy.)\",\n+   \"OFR-2026-0049 · Demo Probe Role · joining Monday 19 October (waiting on Aarav Krishnamurthy.)\",\n+ ]",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Offer",
      "description": "Once the Recruiter submits an offer for approval, the HR Head should receive an approval request in their inbox. Currently, the approval request is not appearing in the HR Head’s inbox,",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-060 · the offer approval shows role, department, entity, CTC and date of joining",
      "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:39",
      "outcome": "failed",
      "key": "SHR-060",
      "label": "fb",
      "note": "SHR-060 · Fix · Recruitment › Offer Approval — The Offer Approval notification does not provide clear information about the candidate’s role, department, entity, CTC, and date of joining. Ideally, the notification should include these details to provide the approver ",
      "links": [
        "https://satellitehr-qa-issues.pages.dev/ISS-078"
      ],
      "error": "Error: the approval item \"Fbtest Candidate ahegfe · OFR-2026-0084 · FB Test Pipeline 1015074654 · joining Tuesday 1 December\" names the department\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /Delivery/i\nReceived string:  \"Fbtest Candidate ahegfe · OFR-2026-0084 ·  · joining Tuesday 1 December\"\nError: the approval item \"Fbtest Candidate ahegfe · OFR-2026-0084 · FB Test Pipeline 1015074654 · joining Tuesday 1 December\" names the entity (OpsMaven Services Pvt. Ltd.)\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /OpsMaven Services|Ops Maven/i\nReceived string:  \"Fbtest Candidate ahegfe · OFR-2026-0084 · FB Test Pipeline 1015074654 · joining Tuesday 1 December\"\nError: the approval item \"Fbtest Candidate ahegfe · OFR-2026-0084 · FB Test Pipeline 1015074654 · joining Tuesday 1 December\" names the CTC\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /(₹|INR|Rs\\.?)\\s?9|900000|\\bCTC\\b/i\nReceived string:  \"Fbtest Candidate ahegfe · OFR-2026-0084 · FB Test Pipeline 1015074654 · joining Tuesday 1 December\"",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Offer Approval",
      "description": "The Offer Approval notification does not provide clear information about the candidate’s role, department, entity, CTC, and date of joining. Ideally, the notification should include these details to provide the approver with complete information about the candidate and offer.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "passed",
      "title": "SHR-083 · an offer with CTC and date of joining passes validation",
      "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:64",
      "outcome": "passed",
      "key": "SHR-083",
      "label": "fb",
      "note": "SHR-083 · Fix · Recruitment › Offer — While drafting an offer, we entered the candidate’s CTC and Date of Joining (DOJ). However, when attempting to submit the offer, the system throws an error and does not allow us to proceed.",
      "links": [],
      "error": "",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Offer",
      "description": "While drafting an offer, we entered the candidate’s CTC and Date of Joining (DOJ). However, when attempting to submit the offer, the system throws an error and does not allow us to proceed.",
      "expected": "",
      "skipReason": ""
    },
    {
      "kind": "failed",
      "title": "SHR-025 · the \"offer released\" mail reads \"Offer released for <candidate> for <designation> at <company>\"",
      "file": "tests/feedback/recruitment-offer/offer-pr.spec.ts:74",
      "outcome": "failed",
      "key": "SHR-025",
      "label": "fb",
      "note": "SHR-025 · Enhancement · Recruitment › Offer Release notification — When we receive a notification stating offer is released the subject line says \"Offer released: offer released\" it is recommended that we have it as \"Offer released for [candidate name for the Designation at Xyz org]",
      "links": [],
      "error": "Error: the internal offer-released subject starts \"Offer released for\" (it is \"{{ candidate.full_name }} has accepted the offer for {{ job_post.title }}\")\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /^Offer released for /i\nReceived string:  \"{{ candidate.full_name }} has accepted the offer for {{ job_post.title }}\"\nError: it names the company\n\nexpect(received).toMatch(expected)\n\nExpected pattern: /company\\.(legal_)?name/\nReceived string:  \"{{ candidate.full_name }} has accepted the offer for {{ job_post.title }}\"",
      "attachments": [],
      "module": "Recruitment",
      "submodule": "Offer Release notification",
      "description": "When we receive a notification stating offer is released the subject line says \"Offer released: offer released\" it is recommended that we have it as \"Offer released for [candidate name for the Designation at Xyz org]",
      "expected": "",
      "skipReason": ""
    }
  ]
}