Skip to content

Commit 5c6fadd

Browse files
committed
added sad path tests for delete order
1 parent b934e72 commit 5c6fadd

File tree

3 files changed

+74
-7
lines changed

3 files changed

+74
-7
lines changed

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

+56-7
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
package io.github.mfaisalkhatri.api.restfulecommerce;
22

3+
import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.getNewOrder;
4+
import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.getOrderDataWithMissingProductId;
5+
import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.getPartialUpdatedOrder;
6+
import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.getUpdatedOrder;
7+
import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.TokenBuilder.getCredentials;
8+
import static org.testng.Assert.assertEquals;
9+
10+
import java.util.ArrayList;
11+
import java.util.List;
12+
313
import com.microsoft.playwright.APIResponse;
414
import com.microsoft.playwright.options.RequestOptions;
515
import io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderData;
616
import org.json.JSONObject;
717
import org.testng.annotations.Test;
818

9-
import java.util.ArrayList;
10-
import java.util.List;
11-
12-
import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.*;
13-
import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.TokenBuilder.getCredentials;
14-
import static org.testng.Assert.assertEquals;
15-
1619
public class SadPathTests extends BaseTest {
1720

1821

@@ -242,4 +245,50 @@ public void testShouldNotPartialUpdateOrderWithInvalidToken() {
242245
assertEquals(response.status(), 400);
243246
assertEquals(responseObject.get("message"), "Failed to authenticate token!");
244247
}
248+
249+
@Test
250+
public void testShouldNotDeleteOrder_WhenTokenIsMissing () {
251+
252+
int orderId = 1;
253+
254+
final APIResponse response = this.request.delete ("/deleteOrder/" + orderId);
255+
256+
final JSONObject responseObject = new JSONObject (response.text ());
257+
258+
assertEquals (response.status (), 403);
259+
assertEquals (responseObject.get ("message"), "Forbidden! Token is missing!");
260+
}
261+
262+
@Test
263+
public void testShouldNotDeleteOrder_WhenOrderIdIsNotFound () {
264+
final APIResponse authResponse = this.request.post ("/auth", RequestOptions.create ()
265+
.setData (getCredentials ()));
266+
267+
final JSONObject authResponseObject = new JSONObject (authResponse.text ());
268+
final String token = authResponseObject.get ("token")
269+
.toString ();
270+
271+
final int orderId = 90;
272+
273+
final APIResponse response = this.request.delete ("/deleteOrder/" + orderId, RequestOptions.create ()
274+
.setHeader ("Authorization", token));
275+
276+
final JSONObject responseObject = new JSONObject (response.text ());
277+
278+
assertEquals (response.status (), 404);
279+
assertEquals (responseObject.get ("message"), "No Order found with the given Order Id!");
280+
}
281+
282+
@Test
283+
public void testShouldNotDeleteOrderWithInvalidToken () {
284+
final int orderId = 2;
285+
286+
final APIResponse response = this.request.delete ("/deleteOrder/" + orderId, RequestOptions.create ()
287+
.setHeader ("Authorization", "token273678"));
288+
289+
final JSONObject responseObject = new JSONObject (response.text ());
290+
291+
assertEquals (response.status (), 400);
292+
assertEquals (responseObject.get ("message"), "Failed to authenticate token!");
293+
}
245294
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3+
<suite name="Restful ECommerce Test Suite">
4+
<test name="Testing Happy Path Scenarios of Creating and Updating Orders">
5+
<classes>
6+
<class name="io.github.mfaisalkhatri.api.restfulecommerce.HappyPathTests">
7+
<methods>
8+
<include name="testShouldCreateNewOrders"/>
9+
<include name="testShouldDeleteTheOrder"/>
10+
<include name="testShouldNotRetrieveDeletedOrder"/>
11+
</methods>
12+
</class>
13+
</classes>
14+
</test>
15+
</suite>

test-suite/testng-restfulecommerce.xml

+3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
<include name="testShouldNotPartialUpdateOrder_WhenOrderIdIsNotFound"/>
1919
<include name="testShouldNotPartialUpdateOrder_WhenOrderDetailsAreNotProvided"/>
2020
<include name="testShouldNotPartialUpdateOrderWithInvalidToken"/>
21+
<include name="testShouldNotDeleteOrder_WhenTokenIsMissing"/>
22+
<include name="testShouldNotDeleteOrder_WhenOrderIdIsNotFound"/>
23+
<include name="testShouldNotDeleteOrderWithInvalidToken"/>
2124
</methods>
2225
</class>
2326
</classes>

0 commit comments

Comments
 (0)