Refactor Address to enforce required fields and validation#1583
Merged
StuartFerguson merged 3 commits intomasterfrom Mar 12, 2026
Merged
Refactor Address to enforce required fields and validation#1583StuartFerguson merged 3 commits intomasterfrom
StuartFerguson merged 3 commits intomasterfrom
Conversation
Refactored Address to use a static Create method with validation for required fields (AddressLine1, Town, PostalCode, Country). Updated all usages to use Address.Create, ensuring invalid addresses cannot be instantiated. Added unit tests for validation. Also updated AddressModel and MerchantAddressModel instantiations for consistency. This centralizes and enforces address data integrity across the codebase.
Introduce PostalCode field to all merchant-related BDD feature files and generated code-behind files. Update merchant creation and address update tables to include PostalCode, with sample values provided for all test merchants. Update SpecflowExtensions.cs to process and assign PostalCode when creating merchant requests. Remove the prlinked.yml GitHub Actions workflow file. These changes ensure PostalCode is consistently handled in integration tests, improving address data completeness and test reliability.
Previously, Address was always created with Guid.Empty as its ID in MerchantDomainService. Now, the AddressId from the command is used, enabling proper identification and handling of address updates.
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.
Refactored Address to use a static Create method with validation for required fields (AddressLine1, Town, PostalCode, Country). Updated all usages to use Address.Create, ensuring invalid addresses cannot be instantiated. Added unit tests for validation. Also updated AddressModel and MerchantAddressModel instantiations for consistency. This centralizes and enforces address data integrity across the codebase.
fixes #1581