diff --git a/src/main/java/com/example/swttesting/Orders.java b/src/main/java/com/example/swttesting/Orders.java index afcf621..2de67a0 100644 --- a/src/main/java/com/example/swttesting/Orders.java +++ b/src/main/java/com/example/swttesting/Orders.java @@ -25,6 +25,14 @@ public Orders(String orderDate, String orderStatus, double orderTotal, ShoppingC } + public Orders(String orderDate, String orderStatus, double orderTotal, ShoppingCart shoppingCart,int orderID) { + this.orderID = orderID; + this.orderDate = orderDate; + this.orderStatus = orderStatus; + this.orderTotal = orderTotal; + this.shoppingCart = shoppingCart; + + } public int getOrderID() { return orderID; } diff --git a/src/test/java/com/example/swttesting/OrdersTest.java b/src/test/java/com/example/swttesting/OrdersTest.java index b670195..bb2d84a 100644 --- a/src/test/java/com/example/swttesting/OrdersTest.java +++ b/src/test/java/com/example/swttesting/OrdersTest.java @@ -1,54 +1,181 @@ package com.example.swttesting; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - +import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; +@DisplayName("Orders class tests") class OrdersTest { + + private Orders order; + private Orders order2; + private ShoppingCart shoppingCart; + private ShoppingCart shoppingCart2; + @BeforeEach void setUp() { + shoppingCart = new ShoppingCart(); + order = new Orders("2024-04-23 10:00:00", "confirmed", 1012.54, shoppingCart,0); + shoppingCart2 = new ShoppingCart(); + order2 = new Orders("2024-06-13 09:00:00", "confirmed", 1600.54, shoppingCart2); } - @Test - void getOrderID() { - + @AfterEach + void tearDown() { + order = null; + order2=null; + shoppingCart2 = null; + shoppingCart = null; } - @Test - void setOrderID() { - } + @Nested + @Order(1) + class ConstructorTests { - @Test - void getOrderDate() { + @Test + @DisplayName("Test Constructor with Valid Input") + void testConstructor_ValidInput() { + assertEquals(0, order.getOrderID(), "OrderID should be set correctly"); + assertEquals("2024-04-23 10:00:00", order.getOrderDate(), "OrderDate should be set correctly"); + assertEquals("confirmed", order.getOrderStatus(), "OrderStatus should be set correctly"); + assertEquals(1012.54, order.getOrderTotal(), "OrderTotal should be set correctly"); + assertEquals(shoppingCart, order.getShoppingCart(), "ShoppingCart should be set correctly"); + } } - @Test - void setOrderDate() { - } + @Nested + @Order(2) + class GetterTests { - @Test - void getOrderStatus() { - } + @Test + @DisplayName("Test Get OrderID") + void testGetOrderID() { + assertEquals(0, order.getOrderID(), "OrderID should be retrieved correctly"); + } + + @Test + @DisplayName("Test Get OrderDate") + void testGetOrderDate() { + assertEquals("2024-04-23 10:00:00", order.getOrderDate(), "OrderDate should be retrieved correctly"); + } + + @Test + @DisplayName("Test Get OrderStatus") + void testGetOrderStatus() { + assertEquals("confirmed", order.getOrderStatus(), "OrderStatus should be retrieved correctly"); + } - @Test - void setOrderStatus() { + @Test + @DisplayName("Test Get OrderTotal") + void testGetOrderTotal() { + assertEquals(1012.54, order.getOrderTotal(), "OrderTotal should be retrieved correctly"); + } + + @Test + @DisplayName("Test Get ShoppingCart") + void testGetShoppingCart() { + assertEquals(shoppingCart, order.getShoppingCart(), "ShoppingCart should be retrieved correctly"); + } } - @Test - void getOrderTotal() { + @Nested + @Order(3) + class GetterTests2 { + + @Test + @DisplayName("Test Get OrderDate") + void testGetOrderDate() { + assertEquals("2024-06-13 09:00:00", order2.getOrderDate(), "OrderDate should be retrieved correctly"); + } + + @Test + @DisplayName("Test Get OrderStatus") + void testGetOrderStatus() { + assertEquals("confirmed", order2.getOrderStatus(), "OrderStatus should be retrieved correctly"); + } + + @Test + @DisplayName("Test Get OrderTotal") + void testGetOrderTotal() { + assertEquals(1600.54, order2.getOrderTotal(), "OrderTotal should be retrieved correctly"); + } + + @Test + @DisplayName("Test Get ShoppingCart") + void testGetShoppingCart() { + assertEquals(shoppingCart2, order2.getShoppingCart(), "ShoppingCart should be retrieved correctly"); + } } - @Test - void setOrderTotal() { + + @Nested + @Order(4) + class SetterTests { + + @Test + @DisplayName("Test Set OrderID") + void testSetOrderID() { + order.setOrderID(1); + assertEquals(1, order.getOrderID(), "OrderID should be updated correctly"); + } + + @Test + @DisplayName("Test Set OrderDate") + void testSetOrderDate() { + order.setOrderDate("2024-04-24 10:00:00"); + assertEquals("2024-04-24 10:00:00", order.getOrderDate(), "OrderDate should be updated correctly"); + } + + @Test + @DisplayName("Test Set OrderStatus") + void testSetOrderStatus() { + order.setOrderStatus("pending"); + assertEquals("pending", order.getOrderStatus(), "OrderStatus should be updated correctly"); + } + + @Test + @DisplayName("Test Set OrderTotal") + void testSetOrderTotal() { + order.setOrderTotal(1020.55); + assertEquals(1020.55, order.getOrderTotal(), "OrderTotal should be updated correctly"); + } + + @Test + @DisplayName("Test Set ShoppingCart") + void testSetShoppingCart() { + ShoppingCart newShoppingCart = new ShoppingCart(); + order.setShoppingCart(newShoppingCart); + assertEquals(newShoppingCart, order.getShoppingCart(), "ShoppingCart should be updated correctly"); + } } - @Test - void getShoppingCart() { + @Nested + @Order(5) + class CardVerificationTests { + + @Test + @DisplayName("Test Verify Card with Valid Card") + void testVerifyCard_ValidCard() { + assertTrue(Orders.verifyCard("1234567890123456", "123", "08", "2024"), "Valid card should pass verification"); + } + + @Test + @DisplayName("Test Verify Card with Invalid Card") + void testVerifyCard_InvalidCard() { + assertFalse(Orders.verifyCard("1234567890123456", "123", "04", "2023"), "Invalid card should fail verification"); + } } - @Test - void setShoppingCart() { + @Nested + @Order(6) + class CurrentDateTimeTests { + + @Test + @DisplayName("Test Get Current DateTime As String") + void testGetCurrentDateTimeAsString() { + String currentDateTime = Orders.getCurrentDateTimeAsString(); + assertNotNull(currentDateTime, "Current date and time should not be null"); + assertTrue(currentDateTime.matches("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}"), "Current date and time should be in the correct format"); + } } -} \ No newline at end of file +} diff --git a/target/classes/com/example/swttesting/Orders.class b/target/classes/com/example/swttesting/Orders.class index 3dae8ab..7a79c0b 100644 Binary files a/target/classes/com/example/swttesting/Orders.class and b/target/classes/com/example/swttesting/Orders.class differ diff --git a/target/classes/com/example/swttesting/shoppingCartController.class b/target/classes/com/example/swttesting/shoppingCartController.class index e1d0b18..f02f0fa 100644 Binary files a/target/classes/com/example/swttesting/shoppingCartController.class and b/target/classes/com/example/swttesting/shoppingCartController.class differ diff --git a/target/test-classes/com/example/swttesting/OrdersTest$CardVerificationTests.class b/target/test-classes/com/example/swttesting/OrdersTest$CardVerificationTests.class new file mode 100644 index 0000000..81ab385 Binary files /dev/null and b/target/test-classes/com/example/swttesting/OrdersTest$CardVerificationTests.class differ diff --git a/target/test-classes/com/example/swttesting/OrdersTest$ConstructorTests.class b/target/test-classes/com/example/swttesting/OrdersTest$ConstructorTests.class new file mode 100644 index 0000000..a124a0b Binary files /dev/null and b/target/test-classes/com/example/swttesting/OrdersTest$ConstructorTests.class differ diff --git a/target/test-classes/com/example/swttesting/OrdersTest$CurrentDateTimeTests.class b/target/test-classes/com/example/swttesting/OrdersTest$CurrentDateTimeTests.class new file mode 100644 index 0000000..242df70 Binary files /dev/null and b/target/test-classes/com/example/swttesting/OrdersTest$CurrentDateTimeTests.class differ diff --git a/target/test-classes/com/example/swttesting/OrdersTest$GetterTests.class b/target/test-classes/com/example/swttesting/OrdersTest$GetterTests.class new file mode 100644 index 0000000..06791c1 Binary files /dev/null and b/target/test-classes/com/example/swttesting/OrdersTest$GetterTests.class differ diff --git a/target/test-classes/com/example/swttesting/OrdersTest$GetterTests2.class b/target/test-classes/com/example/swttesting/OrdersTest$GetterTests2.class new file mode 100644 index 0000000..b0f5c0a Binary files /dev/null and b/target/test-classes/com/example/swttesting/OrdersTest$GetterTests2.class differ diff --git a/target/test-classes/com/example/swttesting/OrdersTest$SetterTests.class b/target/test-classes/com/example/swttesting/OrdersTest$SetterTests.class new file mode 100644 index 0000000..210cc8e Binary files /dev/null and b/target/test-classes/com/example/swttesting/OrdersTest$SetterTests.class differ diff --git a/target/test-classes/com/example/swttesting/OrdersTest.class b/target/test-classes/com/example/swttesting/OrdersTest.class index 2f8c6cb..4eddb35 100644 Binary files a/target/test-classes/com/example/swttesting/OrdersTest.class and b/target/test-classes/com/example/swttesting/OrdersTest.class differ