[#2129] Fine tune Repository
registration in the AggregateTestFixture
#2552
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.
This pull request adjusts two pointers around the
AggregateTestFixture's
Repository
usage:Repository
is added to theresources
collection of the fixture. By adding it to the resources, users are able to wire theRepository
inside the aggregate or registered annotated command handling components. Since the framework already does this in a production environment, this adjustment allows the fixture to more closely align with the a production setup,FixtureExecutionException
is thrown when aRepositoryProvider
,ParameterResolverFactory
,HandlerDefinition
orHandlerEnhancerDefinition
is registered while theRepository
is already defined for the fixture. Since all four of these components impact theRepository
within the fixture, none of these operation should be allowed once theRepository
is already retrieved (throughAggregateTestFixture#getRepository
, as this builds the defaultRepository
) or when a custom version is registered (throughAggregateTestFixture#registerRepository
).By doing the above, the pull request resolves #2129.