From c7a09c8b1ffa79f764ebcc6d52b917261eaffe21 Mon Sep 17 00:00:00 2001 From: Mariano Saura Date: Fri, 27 Sep 2024 16:10:37 -0300 Subject: [PATCH] Test case added --- .../PetOrdersRESTfulControllerTest.class.st | 24 +++++++++++++++++++ .../PetOrdersRESTfulController.class.st | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/source/Stargate-Examples-Tests/PetOrdersRESTfulControllerTest.class.st b/source/Stargate-Examples-Tests/PetOrdersRESTfulControllerTest.class.st index fc60e29..591ce6f 100644 --- a/source/Stargate-Examples-Tests/PetOrdersRESTfulControllerTest.class.st +++ b/source/Stargate-Examples-Tests/PetOrdersRESTfulControllerTest.class.st @@ -536,6 +536,30 @@ PetOrdersRESTfulControllerTest >> testOverlyComplexOrderCreation [ assert: order date equals: '2018-10-24T18:05:46.418Z' ] +{ #category : 'tests - orders' } +PetOrdersRESTfulControllerTest >> testOverlyComplexOrderCreationWithoutSpecifyingStatusUsesDefaultValue [ + + | response order | + + response := resourceController + createOrderBasedOn: ( self requestToPOSTAsOverlyComplexOrder: + '{"date":"2018-10-24T18:05:46.418Z","pet":{"alternativeName":"Fido","itsType":"Dog"}}' ) + within: self newHttpRequestContext. + + self + assert: response isSuccess; + assert: response status equals: 201; + assertUrl: response location equals: 'https://petstore.example.com/orders/1'; + assert: response hasEntity; + assert: orderRepository count equals: 1. + order := orderRepository findAll first. + self + assert: order pet name equals: 'Fido'; + assert: order pet type equals: 'Dog'; + assert: order pet status equals: 'UNKNOWN'; + assert: order date equals: '2018-10-24T18:05:46.418Z' +] + { #category : 'tests' } PetOrdersRESTfulControllerTest >> testRoutes [ diff --git a/source/Stargate-Examples/PetOrdersRESTfulController.class.st b/source/Stargate-Examples/PetOrdersRESTfulController.class.st index 30f8e25..c1df0c7 100644 --- a/source/Stargate-Examples/PetOrdersRESTfulController.class.st +++ b/source/Stargate-Examples/PetOrdersRESTfulController.class.st @@ -150,7 +150,8 @@ PetOrdersRESTfulController >> configureOverlyComplexOrderDecodingOn: reader [ mapProperty: #theStatus as: #Status. mapping mapCreationSending: #named:ofType:withStatus: - withArguments: { #alternativeName. #itsType. #theStatus } + withArguments: { #alternativeName. #itsType. #theStatus }; + argumentNamed: #theStatus defaultingTo: 'UNKNOWN' ]. reader for: PetOrder createInstanceUsing: [ :mapping | mapping