Skip to content

Commit 2533098

Browse files
committed
added example for post api
1 parent 7512d25 commit 2533098

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed
Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,59 @@
11
package io.github.mfaisalkhatri.api.restfulecommerce;
22

33

4+
import com.microsoft.playwright.APIResponse;
5+
import com.microsoft.playwright.options.RequestOptions;
6+
import io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderData;
7+
import org.json.JSONArray;
8+
import org.json.JSONObject;
9+
import org.testng.annotations.BeforeClass;
410
import org.testng.annotations.Test;
511

12+
import java.util.ArrayList;
13+
import java.util.List;
14+
15+
import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.getNewOrder;
16+
import static org.testng.Assert.assertEquals;
17+
import static org.testng.Assert.assertNotNull;
18+
619
public class APITests extends BaseTest{
720

21+
22+
private OrderData orderData;
23+
24+
@BeforeClass
25+
public void setupTest() {
26+
orderData = getNewOrder();
27+
}
828
@Test
929
public void testShouldCreateNewOrders() {
10-
//request.post("/addOrder").body()
30+
31+
int totalOrders = 4;
32+
List<OrderData> orderList = new ArrayList<>();
33+
for (int i = 0; i < totalOrders; i++) {
34+
orderList.add(orderData);
35+
}
36+
37+
APIResponse response = request.post("/addOrder", RequestOptions.create()
38+
.setData(orderList));
39+
assertEquals(response.status(), 201);
40+
41+
final JSONObject responseObject = new JSONObject(response.text());
42+
final JSONArray ordersArray = responseObject.getJSONArray("orders");
43+
44+
assertEquals(responseObject.get("message"), "Orders added successfully!");
45+
assertNotNull(ordersArray.getJSONObject(0).get("id"));
46+
assertEquals(orderList.get(0).getUserId(), ordersArray.getJSONObject(0).get("user_id"));
47+
assertEquals(orderList.get(0).getUserId(), ordersArray.getJSONObject(0).get("product_id"));
1148
}
1249

50+
@Test
51+
public void testShouldGetAllOrders() {
52+
53+
1354

55+
56+
57+
58+
}
1459
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
package io.github.mfaisalkhatri.api.restfulecommerce.testdata;
22

3+
import net.datafaker.Faker;
4+
35
public class OrderDataBuilder {
46

7+
private static final Faker FAKER = new Faker();
8+
9+
public static OrderData getNewOrder() {
10+
int randomInt = FAKER.number().numberBetween(1, 10);
11+
int randomAmount = FAKER.number().numberBetween(400, 903);
512

13+
return OrderData.builder()
14+
.userId(String.valueOf(randomInt))
15+
.productId(String.valueOf(randomInt))
16+
.productName(FAKER.commerce().productName())
17+
.productAmount(randomAmount).qty(randomInt)
18+
.qty(randomInt)
19+
.taxAmt(randomAmount)
20+
.totalAmt(randomAmount)
21+
.build();
22+
}
623
}

0 commit comments

Comments
 (0)