341
341
engine_config = stub_qm_config ( similar : false )
342
342
343
343
violation = double ( check_name : "similar-code" , fingerprint_check_name : "Similar code" )
344
- expect ( engine_config . check_enabled? ( violation ) ) . to eq ( false )
344
+ expect ( engine_config . check_enabled? ( violation . fingerprint_check_name , violation . check_name ) ) . to eq ( false )
345
345
end
346
346
347
347
it "returns true for similar-code check when enabled" do
348
348
engine_config = stub_qm_config ( similar : true )
349
349
350
350
violation = double ( check_name : "similar-code" , fingerprint_check_name : "Similar code" )
351
- expect ( engine_config . check_enabled? ( violation ) ) . to eq ( true )
351
+ expect ( engine_config . check_enabled? ( violation . fingerprint_check_name , violation . check_name ) ) . to eq ( true )
352
352
end
353
353
354
354
it "respects legacy config when present" do
360
360
)
361
361
362
362
violation = double ( check_name : "similar-code" , fingerprint_check_name : "Similar code" )
363
- expect ( engine_config . check_enabled? ( violation ) ) . to eq ( false )
363
+ expect ( engine_config . check_enabled? ( violation . fingerprint_check_name , violation . check_name ) ) . to eq ( false )
364
364
end
365
365
366
366
it "overrides legacy config when both present" do
372
372
)
373
373
374
374
violation = double ( check_name : "similar-code" , fingerprint_check_name : "Similar code" )
375
- expect ( engine_config . check_enabled? ( violation ) ) . to eq ( false )
375
+ expect ( engine_config . check_enabled? ( violation . fingerprint_check_name , violation . check_name ) ) . to eq ( false )
376
376
end
377
377
378
378
it "returns true by default" do
379
379
engine_config = described_class . new ( { "config" => { } } )
380
380
381
381
violation = double ( check_name : "similar-code" , fingerprint_check_name : "Similar code" )
382
- expect ( engine_config . check_enabled? ( violation ) ) . to eq ( true )
382
+ expect ( engine_config . check_enabled? ( violation . fingerprint_check_name , violation . check_name ) ) . to eq ( true )
383
383
end
384
384
385
385
it "returns false for identical-code check when disabled" do
386
386
engine_config = stub_qm_config ( identical : false )
387
387
388
388
violation = double ( check_name : "identical-code" , fingerprint_check_name : "Identical code" )
389
- expect ( engine_config . check_enabled? ( violation ) ) . to eq ( false )
389
+ expect ( engine_config . check_enabled? ( violation . fingerprint_check_name , violation . check_name ) ) . to eq ( false )
390
390
end
391
391
392
392
it "returns true for identical-code check when enabled" do
393
393
engine_config = stub_qm_config ( identical : true )
394
394
395
395
violation = double ( check_name : "identical-code" , fingerprint_check_name : "Identical code" )
396
- expect ( engine_config . check_enabled? ( violation ) ) . to eq ( true )
396
+ expect ( engine_config . check_enabled? ( violation . fingerprint_check_name , violation . check_name ) ) . to eq ( true )
397
397
end
398
398
399
399
it "returns true by default" do
400
400
engine_config = described_class . new ( { "config" => { } } )
401
401
402
402
violation = double ( check_name : "identical-code" , fingerprint_check_name : "Identical code" )
403
- expect ( engine_config . check_enabled? ( violation ) ) . to eq ( true )
403
+ expect ( engine_config . check_enabled? ( violation . fingerprint_check_name , violation . check_name ) ) . to eq ( true )
404
+ end
405
+ end
406
+
407
+ describe "#all_checks_disabled?" do
408
+ context "qm config" do
409
+ it "returns true if all checks are disabled" do
410
+ engine_config = stub_qm_config ( identical : false , similar : false )
411
+
412
+ expect ( engine_config . all_checks_disabled? ) . to eq ( true )
413
+ end
414
+
415
+ it "returns false if only one check is disabled" do
416
+ engine_config = stub_qm_config ( identical : false , similar : true )
417
+
418
+ expect ( engine_config . all_checks_disabled? ) . to eq ( false )
419
+ end
420
+
421
+ it "returns false if no checks are disabled" do
422
+ engine_config = stub_qm_config ( identical : true , similar : true )
423
+
424
+ expect ( engine_config . all_checks_disabled? ) . to eq ( false )
425
+ end
426
+ end
427
+
428
+ context "legacy config" do
429
+ it "returns true if all checks are disabled" do
430
+ engine_config = stub_legacy_config ( identical : false , similar : false )
431
+
432
+ expect ( engine_config . all_checks_disabled? ) . to eq ( true )
433
+ end
434
+
435
+ it "returns false if only one check is disabled" do
436
+ engine_config = stub_legacy_config ( identical : false , similar : true )
437
+
438
+ expect ( engine_config . all_checks_disabled? ) . to eq ( false )
439
+ end
440
+
441
+ it "returns false if no checks are disabled" do
442
+ engine_config = stub_legacy_config ( identical : true , similar : true )
443
+
444
+ expect ( engine_config . all_checks_disabled? ) . to eq ( false )
445
+ end
404
446
end
405
447
end
406
448
@@ -418,4 +460,17 @@ def stub_qm_config(similar: true, identical: true)
418
460
} ,
419
461
} )
420
462
end
463
+
464
+ def stub_legacy_config ( similar : true , identical : true )
465
+ described_class . new ( {
466
+ "checks" => {
467
+ "Similar code" => {
468
+ "enabled" => similar ,
469
+ } ,
470
+ "Identical code" => {
471
+ "enabled" => identical ,
472
+ } ,
473
+ } ,
474
+ } )
475
+ end
421
476
end
0 commit comments