Fix AddNewOrder test validation and integration event discovery#1001
Open
onurnafiguzel wants to merge 1 commit into
Open
Fix AddNewOrder test validation and integration event discovery#1001onurnafiguzel wants to merge 1 commit into
onurnafiguzel wants to merge 1 commit into
Conversation
Author
|
@dotnet-policy-service agree |
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.
Fixes #943
Problem
The
AddNewOrderfunctional test inOrdering.FunctionalTestspassed even though theorder was never actually created. Issue #943 identified three underlying problems:
CreateOrderAsyncalways returned200 OK, evenwhen the command failed, so an invalid request looked successful.
DateTime.Kindmismatch. The test built the card expiration date withConvert.ToDateTime(...), producingKind.Local, which Npgsql rejects fortimestamp with time zonecolumns.IntegrationEventLogServiceloaded event types fromAssembly.GetEntryAssembly().In functional tests the entry assembly is the test host, which does not contain the
derived
IntegrationEventtypes, so publishing an order's integration event threw andreturned
500.Changes
OrdersApi.CreateOrderAsync: now returnsBadRequestwhen the command fails,consistent with the
Cancel/Shipendpoints, instead of always returningOk.IntegrationEventLogService: the assembly to scan for event types is now injectedvia the constructor instead of relying on the entry assembly.
Ordering.API/Catalog.APIDI registration: each API now passes its ownassembly (
typeof(Extensions).Assembly) when registering the log service.OrderingApiTests:AddNewOrderWithInvalidDataFails(asserts
BadRequest).AddNewOrdertest using valid data (future UTC expiration date, completeaddress, valid security number) that asserts
OK.Testing
Ordering.FunctionalTests: 12/12 passingOrdering.UnitTests: 41/41 passing