test: raise mutation coverage above the nightly PIT gate - #34
Merged
Conversation
Purely additive tests mirroring miragon-blueprints/zeebe-example#15 to keep the blueprints in lock-step. No production code changes. - Value objects (CustomerName, Email, ContractId, OrderId, BikeId): value exposure + require() validation - LeasingApplicationEntityMapper: direct round-trip incl. nullable order/contract ids - ApplicationInvalidException: reason + composed message - CancelContractService: unknown-application and no-contract error branches - SelectAlternativeController: alternativeFound=false branch - LeasingApplication: age / monthlyNetIncome getters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Keeps this blueprint in lock-step with its siblings. The Zeebe blueprint added tests to close coverage gaps around value objects, DTOs, the persistence mapper, exceptions and services (miragon-blueprints/zeebe-example#15). This PR ports the equivalent tests here so the same behaviour is pinned down and the full-module nightly PIT gate (80) stays comfortably above threshold. Purely additive — no production code changes.
What
CustomerName,Email,ContractId,OrderId,BikeId): value exposure +require()validationLeasingApplicationEntityMapper: direct round-trip incl. nullable order/contract idsApplicationInvalidException:reason+ composed messageCancelContractService: unknown-application and no-contract error branchesSelectAlternativeController:alternativeFound=falsebranchLeasingApplication:age/monthlyNetIncomegettersShared-code tests (domain value objects, exception, application services) were taken 1:1 from the Zeebe PR — same class names, same test methods, same wording. Engine-touching tests (persistence mapper, controllers) were adapted to this repo's CIB seven structure.
Skipped vs #15
GetLeasingApplicationController(assert every mapped DTO field): already covered here — the existing test asserts all mapped fields plus a null-order/contract case, so no change was needed.RequestOrderCancellationService(falsereturn path): already present in this repo.Result
Affected unit tests run green (
./gradlew :service:app:testfor the touched classes). No production code changed; only tests were added.