Full test coverage for OperatorDomainService — fix dead code branches and missing edge cases#1506
Merged
StuartFerguson merged 6 commits intomasterfrom Feb 20, 2026
Conversation
…rage for OperatorDomainService Co-authored-by: StuartFerguson <16325469+StuartFerguson@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update test coverage for operator domain service
Fix operator result failure checks and add full failure/exception test coverage for OperatorDomainService
Feb 20, 2026
…ateOperator operator-not-created guard Co-authored-by: StuartFerguson <16325469+StuartFerguson@users.noreply.github.com>
Copilot
AI
changed the title
Fix operator result failure checks and add full failure/exception test coverage for OperatorDomainService
Full test coverage for OperatorDomainService — fix uncovered branches and a missing guard
Feb 20, 2026
…d add CreateOperator Guid.Empty test Co-authored-by: StuartFerguson <16325469+StuartFerguson@users.noreply.github.com>
Copilot
AI
changed the title
Full test coverage for OperatorDomainService — fix uncovered branches and a missing guard
Full test coverage for OperatorDomainService — fix dead code branches and missing edge cases
Feb 20, 2026
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.
OperatorDomainServicehad several uncovered branches: thestateResult.IsFailedpath inUpdateOperatorwas permanently dead code, theGuid.EmptyoperatorId path inCreateOperatorwas untested, and both methods had copy-paste bugs whereestateResult.IsFailedwas checked twice instead of checkingoperatorResult.IsFailed.Bug fixes
CreateOperator/UpdateOperator: both methods re-checkedestateResult.IsFailedafter fetching the operator aggregate instead ofoperatorResult.IsFailed, silently swallowing operator fetch failures.Dead code elimination —
UpdateOperatorstateResult.IsFailedOperatorAggregate.UpdateOperatoralways returnedResult.Success(), making the service'sstateResult.IsFailedguard unreachable. Fixed by adding anIsCreatedvalidation to the aggregate method (where domain validation belongs) and removing the duplicate service-level guard:The service-level
if (operatorAggregate.IsCreated == false)guard introduced in an earlier pass is removed;stateResult.IsFailedis now the single coverage path for this case.New / fixed tests
CreateOperator_OperatorIdIsEmpty_OperatorIsCreatedGuid.Empty → Guid.NewGuid()switch inCreateOperatorCreateOperator_OperatorNameEmpty_ResultFailedstateResult.IsFailedinCreateOperator(aggregate rejects empty name)CreateOperator_GetEstateFailed/GetOperatorFailed/SaveFailed/ExceptionThrownCreateOperatorUpdateOperator_OperatorNotCreated_ResultFailedstateResult.IsFailedinUpdateOperator(now via aggregate validation) — previously passed accidentally due to missing mockUpdateOperator_GetEstateFailed/EstateNotCreated/GetOperatorFailed/SaveFailed/ExceptionThrownUpdateOperatorOriginal prompt
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.