diff --git a/src/test/java/io/github/mfaisalkhatri/api/restfulecommerce/SadPathTests.java b/src/test/java/io/github/mfaisalkhatri/api/restfulecommerce/SadPathTests.java index 6acf8a6..03ea29f 100644 --- a/src/test/java/io/github/mfaisalkhatri/api/restfulecommerce/SadPathTests.java +++ b/src/test/java/io/github/mfaisalkhatri/api/restfulecommerce/SadPathTests.java @@ -1,18 +1,21 @@ package io.github.mfaisalkhatri.api.restfulecommerce; +import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.getNewOrder; +import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.getOrderDataWithMissingProductId; +import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.getPartialUpdatedOrder; +import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.getUpdatedOrder; +import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.TokenBuilder.getCredentials; +import static org.testng.Assert.assertEquals; + +import java.util.ArrayList; +import java.util.List; + import com.microsoft.playwright.APIResponse; import com.microsoft.playwright.options.RequestOptions; import io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderData; import org.json.JSONObject; import org.testng.annotations.Test; -import java.util.ArrayList; -import java.util.List; - -import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.OrderDataBuilder.*; -import static io.github.mfaisalkhatri.api.restfulecommerce.testdata.TokenBuilder.getCredentials; -import static org.testng.Assert.assertEquals; - public class SadPathTests extends BaseTest { @@ -242,4 +245,50 @@ public void testShouldNotPartialUpdateOrderWithInvalidToken() { assertEquals(response.status(), 400); assertEquals(responseObject.get("message"), "Failed to authenticate token!"); } + + @Test + public void testShouldNotDeleteOrder_WhenTokenIsMissing () { + + int orderId = 1; + + final APIResponse response = this.request.delete ("/deleteOrder/" + orderId); + + final JSONObject responseObject = new JSONObject (response.text ()); + + assertEquals (response.status (), 403); + assertEquals (responseObject.get ("message"), "Forbidden! Token is missing!"); + } + + @Test + public void testShouldNotDeleteOrder_WhenOrderIdIsNotFound () { + final APIResponse authResponse = this.request.post ("/auth", RequestOptions.create () + .setData (getCredentials ())); + + final JSONObject authResponseObject = new JSONObject (authResponse.text ()); + final String token = authResponseObject.get ("token") + .toString (); + + final int orderId = 90; + + final APIResponse response = this.request.delete ("/deleteOrder/" + orderId, RequestOptions.create () + .setHeader ("Authorization", token)); + + final JSONObject responseObject = new JSONObject (response.text ()); + + assertEquals (response.status (), 404); + assertEquals (responseObject.get ("message"), "No Order found with the given Order Id!"); + } + + @Test + public void testShouldNotDeleteOrderWithInvalidToken () { + final int orderId = 2; + + final APIResponse response = this.request.delete ("/deleteOrder/" + orderId, RequestOptions.create () + .setHeader ("Authorization", "token273678")); + + final JSONObject responseObject = new JSONObject (response.text ()); + + assertEquals (response.status (), 400); + assertEquals (responseObject.get ("message"), "Failed to authenticate token!"); + } } diff --git a/test-suite/testng-restfulecommerce-deleteorders.xml b/test-suite/testng-restfulecommerce-deleteorders.xml new file mode 100644 index 0000000..b467182 --- /dev/null +++ b/test-suite/testng-restfulecommerce-deleteorders.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/test-suite/testng-restfulecommerce.xml b/test-suite/testng-restfulecommerce.xml index 0488e9b..96d9c59 100644 --- a/test-suite/testng-restfulecommerce.xml +++ b/test-suite/testng-restfulecommerce.xml @@ -18,6 +18,9 @@ + + +