etherisc / gif-next

Repository for the next version of the Generic Insurance Framework (GIF) smart contracts.
Apache License 2.0
4 stars 2 forks source link

Codebase: Improve test coverage #252

Open doerfli opened 5 months ago

matthiaszimmermann commented 2 months ago

in a next step get to at least 80% line coverage, check result with forge coverage. current coverage is provided below

Ran 57 test suites in 182.70s (1305.72s CPU time): 526 tests passed, 0 failed, 0 skipped (526 total tests) File % Lines % Statements % Branches % Funcs --- below -49% -------------------------------------------- -------------------- -------------------- ------------------ ------------------- contracts/authorization/ModuleAuthorization.sol 20.00% (2/10) 14.29% (2/14) 100.00% (0/0) 33.33% (2/6) contracts/authorization/ServiceAuthorization.sol 33.33% (5/15) 37.50% (6/16) 100.00% (0/0) 38.46% (5/13) contracts/instance/InstanceAuthorizationV3.sol 0.00% (0/83) 0.00% (0/83) 100.00% (0/0) 0.00% (0/8) contracts/oracle/BasicOracle.sol 0.00% (0/2) 0.00% (0/2) 100.00% (0/0) 0.00% (0/2) contracts/oracle/BasicOracleAuthorization.sol 0.00% (0/7) 0.00% (0/7) 100.00% (0/0) 0.00% (0/3) contracts/oracle/Oracle.sol 45.45% (5/11) 41.67% (5/12) 100.00% (0/0) 55.56% (5/9) contracts/pool/BasicPool.sol 45.45% (5/11) 45.45% (5/11) 100.00% (0/0) 45.45% (5/11) contracts/pool/Pool.sol 45.83% (11/24) 53.33% (16/30) 25.00% (1/4) 57.89% (11/19) contracts/product/BasicProductAuthorization.sol 0.00% (0/4) 0.00% (0/4) 100.00% (0/0) 0.00% (0/3) contracts/registry/ReleaseLifecycle.sol 0.00% (0/7) 0.00% (0/7) 100.00% (0/0) 0.00% (0/2) contracts/registry/ServiceAuthorizationV3.sol 0.00% (0/73) 0.00% (0/73) 100.00% (0/0) 0.00% (0/10) contracts/shared/ComponentServiceManager.sol 0.00% (0/5) 0.00% (0/8) 100.00% (0/0) 0.00% (0/2) contracts/shared/InitializableCustom.sol 48.28% (14/29) 51.35% (19/37) 42.86% (6/14) 25.00% (2/8) contracts/shared/PolicyHolder.sol 0.00% (0/10) 0.00% (0/13) 0.00% (0/2) 0.00% (0/11) contracts/staking/StakingLifecycle.sol 0.00% (0/4) 0.00% (0/4) 100.00% (0/0) 0.00% (0/2) contracts/staking/StakingManager.sol 0.00% (0/6) 0.00% (0/8) 100.00% (0/0) 0.00% (0/2) contracts/type/AddressSet.sol 0.00% (0/21) 0.00% (0/25) 0.00% (0/6) 0.00% (0/6) --- below 50-59% ------------------------------------------ -------------------- -------------------- ------------------ ------------------- contracts/product/BasicProduct.sol 50.00% (1/2) 50.00% (1/2) 100.00% (0/0) 50.00% (1/2) contracts/product/Product.sol 52.50% (21/40) 54.72% (29/53) 100.00% (0/0) 73.08% (19/26) contracts/registry/Registry.sol 55.63% (84/151) 56.85% (112/197) 71.43% (30/42) 72.50% (29/40) contracts/shared/InstanceLinkedComponent.sol 52.00% (13/25) 58.06% (18/31) 66.67% (4/6) 63.64% (7/11) contracts/shared/TokenHandler.sol 50.00% (2/4) 50.00% (2/4) 100.00% (0/0) 50.00% (2/4) contracts/type/Fee.sol 50.00% (6/12) 55.56% (15/27) 0.00% (0/2) 71.43% (5/7) contracts/type/RequestId.sol 55.56% (5/9) 45.83% (11/24) 100.00% (0/0) 44.44% (4/9) contracts/type/RoleId.sol 58.33% (7/12) 57.69% (15/26) 100.00% (0/0) 66.67% (8/12) --- below 60-69% ------------------------------------------ -------------------- -------------------- ------------------ ------------------- contracts/registry/ReleaseManager.sol 60.33% (73/121) 63.89% (92/144) 40.00% (20/50) 68.18% (15/22) contracts/shared/NftIdSetManager.sol 61.54% (8/13) 73.68% (14/19) 0.00% (0/2) 63.64% (7/11) contracts/shared/Versionable.sol 60.00% (3/5) 60.00% (3/5) 100.00% (0/0) 60.00% (3/5) contracts/type/Selector.sol 60.87% (14/23) 47.50% (19/40) 50.00% (3/6) 50.00% (6/12) contracts/type/String.sol 60.00% (3/5) 42.86% (6/14) 100.00% (0/0) 60.00% (3/5) contracts/type/UFixed.sol 63.33% (38/60) 68.89% (62/90) 78.57% (11/14) 95.83% (23/24) --- below 70-79% ------------------------------------------ -------------------- -------------------- ------------------ ------------------- contracts/distribution/BasicDistribution.sol 71.43% (5/7) 81.82% (9/11) 100.00% (0/0) 66.67% (4/6) contracts/distribution/Distribution.sol 72.73% (24/33) 73.91% (34/46) 75.00% (3/4) 64.71% (11/17) contracts/instance/InstanceStore.sol 75.47% (40/53) 76.19% (48/63) 100.00% (0/0) 71.74% (33/46) contracts/instance/base/BalanceStore.sol 73.68% (28/38) 72.97% (27/37) 50.00% (2/4) 84.62% (11/13) contracts/pool/PoolService.sol 73.97% (54/73) 72.16% (70/97) 12.50% (1/8) 62.50% (10/16) contracts/registry/RegistryService.sol 72.88% (43/59) 75.38% (49/65) 73.33% (22/30) 71.43% (10/14) contracts/registry/RegistryServiceManager.sol 77.78% (7/9) 85.71% (12/14) 50.00% (2/4) 100.00% (2/2) contracts/shared/Component.sol 76.19% (48/63) 77.11% (64/83) 53.85% (14/26) 66.67% (14/21) contracts/staking/TargetManagerLib.sol 72.73% (32/44) 75.86% (44/58) 50.00% (12/24) 53.85% (7/13) contracts/type/ClaimId.sol 75.00% (6/8) 72.22% (13/18) 100.00% (0/0) 75.00% (6/8) contracts/type/PayoutId.sol 77.78% (7/9) 75.00% (15/20) 100.00% (0/0) 66.67% (6/9) contracts/type/Seconds.sol 76.92% (10/13) 73.33% (22/30) 100.00% (2/2) 81.82% (9/11) contracts/type/StateId.sol 75.00% (3/4) 80.00% (8/10) 100.00% (0/0) 75.00% (3/4) --- below 80-% -------------------------------------------- -------------------- -------------------- ------------------ ------------------- contracts/shared/ComponentVerifyingService.sol 80.00% (12/15) 82.35% (14/17) 50.00% (5/10) 100.00% (4/4) contracts/authorization/Authorization.sol 86.84% (33/38) 85.11% (40/47) 83.33% (5/6) 77.78% (21/27) contracts/distribution/DistributionService.sol 89.04% (65/73) 92.16% (94/102) 36.36% (8/22) 100.00% (8/8) contracts/distribution/DistributionServiceManager.sol 80.00% (4/5) 87.50% (7/8) 100.00% (0/0) 50.00% (1/2) contracts/instance/Instance.sol 89.66% (26/29) 91.67% (33/36) 50.00% (3/6) 75.00% (15/20) contracts/instance/InstanceReader.sol 83.91% (73/87) 80.99% (115/142) 52.08% (25/48) 67.50% (27/40) contracts/instance/InstanceService.sol 83.19% (94/113) 79.49% (155/195) 51.92% (27/52) 75.00% (15/20) contracts/instance/InstanceServiceManager.sol 80.00% (4/5) 87.50% (7/8) 100.00% (0/0) 50.00% (1/2) contracts/oracle/OracleService.sol 83.10% (59/71) 85.06% (74/87) 45.45% (10/22) 87.50% (7/8) contracts/oracle/OracleServiceManager.sol 80.00% (4/5) 87.50% (7/8) 100.00% (0/0) 50.00% (1/2) contracts/pool/BundleServiceManager.sol 80.00% (4/5) 87.50% (7/8) 100.00% (0/0) 50.00% (1/2) contracts/pool/PoolServiceManager.sol 80.00% (4/5) 87.50% (7/8) 100.00% (0/0) 50.00% (1/2) contracts/product/ApplicationService.sol 88.00% (22/25) 87.88% (29/33) 50.00% (1/2) 66.67% (6/9) contracts/product/ClaimService.sol 87.00% (87/100) 86.89% (106/122) 33.33% (6/18) 91.67% (11/12) contracts/product/PolicyService.sol 85.15% (86/101) 88.55% (116/131) 60.00% (18/30) 73.33% (11/15) contracts/product/PolicyServiceManager.sol 80.00% (4/5) 87.50% (7/8) 100.00% (0/0) 50.00% (1/2) contracts/product/PricingServiceManager.sol 80.00% (4/5) 87.50% (7/8) 100.00% (0/0) 50.00% (1/2) contracts/product/ProductService.sol 88.89% (16/18) 88.00% (22/25) 100.00% (0/0) 80.00% (4/5) contracts/product/ProductServiceManager.sol 80.00% (4/5) 87.50% (7/8) 100.00% (0/0) 50.00% (1/2) contracts/registry/RegistryAdmin.sol 98.25% (112/114) 96.24% (128/133) 75.00% (3/4) 75.00% (9/12) contracts/registry/TokenRegistry.sol 86.79% (46/53) 86.44% (51/59) 95.00% (19/20) 94.74% (18/19) contracts/shared/ComponentService.sol 89.84% (115/128) 89.58% (129/144) 67.39% (31/46) 74.07% (20/27) contracts/shared/KeyValueStore.sol 81.08% (30/37) 81.82% (36/44) 50.00% (6/12) 66.67% (6/9) contracts/shared/Lifecycle.sol 90.91% (10/11) 91.67% (11/12) 62.50% (5/8) 50.00% (3/6) contracts/shared/NftOwnable.sol 95.24% (20/21) 96.30% (26/27) 90.00% (9/10) 100.00% (7/7) contracts/shared/ProxyManager.sol 83.33% (35/42) 85.71% (48/56) 58.33% (7/12) 85.71% (12/14) contracts/shared/Service.sol 90.91% (10/11) 88.24% (15/17) 100.00% (2/2) 60.00% (3/5) contracts/staking/StakeManagerLib.sol 85.37% (35/41) 88.89% (48/54) 50.00% (6/12) 66.67% (6/9) contracts/staking/StakingService.sol 83.10% (59/71) 83.70% (77/92) 30.00% (3/10) 77.27% (17/22) contracts/staking/StakingServiceManager.sol 80.00% (4/5) 87.50% (7/8) 100.00% (0/0) 50.00% (1/2) contracts/staking/StakingStore.sol 88.14% (104/118) 89.06% (114/128) 58.33% (7/12) 94.44% (34/36) contracts/type/Amount.sol 89.47% (17/19) 93.02% (40/43) 75.00% (3/4) 100.00% (15/15) contracts/type/NftId.sol 88.89% (8/9) 91.67% (22/24) 100.00% (0/0) 88.89% (8/9) contracts/type/NftIdSet.sol 84.21% (16/19) 82.61% (19/23) 50.00% (3/6) 83.33% (5/6) contracts/type/Referral.sol 83.33% (5/6) 83.33% (10/12) 100.00% (0/0) 66.67% (4/6) contracts/type/Version.sol 88.89% (16/18) 87.88% (29/33) 50.00% (1/2) 90.00% (9/10)