Skip to content

Commit f357975

Browse files
committed
updated happy and sad path tests
1 parent 1caa00d commit f357975

File tree

3 files changed

+42
-15
lines changed

3 files changed

+42
-15
lines changed

src/test/java/io/github/mfaisalkhatri/api/restfulecommerce/HappyPathTests.java

+40-9
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
public class HappyPathTests extends BaseTest{
2121

2222
private List<OrderData> orderList;
23+
private int orderId;
24+
private String userId;
25+
private String productId;
2326

2427
@BeforeClass
2528
public void testSetup() {
@@ -28,7 +31,7 @@ public void testSetup() {
2831

2932
@Test
3033
public void testShouldPerformHealthCheckOfServer() {
31-
final APIResponse response = this.request.get("/getAllOrders");
34+
final APIResponse response = this.request.get("/health");
3235

3336
final Logger logger = new Logger(response);
3437
logger.logResponseDetails();
@@ -62,6 +65,12 @@ public void testShouldCreateNewOrders() {
6265
assertEquals(this.orderList.get(0).getUserId(), ordersArray.getJSONObject(0).get("user_id"));
6366
assertEquals(this.orderList.get(0).getProductId(), ordersArray.getJSONObject(0).get("product_id"));
6467
assertEquals(this.orderList.get(0).getTotalAmt(), ordersArray.getJSONObject(0).get("total_amt"));
68+
69+
this.orderId = ordersArray.getJSONObject(0).getInt("id");
70+
this.userId =ordersArray.getJSONObject(0).getString("user_id");
71+
this.productId =ordersArray.getJSONObject(0).getString("product_id");
72+
73+
6574
}
6675

6776
@Test
@@ -101,9 +110,8 @@ public void testShouldGetOrderUsingOrderId() {
101110

102111
@Test
103112
public void testShouldGetOrdersUsingUserId() {
104-
final String userId = "2";
105113

106-
final APIResponse response = this.request.get("/getOrder", RequestOptions.create().setQueryParam("user_id", userId));
114+
final APIResponse response = this.request.get("/getOrder", RequestOptions.create().setQueryParam("user_id", this.userId));
107115

108116
final Logger logger = new Logger(response);
109117
logger.logResponseDetails();
@@ -113,16 +121,14 @@ public void testShouldGetOrdersUsingUserId() {
113121

114122
assertEquals(response.status(), 200);
115123
assertEquals(responseObject.get("message"), "Order found!!");
116-
assertEquals(ordersArray.getJSONObject(0).get("user_id"), userId);
124+
assertEquals(ordersArray.getJSONObject(0).get("user_id"), this.userId);
117125

118126
}
119127

120128
@Test
121129
public void testShouldGetOrdersUsingProductId() {
122-
final String productId = "332";
123-
124130

125-
final APIResponse response = this.request.get("/getOrder", RequestOptions.create().setQueryParam("product_id", productId));
131+
final APIResponse response = this.request.get("/getOrder", RequestOptions.create().setQueryParam("product_id", this.productId));
126132

127133
final Logger logger = new Logger(response);
128134
logger.logResponseDetails();
@@ -132,10 +138,35 @@ public void testShouldGetOrdersUsingProductId() {
132138

133139
assertEquals(response.status(), 200);
134140
assertEquals(responseObject.get("message"), "Order found!!");
135-
assertEquals(ordersArray.getJSONObject(0).get("product_id"), productId);
141+
assertEquals(ordersArray.getJSONObject(0).get("product_id"), this.productId);
142+
143+
}
144+
145+
@Test
146+
public void testShouldGetOrdersUsingOrderIdProductIdAndUserId() {
147+
148+
final APIResponse response = this.request.get("/getOrder", RequestOptions.create()
149+
.setQueryParam("id", this.orderId)
150+
.setQueryParam("product_id", this.productId)
151+
.setQueryParam("user_id", this.userId));
152+
153+
final Logger logger = new Logger(response);
154+
logger.logResponseDetails();
155+
156+
assertEquals(response.status(), 200);
157+
158+
159+
final JSONObject responseObject = new JSONObject(response.text());
160+
final JSONArray ordersArray = responseObject.getJSONArray("orders");
161+
162+
assertEquals(responseObject.get("message"), "Order found!!");
163+
assertEquals(ordersArray.getJSONObject(0).get("id"), this.orderId);
164+
assertEquals(ordersArray.getJSONObject(0).get("product_id"), this.productId);
165+
assertEquals(ordersArray.getJSONObject(0).get("user_id"), this.userId);
136166

137167
}
138168

169+
139170
@Test
140171
public void testTokenGeneration() {
141172
final APIResponse response = this.request.post("/auth", RequestOptions.create().setData(getCredentials()));
@@ -238,7 +269,7 @@ public void testShouldNotRetrieveDeletedOrder() {
238269

239270
assertEquals(response.status(), 404);
240271

241-
JSONObject jsonObject = new JSONObject(response.text());
272+
final JSONObject jsonObject = new JSONObject(response.text());
242273
assertEquals(jsonObject.get("message"), "No Order found with the given parameters!");
243274
}
244275

src/test/java/io/github/mfaisalkhatri/api/restfulecommerce/SadPathTests.java

-6
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,4 @@ public void testShouldNotFetchOrder_WhenNoOrderExistsForProductId() {
103103
assertEquals(responseObject.get("message"), "No Order found with the given parameters!");
104104
}
105105

106-
@Test
107-
public void testShouldNotGenerateToken_WhenInvalidCredentialsAreGiven() {
108-
109-
110-
}
111-
112106
}

test-suite/testng-restfulecommerce.xml

+2
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@
1919
<classes>
2020
<class name="io.github.mfaisalkhatri.api.restfulecommerce.HappyPathTests">
2121
<methods>
22+
<include name="testShouldPerformHealthCheckOfServer"/>
2223
<include name="testShouldCreateNewOrders"/>
2324
<include name="testShouldGetAllOrders"/>
2425
<include name="testShouldGetOrderUsingOrderId"/>
2526
<include name="testShouldGetOrdersUsingUserId"/>
2627
<include name="testShouldGetOrdersUsingProductId"/>
28+
<include name="testShouldGetOrdersUsingOrderIdProductIdAndUserId"/>
2729
<include name="testTokenGeneration"/>
2830
<include name="testShouldUpdateTheOrderUsingPut"/>
2931
<include name="testShouldUpdateTheOrderUsingPatch"/>

0 commit comments

Comments
 (0)