Skip to content

Commit 87f63cb

Browse files
committed
feat: wire PolicyConfigurationForm into TimeOff state machine
Replace the stub PolicyDetailsForm with PolicyConfigurationForm in the flow. Update PolicyDetailsFormContextual to render the new component, swap barrel exports, and remove the placeholder. Add functional component tests covering all 8 accrual method mappings, CANCEL event, and API integration.
1 parent 0aed58f commit 87f63cb

File tree

6 files changed

+306
-50
lines changed

6 files changed

+306
-50
lines changed

docs/reference/endpoint-inventory.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1326,6 +1326,17 @@
13261326
"variables": [
13271327
"companyUuid"
13281328
]
1329+
},
1330+
"UNSTABLE_TimeOff.PolicyConfigurationForm": {
1331+
"endpoints": [
1332+
{
1333+
"method": "POST",
1334+
"path": "/v1/companies/:companyUuid/time_off_policies"
1335+
}
1336+
],
1337+
"variables": [
1338+
"companyUuid"
1339+
]
13291340
}
13301341
},
13311342
"flows": {
@@ -2084,7 +2095,7 @@
20842095
"UNSTABLE_TimeOff.AddEmployeesHoliday",
20852096
"UNSTABLE_TimeOff.AddEmployeesToPolicy",
20862097
"UNSTABLE_TimeOff.HolidaySelectionForm",
2087-
"UNSTABLE_TimeOff.PolicyDetailsForm",
2098+
"UNSTABLE_TimeOff.PolicyConfigurationForm",
20882099
"UNSTABLE_TimeOff.PolicyList",
20892100
"UNSTABLE_TimeOff.PolicySettings",
20902101
"UNSTABLE_TimeOff.PolicyTypeSelector",
@@ -2099,6 +2110,10 @@
20992110
"method": "POST",
21002111
"path": "/v1/companies/:companyUuid/holiday_pay_policy"
21012112
},
2113+
{
2114+
"method": "POST",
2115+
"path": "/v1/companies/:companyUuid/time_off_policies"
2116+
},
21022117
{
21032118
"method": "GET",
21042119
"path": "/v1/companies/:companyUuid/time_off_policies"

docs/reference/endpoint-reference.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@ import inventory from '@gusto/embedded-react-sdk/endpoint-inventory.json'
249249
| | PUT | `/v1/time_off_policies/:timeOffPolicyUuid/deactivate` |
250250
| | GET | `/v1/companies/:companyId/employees` |
251251
| **UNSTABLE_TimeOff.HolidaySelectionForm** | POST | `/v1/companies/:companyUuid/holiday_pay_policy` |
252+
| **UNSTABLE_TimeOff.PolicyConfigurationForm** | POST | `/v1/companies/:companyUuid/time_off_policies` |
252253

253254
## Flows
254255

@@ -264,4 +265,4 @@ Flows compose multiple blocks into a single workflow. The endpoint list for a fl
264265
| **Employee.Terminations.TerminationFlow** | Employee.TerminateEmployee, Employee.TerminationFlow, Employee.TerminationSummary, Payroll.DismissalFlow, Payroll.PayrollLanding |
265266
| **Payroll.PayrollExecutionFlow** | Payroll.PayrollFlow |
266267
| **Payroll.PayrollFlow** | Payroll.OffCycleFlow, Payroll.PayrollBlockerList, Payroll.PayrollConfiguration, Payroll.PayrollEditEmployee, Payroll.PayrollFlow, Payroll.PayrollLanding, Payroll.PayrollOverview, Payroll.PayrollReceipts, Payroll.TransitionFlow |
267-
| **UNSTABLE_TimeOff.TimeOffFlow** | UNSTABLE_TimeOff.AddEmployeesHoliday, UNSTABLE_TimeOff.AddEmployeesToPolicy, UNSTABLE_TimeOff.HolidaySelectionForm, UNSTABLE_TimeOff.PolicyDetailsForm, UNSTABLE_TimeOff.PolicyList, UNSTABLE_TimeOff.PolicySettings, UNSTABLE_TimeOff.PolicyTypeSelector, UNSTABLE_TimeOff.TimeOffFlow, UNSTABLE_TimeOff.ViewHolidayEmployees, UNSTABLE_TimeOff.ViewHolidaySchedule, UNSTABLE_TimeOff.ViewPolicyDetails, UNSTABLE_TimeOff.ViewPolicyEmployees |
268+
| **UNSTABLE_TimeOff.TimeOffFlow** | UNSTABLE_TimeOff.AddEmployeesHoliday, UNSTABLE_TimeOff.AddEmployeesToPolicy, UNSTABLE_TimeOff.HolidaySelectionForm, UNSTABLE_TimeOff.PolicyConfigurationForm, UNSTABLE_TimeOff.PolicyList, UNSTABLE_TimeOff.PolicySettings, UNSTABLE_TimeOff.PolicyTypeSelector, UNSTABLE_TimeOff.TimeOffFlow, UNSTABLE_TimeOff.ViewHolidayEmployees, UNSTABLE_TimeOff.ViewHolidaySchedule, UNSTABLE_TimeOff.ViewPolicyDetails, UNSTABLE_TimeOff.ViewPolicyEmployees |

src/components/UNSTABLE_TimeOff/PolicyDetailsForm/PolicyDetailsForm.tsx

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/components/UNSTABLE_TimeOff/TimeOffFlow/TimeOffFlowComponents.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { ReactNode } from 'react'
22
import { PolicyList } from '../PolicyList/PolicyList'
33
import { PolicyTypeSelector } from '../PolicyTypeSelector/PolicyTypeSelector'
4-
import { PolicyDetailsForm } from '../PolicyDetailsForm/PolicyDetailsForm'
4+
import { PolicyConfigurationForm } from '../TimeOffManagement/PolicyConfigurationForm'
55
import { PolicySettings } from '../PolicySettings/PolicySettings'
66
import { AddEmployeesToPolicy } from '../AddEmployeesToPolicy/AddEmployeesToPolicy'
77
import { ViewPolicyDetails } from '../ViewPolicyDetails/ViewPolicyDetails'
@@ -82,7 +82,7 @@ export function PolicyDetailsFormContextual() {
8282
{alert.content}
8383
</Alert>
8484
))}
85-
<PolicyDetailsForm
85+
<PolicyConfigurationForm
8686
onEvent={onEvent}
8787
companyId={ensureRequired(companyId)}
8888
policyType={ensureRequired(policyType) as 'sick' | 'vacation'}

0 commit comments

Comments
 (0)