@@ -30,24 +30,30 @@ protected function setUp(): void {
3030 public function testMigratesLegacyFooterSettingsIntoStructuredPayload (): void {
3131 $ this ->appConfig
3232 ->method ('getValueString ' )
33- ->willReturnMap ([
34- [Application::APP_ID , 'add_footer ' , '' , '1 ' ],
35- [Application::APP_ID , 'write_qrcode_on_footer ' , '' , '0 ' ],
36- [Application::APP_ID , 'validation_site ' , '' , 'https://validator.example/base/ ' ],
37- [Application::APP_ID , 'footer_template_is_default ' , '' , '0 ' ],
38- [Application::APP_ID , 'docmdp_level ' , '' , '' ],
39- [Application::APP_ID , 'groups_request_sign ' , '' , '' ],
40- [Application::APP_ID , 'policy.signature_flow.system ' , '' , '' ],
41- [Application::APP_ID , 'signature_flow ' , '' , '' ],
42- [Application::APP_ID , 'template_font_size ' , '' , '' ],
43- [Application::APP_ID , 'signature_width ' , '' , '' ],
44- [Application::APP_ID , 'signature_height ' , '' , '' ],
45- [Application::APP_ID , 'signature_font_size ' , '' , '' ],
46- [Application::APP_ID , 'signature_render_mode ' , '' , '' ],
47- [Application::APP_ID , 'collect_metadata ' , '' , '' ],
48- [Application::APP_ID , 'identification_documents ' , '' , '' ],
49- [Application::APP_ID , 'identify_methods ' , '' , '' ],
50- ]);
33+ ->willReturnCallback (static function (string $ app , string $ key , string $ default ): string {
34+ if ($ app !== Application::APP_ID ) {
35+ return $ default ;
36+ }
37+ $ map = [
38+ 'add_footer ' => '1 ' ,
39+ 'write_qrcode_on_footer ' => '0 ' ,
40+ 'validation_site ' => 'https://validator.example/base/ ' ,
41+ 'footer_template_is_default ' => '0 ' ,
42+ 'docmdp_level ' => '' ,
43+ 'groups_request_sign ' => '' ,
44+ 'policy.signature_flow.system ' => '' ,
45+ 'signature_flow ' => '' ,
46+ 'template_font_size ' => '' ,
47+ 'signature_width ' => '' ,
48+ 'signature_height ' => '' ,
49+ 'signature_font_size ' => '' ,
50+ 'signature_render_mode ' => '' ,
51+ 'collect_metadata ' => '' ,
52+ 'identification_documents ' => '' ,
53+ 'identify_methods ' => '' ,
54+ ];
55+ return $ map [$ key ] ?? $ default ;
56+ });
5157
5258 $ deletedKeys = [];
5359
@@ -136,7 +142,7 @@ public function testReadsLegacyBooleanWhenAddFooterHasTypedBoolValue(): void {
136142 $ deletedKeys = [];
137143
138144 $ this ->appConfig
139- ->expects ($ this ->once ())
145+ ->expects ($ this ->atLeastOnce ())
140146 ->method ('deleteKey ' )
141147 ->willReturnCallback (static function (string $ app , string $ key ) use (&$ deletedKeys ): void {
142148 $ deletedKeys [] = [$ app , $ key ];
@@ -187,14 +193,14 @@ public function testMigratesGroupsRequestSignFromTypedArrayToCanonicalString():
187193
188194 $ deletedKeys = [];
189195 $ this ->appConfig
190- ->expects ($ this ->exactly ( 2 ))
196+ ->expects ($ this ->atLeastOnce ( ))
191197 ->method ('deleteKey ' )
192198 ->willReturnCallback (static function (string $ app , string $ key ) use (&$ deletedKeys ): void {
193199 $ deletedKeys [] = [$ app , $ key ];
194200 });
195201
196202 $ this ->appConfig
197- ->expects ($ this ->exactly ( 2 ))
203+ ->expects ($ this ->atLeastOnce ( ))
198204 ->method ('setValueString ' )
199205 ->willReturnCallback (static function (string $ app , string $ key , string $ value ): bool {
200206 if ($ key === 'groups_request_sign ' ) {
@@ -213,24 +219,30 @@ public function testMigratesGroupsRequestSignFromTypedArrayToCanonicalString():
213219 public function testMigratesSignatureTextFloatSettingsFromLegacyStrings (): void {
214220 $ this ->appConfig
215221 ->method ('getValueString ' )
216- ->willReturnMap ([
217- [Application::APP_ID , 'add_footer ' , '' , '' ],
218- [Application::APP_ID , 'write_qrcode_on_footer ' , '' , '' ],
219- [Application::APP_ID , 'validation_site ' , '' , '' ],
220- [Application::APP_ID , 'footer_template_is_default ' , '' , '' ],
221- [Application::APP_ID , 'collect_metadata ' , '' , '' ],
222- [Application::APP_ID , 'identification_documents ' , '' , '' ],
223- [Application::APP_ID , 'docmdp_level ' , '' , '' ],
224- [Application::APP_ID , 'groups_request_sign ' , '' , '' ],
225- [Application::APP_ID , 'policy.signature_flow.system ' , '' , '' ],
226- [Application::APP_ID , 'signature_flow ' , '' , '' ],
227- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_TEMPLATE_FONT_SIZE , '' , '11.5 ' ],
228- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_WIDTH , '' , '350 ' ],
229- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_HEIGHT , '' , '100.25 ' ],
230- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_FONT_SIZE , '' , '18 ' ],
231- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_RENDER_MODE , '' , 'default ' ],
232- [Application::APP_ID , 'identify_methods ' , '' , '' ],
233- ]);
222+ ->willReturnCallback (static function (string $ app , string $ key , string $ default ): string {
223+ if ($ app !== Application::APP_ID ) {
224+ return $ default ;
225+ }
226+ $ map = [
227+ 'add_footer ' => '' ,
228+ 'write_qrcode_on_footer ' => '' ,
229+ 'validation_site ' => '' ,
230+ 'footer_template_is_default ' => '' ,
231+ 'collect_metadata ' => '' ,
232+ 'identification_documents ' => '' ,
233+ 'docmdp_level ' => '' ,
234+ 'groups_request_sign ' => '' ,
235+ 'policy.signature_flow.system ' => '' ,
236+ 'signature_flow ' => '' ,
237+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_TEMPLATE_FONT_SIZE => '11.5 ' ,
238+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_WIDTH => '350 ' ,
239+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_HEIGHT => '100.25 ' ,
240+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_FONT_SIZE => '18 ' ,
241+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_RENDER_MODE => 'default ' ,
242+ 'identify_methods ' => '' ,
243+ ];
244+ return $ map [$ key ] ?? $ default ;
245+ });
234246
235247 $ deleted = [];
236248 $ this ->appConfig
@@ -272,24 +284,30 @@ public function testMigratesSignatureTextFloatSettingsFromLegacyStrings(): void
272284 public function testNormalizesSignatureTextRenderModeToCanonicalPolicyValue (): void {
273285 $ this ->appConfig
274286 ->method ('getValueString ' )
275- ->willReturnMap ([
276- [Application::APP_ID , 'add_footer ' , '' , '' ],
277- [Application::APP_ID , 'write_qrcode_on_footer ' , '' , '' ],
278- [Application::APP_ID , 'validation_site ' , '' , '' ],
279- [Application::APP_ID , 'footer_template_is_default ' , '' , '' ],
280- [Application::APP_ID , 'collect_metadata ' , '' , '' ],
281- [Application::APP_ID , 'identification_documents ' , '' , '' ],
282- [Application::APP_ID , 'docmdp_level ' , '' , '' ],
283- [Application::APP_ID , 'groups_request_sign ' , '' , '' ],
284- [Application::APP_ID , 'policy.signature_flow.system ' , '' , '' ],
285- [Application::APP_ID , 'signature_flow ' , '' , '' ],
286- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_TEMPLATE_FONT_SIZE , '' , '' ],
287- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_WIDTH , '' , '' ],
288- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_HEIGHT , '' , '' ],
289- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_FONT_SIZE , '' , '' ],
290- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_RENDER_MODE , '' , 'GRAPHIC_AND_DESCRIPTION ' ],
291- [Application::APP_ID , 'identify_methods ' , '' , '' ],
292- ]);
287+ ->willReturnCallback (static function (string $ app , string $ key , string $ default ): string {
288+ if ($ app !== Application::APP_ID ) {
289+ return $ default ;
290+ }
291+ $ map = [
292+ 'add_footer ' => '' ,
293+ 'write_qrcode_on_footer ' => '' ,
294+ 'validation_site ' => '' ,
295+ 'footer_template_is_default ' => '' ,
296+ 'collect_metadata ' => '' ,
297+ 'identification_documents ' => '' ,
298+ 'docmdp_level ' => '' ,
299+ 'groups_request_sign ' => '' ,
300+ 'policy.signature_flow.system ' => '' ,
301+ 'signature_flow ' => '' ,
302+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_TEMPLATE_FONT_SIZE => '' ,
303+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_WIDTH => '' ,
304+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_HEIGHT => '' ,
305+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_FONT_SIZE => '' ,
306+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_RENDER_MODE => 'GRAPHIC_AND_DESCRIPTION ' ,
307+ 'identify_methods ' => '' ,
308+ ];
309+ return $ map [$ key ] ?? $ default ;
310+ });
293311
294312 $ deleted = [];
295313
@@ -330,24 +348,30 @@ public function testNormalizesSignatureTextRenderModeToCanonicalPolicyValue(): v
330348 public function testMigratesPendingBooleanPoliciesFromLegacyStrings (): void {
331349 $ this ->appConfig
332350 ->method ('getValueString ' )
333- ->willReturnMap ([
334- [Application::APP_ID , 'add_footer ' , '' , '' ],
335- [Application::APP_ID , 'write_qrcode_on_footer ' , '' , '' ],
336- [Application::APP_ID , 'validation_site ' , '' , '' ],
337- [Application::APP_ID , 'footer_template_is_default ' , '' , '' ],
338- [Application::APP_ID , 'collect_metadata ' , '' , '1 ' ],
339- [Application::APP_ID , 'identification_documents ' , '' , 'false ' ],
340- [Application::APP_ID , 'docmdp_level ' , '' , '' ],
341- [Application::APP_ID , 'groups_request_sign ' , '' , '' ],
342- [Application::APP_ID , 'policy.signature_flow.system ' , '' , '' ],
343- [Application::APP_ID , 'signature_flow ' , '' , '' ],
344- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_TEMPLATE_FONT_SIZE , '' , '' ],
345- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_WIDTH , '' , '' ],
346- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_HEIGHT , '' , '' ],
347- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_FONT_SIZE , '' , '' ],
348- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_RENDER_MODE , '' , '' ],
349- [Application::APP_ID , 'identify_methods ' , '' , '' ],
350- ]);
351+ ->willReturnCallback (static function (string $ app , string $ key , string $ default ): string {
352+ if ($ app !== Application::APP_ID ) {
353+ return $ default ;
354+ }
355+ $ map = [
356+ 'add_footer ' => '' ,
357+ 'write_qrcode_on_footer ' => '' ,
358+ 'validation_site ' => '' ,
359+ 'footer_template_is_default ' => '' ,
360+ 'collect_metadata ' => '1 ' ,
361+ 'identification_documents ' => 'false ' ,
362+ 'docmdp_level ' => '' ,
363+ 'groups_request_sign ' => '' ,
364+ 'policy.signature_flow.system ' => '' ,
365+ 'signature_flow ' => '' ,
366+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_TEMPLATE_FONT_SIZE => '' ,
367+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_WIDTH => '' ,
368+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_HEIGHT => '' ,
369+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_FONT_SIZE => '' ,
370+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_RENDER_MODE => '' ,
371+ 'identify_methods ' => '' ,
372+ ];
373+ return $ map [$ key ] ?? $ default ;
374+ });
351375
352376 $ savedBools = [];
353377 $ this ->appConfig
@@ -376,24 +400,30 @@ public function testMigratesPendingBooleanPoliciesFromLegacyStrings(): void {
376400 public function testMigratesLegacySignatureFlowKeyToSystemPolicyKey (): void {
377401 $ this ->appConfig
378402 ->method ('getValueString ' )
379- ->willReturnMap ([
380- [Application::APP_ID , 'add_footer ' , '' , '' ],
381- [Application::APP_ID , 'write_qrcode_on_footer ' , '' , '' ],
382- [Application::APP_ID , 'validation_site ' , '' , '' ],
383- [Application::APP_ID , 'footer_template_is_default ' , '' , '' ],
384- [Application::APP_ID , 'collect_metadata ' , '' , '' ],
385- [Application::APP_ID , 'identification_documents ' , '' , '' ],
386- [Application::APP_ID , 'docmdp_level ' , '' , '' ],
387- [Application::APP_ID , 'groups_request_sign ' , '' , '' ],
388- [Application::APP_ID , 'policy.signature_flow.system ' , '' , '' ],
389- [Application::APP_ID , 'signature_flow ' , '' , '2 ' ],
390- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_TEMPLATE_FONT_SIZE , '' , '' ],
391- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_WIDTH , '' , '' ],
392- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_HEIGHT , '' , '' ],
393- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_FONT_SIZE , '' , '' ],
394- [Application::APP_ID , SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_RENDER_MODE , '' , '' ],
395- [Application::APP_ID , 'identify_methods ' , '' , '' ],
396- ]);
403+ ->willReturnCallback (static function (string $ app , string $ key , string $ default ): string {
404+ if ($ app !== Application::APP_ID ) {
405+ return $ default ;
406+ }
407+ $ map = [
408+ 'add_footer ' => '' ,
409+ 'write_qrcode_on_footer ' => '' ,
410+ 'validation_site ' => '' ,
411+ 'footer_template_is_default ' => '' ,
412+ 'collect_metadata ' => '' ,
413+ 'identification_documents ' => '' ,
414+ 'docmdp_level ' => '' ,
415+ 'groups_request_sign ' => '' ,
416+ 'policy.signature_flow.system ' => '' ,
417+ 'signature_flow ' => '2 ' ,
418+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_TEMPLATE_FONT_SIZE => '' ,
419+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_WIDTH => '' ,
420+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_HEIGHT => '' ,
421+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_SIGNATURE_FONT_SIZE => '' ,
422+ SignatureTextPolicy::SYSTEM_APP_CONFIG_KEY_RENDER_MODE => '' ,
423+ 'identify_methods ' => '' ,
424+ ];
425+ return $ map [$ key ] ?? $ default ;
426+ });
397427
398428 $ savedStrings = [];
399429 $ this ->appConfig
0 commit comments