feat: Clean Architecture (#3235)

* #3230 - Clean Architecture.

* #3230 - Clean Architecture.

* #3230 - Clean Architecture.

* #3230 - Clean Architecture.

* #3230 - Clean Architecture Sonar.

* #3230 - Clean Architecture Sonar.

* #3230 - Clean Architecture Sonar.

* #3230 - Clean Architecture Sonar.

---------

Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com>
This commit is contained in:
Suchismita Deb
2025-04-05 12:10:55 +05:30
committed by GitHub
parent d82328338d
commit f7e717dcad
20 changed files with 1303 additions and 3 deletions
@@ -0,0 +1,41 @@
package com.iluwatar.cleanarchitecture;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CartControllerTest {
private ShoppingCartService shoppingCartUseCase;
private CartController cartController;
@BeforeEach
public void setUp() {
ProductRepository productRepository = new InMemoryProductRepository();
CartRepository cartRepository = new InMemoryCartRepository();
OrderRepository orderRepository = new InMemoryOrderRepository();
shoppingCartUseCase = new ShoppingCartService(productRepository, cartRepository, orderRepository);
cartController = new CartController(shoppingCartUseCase);
}
@Test
void testRemoveItemFromCart() {
cartController.addItemToCart("user123", "1", 1);
cartController.addItemToCart("user123", "2", 2);
assertEquals(2000.0, cartController.calculateTotal("user123"));
cartController.removeItemFromCart("user123", "1");
assertEquals(1000.0, cartController.calculateTotal("user123"));
}
@Test
void testRemoveNonExistentItem() {
cartController.addItemToCart("user123", "2", 2);
cartController.removeItemFromCart("user123", "999");
assertEquals(1000.0, cartController.calculateTotal("user123"));
}
}