@@ -465,6 +465,59 @@ def test_estimate_number_of_fields() -> None:
465
465
assert number_of_fields == 6
466
466
467
467
468
+ def test_estimate_number_of_fields_ignore_keys () -> None :
469
+ form = [
470
+ {
471
+ "name" : "key1" ,
472
+ "label" : "Key1" ,
473
+ "details" : {"values" : {"value1" , "value2" }},
474
+ "type" : "StringListWidget" ,
475
+ },
476
+ {
477
+ "name" : "key2" ,
478
+ "label" : "Key2" ,
479
+ "details" : {"values" : {"value1" , "value2" }},
480
+ "type" : "StringListWidget" ,
481
+ },
482
+ {
483
+ "name" : "key3" ,
484
+ "label" : "Key3" ,
485
+ "details" : {"values" : {"value1" , "value2" }},
486
+ "type" : "StringListWidget" ,
487
+ },
488
+ ]
489
+
490
+ costing_kwargs = {
491
+ "ignore_keys" : ["key3" ],
492
+ }
493
+
494
+ request = {
495
+ "key1" : ["value1" , "value2" ],
496
+ "key2" : ["value1" , "value2" ],
497
+ }
498
+ number_of_fields = costing .estimate_number_of_fields (form , request )
499
+ assert number_of_fields == 4
500
+ number_of_fields = costing .estimate_number_of_fields (
501
+ form , request , ** costing_kwargs
502
+ )
503
+ assert number_of_fields == 4
504
+
505
+ request = {
506
+ "key1" : ["value1" , "value2" ],
507
+ "key2" : ["value1" , "value2" ],
508
+ "key3" : ["value1" , "value2" ],
509
+ }
510
+ number_of_fields = costing .estimate_number_of_fields (
511
+ form ,
512
+ request ,
513
+ )
514
+ assert number_of_fields == 8
515
+ number_of_fields = costing .estimate_number_of_fields (
516
+ form , request , ** costing_kwargs
517
+ )
518
+ assert number_of_fields == 4
519
+
520
+
468
521
def test_estimate_costs () -> None :
469
522
from cads_adaptors import DummyCdsAdaptor
470
523
0 commit comments