1414import java .util .List ;
1515
1616import static io .github .mfaisalkhatri .api .restfulecommerce .testdata .OrderDataBuilder .getNewOrder ;
17+ import static io .github .mfaisalkhatri .api .restfulecommerce .testdata .OrderDataBuilder .getUpdatedOrder ;
18+ import static io .github .mfaisalkhatri .api .restfulecommerce .testdata .TokenBuilder .getCredentials ;
1719import static org .testng .Assert .assertEquals ;
1820import static org .testng .Assert .assertNotNull ;
1921
@@ -70,7 +72,7 @@ public void testShouldGetAllOrders() {
7072 }
7173
7274 @ Test
73- public void testShouldGetOrderUsingId () {
75+ public void testShouldGetOrderUsingOrderId () {
7476 int orderId = 1 ;
7577 APIResponse response = request .get ("/getOrder" , RequestOptions .create ().setQueryParam ("id" , orderId ));
7678
@@ -88,7 +90,7 @@ public void testShouldGetOrderUsingId() {
8890
8991 @ Test
9092 public void testShouldGetOrdersUsingUserId () {
91- int userId = 2 ;
93+ String userId = "2" ;
9294
9395 APIResponse response = request .get ("/getOrder" , RequestOptions .create ().setQueryParam ("user_id" , userId ));
9496
@@ -100,8 +102,73 @@ public void testShouldGetOrdersUsingUserId() {
100102
101103 assertEquals (response .status (), 200 );
102104 assertEquals (responseObject .get ("message" ), "Order found!!" );
103- assertEquals (orderList .get (0 ).getUserId (), ordersArray .getJSONObject (0 ).get ("user_id" ));
105+ assertEquals (ordersArray .getJSONObject (0 ).get ("user_id" ), userId );
106+
107+ }
108+
109+ @ Test
110+ public void testShouldGetOrdersUsingProductId () {
111+ String productId = "332" ;
112+
113+
114+ APIResponse response = request .get ("/getOrder" , RequestOptions .create ().setQueryParam ("product_id" , productId ));
115+
116+ Helper helper = new Helper (response );
117+ helper .logResponseDetails ();
118+
119+ final JSONObject responseObject = new JSONObject (response .text ());
120+ final JSONArray ordersArray = responseObject .getJSONArray ("orders" );
121+
122+ assertEquals (response .status (), 200 );
123+ assertEquals (responseObject .get ("message" ), "Order found!!" );
124+ assertEquals (ordersArray .getJSONObject (0 ).get ("product_id" ), productId );
125+
126+ }
127+
128+ @ Test
129+ public void testTokenGeneration () {
130+ APIResponse response = request .post ("/auth" , RequestOptions .create ().setData (getCredentials ()));
104131
132+ Helper helper = new Helper (response );
133+ helper .logResponseDetails ();
134+
135+ final JSONObject responseObject = new JSONObject (response .text ());
136+
137+ assertEquals (response .status (), 201 );
138+ assertNotNull (responseObject .get ("token" ));
139+ assertEquals (responseObject .get ("message" ), "Authentication Successful!" );
140+ }
141+
142+ @ Test
143+ public void testShouldUpdateTheOrderUsingPut () {
144+
145+ APIResponse authResponse = request .post ("/auth" , RequestOptions .create ().setData (getCredentials ()));
146+
147+ final JSONObject authResponseObject = new JSONObject (authResponse .text ());
148+ String token = authResponseObject .get ("token" ).toString ();
149+
150+ OrderData updatedOrder = getUpdatedOrder ();
151+
152+ int orderId = 2 ;
153+ APIResponse response = request .put ("/updateOrder/" + orderId , RequestOptions .create ()
154+ .setHeader ("Authorization" , token )
155+ .setData (updatedOrder ));
156+
157+ Helper helper = new Helper (response );
158+ helper .logResponseDetails ();
159+
160+ final JSONObject updateOrderResponseObject = new JSONObject (response .text ());
161+ final JSONObject orderObject = updateOrderResponseObject .getJSONObject ("order" );
162+
163+ assertEquals (response .status (), 200 );
164+ assertEquals (updateOrderResponseObject .get ("message" ), "Order updated successfully!" );
165+ assertEquals (orderId , orderObject .get ("id" ));
166+ assertEquals (updatedOrder .getUserId (), orderObject .get ("user_id" ));
167+ assertEquals (updatedOrder .getProductId (), orderObject .get ("product_id" ));
168+ assertEquals (updatedOrder .getProductName (), orderObject .get ("product_name" ));
169+ assertEquals (updatedOrder .getProductAmount (), orderObject .get ("product_amount" ));
170+ assertEquals (updatedOrder .getTotalAmt (), orderObject .get ("total_amt" ));
105171 }
106172
173+
107174}
0 commit comments