@@ -124,6 +124,53 @@ describe('signSubmit service', () => {
124124 ] )
125125 } )
126126
127+ it ( 'uses child file signers when envelope also includes a top-level signer for current user' , ( ) => {
128+ const requests = getEnvelopeSubmitRequests ( {
129+ document : {
130+ nodeType : 'envelope' ,
131+ signers : [
132+ { me : true , signRequestId : 999 , sign_request_uuid : 'envelope-uuid' } ,
133+ ] ,
134+ files : [
135+ {
136+ signers : [
137+ { me : true , signRequestId : 10 , sign_request_uuid : 'uuid-a' } ,
138+ ] ,
139+ } ,
140+ {
141+ signers : [
142+ { me : true , signRequestId : 30 , sign_request_uuid : 'uuid-c' } ,
143+ ] ,
144+ } ,
145+ ] ,
146+ } ,
147+ basePayload : createBaseSubmitSignaturePayload ( { method : 'clickToSign' } ) ,
148+ elements : [
149+ { elementId : 101 , signRequestId : 10 } ,
150+ { elementId : 303 , signRequestId : 30 } ,
151+ ] ,
152+ canCreateSignature : false ,
153+ signatures : { } ,
154+ } )
155+
156+ expect ( requests ) . toEqual ( [
157+ {
158+ signRequestUuid : 'uuid-a' ,
159+ payload : {
160+ method : 'clickToSign' ,
161+ elements : [ { documentElementId : 101 } ] ,
162+ } ,
163+ } ,
164+ {
165+ signRequestUuid : 'uuid-c' ,
166+ payload : {
167+ method : 'clickToSign' ,
168+ elements : [ { documentElementId : 303 } ] ,
169+ } ,
170+ } ,
171+ ] )
172+ } )
173+
127174 it ( 'prefers a signed outcome over signing in progress and uses the validation uuid from the API' , ( ) => {
128175 const outcome = resolveSignSubmissionOutcome ( [
129176 {
0 commit comments