@@ -1924,7 +1924,16 @@ describe('actions/Policy', () => {
19241924 await waitForBatchedUpdates ( ) ;
19251925
19261926 const policyID = Policy . generatePolicyID ( ) ;
1927- const params = Policy . createDraftWorkspace ( { choice : CONST . ONBOARDING_CHOICES . MANAGE_TEAM } , WORKSPACE_NAME , ESH_EMAIL , true , policyID , CONST . CURRENCY . USD ) ;
1927+ const params = Policy . createDraftWorkspace (
1928+ { choice : CONST . ONBOARDING_CHOICES . MANAGE_TEAM } ,
1929+ WORKSPACE_NAME ,
1930+ ESH_ACCOUNT_ID ,
1931+ ESH_EMAIL ,
1932+ ESH_EMAIL ,
1933+ true ,
1934+ policyID ,
1935+ CONST . CURRENCY . USD ,
1936+ ) ;
19281937 await waitForBatchedUpdates ( ) ;
19291938
19301939 const draft = await getOnyxValue ( `${ ONYXKEYS . COLLECTION . POLICY_DRAFTS } ${ policyID } ` ) ;
@@ -1952,7 +1961,7 @@ describe('actions/Policy', () => {
19521961 await waitForBatchedUpdates ( ) ;
19531962
19541963 const policyID = Policy . generatePolicyID ( ) ;
1955- Policy . createDraftWorkspace ( { choice : CONST . ONBOARDING_CHOICES . TRACK_WORKSPACE } , WORKSPACE_NAME , ESH_EMAIL , false , policyID , CONST . CURRENCY . EUR ) ;
1964+ Policy . createDraftWorkspace ( { choice : CONST . ONBOARDING_CHOICES . TRACK_WORKSPACE } , WORKSPACE_NAME , ESH_ACCOUNT_ID , ESH_EMAIL , ESH_EMAIL , false , policyID , CONST . CURRENCY . EUR ) ;
19561965 await waitForBatchedUpdates ( ) ;
19571966
19581967 const draft = await getOnyxValue ( `${ ONYXKEYS . COLLECTION . POLICY_DRAFTS } ${ policyID } ` ) ;
@@ -1963,6 +1972,37 @@ describe('actions/Policy', () => {
19631972 expect ( draft ?. harvesting ?. enabled ) . toBe ( true ) ;
19641973 expect ( draft ?. outputCurrency ) . toBe ( CONST . CURRENCY . EUR ) ;
19651974 } ) ;
1975+
1976+ it ( 'should set owner, ownerAccountID, approver, and employeeList from explicit parameters instead of Onyx session' , async ( ) => {
1977+ // Set Onyx session to a DIFFERENT accountID/email to verify the explicit parameters are used
1978+ await Onyx . set ( ONYXKEYS . SESSION , { email : ESH_EMAIL , accountID : ESH_ACCOUNT_ID } ) ;
1979+ await waitForBatchedUpdates ( ) ;
1980+
1981+ const customAccountID = 999 ;
1982+ const customEmail = 'custom@example.com' ;
1983+ const policyID = Policy . generatePolicyID ( ) ;
1984+
1985+ Policy . createDraftWorkspace ( { choice : CONST . ONBOARDING_CHOICES . MANAGE_TEAM } , WORKSPACE_NAME , customAccountID , customEmail , customEmail , false , policyID ) ;
1986+ await waitForBatchedUpdates ( ) ;
1987+
1988+ const draft = await getOnyxValue ( `${ ONYXKEYS . COLLECTION . POLICY_DRAFTS } ${ policyID } ` ) ;
1989+
1990+ // Verify explicit params are used, not the Onyx session values
1991+ expect ( draft ?. owner ) . toBe ( customEmail ) ;
1992+ expect ( draft ?. ownerAccountID ) . toBe ( customAccountID ) ;
1993+ expect ( draft ?. approver ) . toBe ( customEmail ) ;
1994+ expect ( draft ?. employeeList ?. [ customEmail ] ) . toEqual ( {
1995+ submitsTo : customEmail ,
1996+ email : customEmail ,
1997+ role : CONST . POLICY . ROLE . ADMIN ,
1998+ errors : { } ,
1999+ } ) ;
2000+
2001+ // Verify the Onyx session values are NOT used
2002+ expect ( draft ?. owner ) . not . toBe ( ESH_EMAIL ) ;
2003+ expect ( draft ?. ownerAccountID ) . not . toBe ( ESH_ACCOUNT_ID ) ;
2004+ expect ( draft ?. employeeList ?. [ ESH_EMAIL ] ) . toBeUndefined ( ) ;
2005+ } ) ;
19662006 } ) ;
19672007
19682008 describe ( 'upgradeToCorporate' , ( ) => {
0 commit comments