Files
java-design-patterns/clean-architecture/src/test/java/com/iluwatar/cleanarchitecture/CartControllerTest.java
T

43 lines
1.3 KiB
Java

package com.iluwatar.cleanarchitecture;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
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"));
}
}