/
JamQA
/
CargoTest
Обзор
Документация
Войти
/
JamQA
/
CargoTest
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/java/LogisticsTest.java
127 строк
5 KB
d.ikramov
Тестовое
02 июл 2025, 22:11
02 июл 2025, 22:11
88eeb7e
Код
Авторство
О чём код?
import models.CreateOrderRequest; import models.CreateOrderResponse; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; public class LogisticsTest { LogisticsService service = new LogisticsService(); @BeforeEach void clearDataStore() { DataStore.orders.clear(); DataStore.nextOrderId = 1; } @Test @Tag("TC-001") @DisplayName("[Admin] Создание заказа: успешный сценарий") void createOrder() { CreateOrderRequest request = new CreateOrderRequest( "MAN TGS", "Иванов И.И.", "Москва, ул. Ленина 5", "Санкт-Петербург, Невский пр. 1" ); CreateOrderResponse response = service.createOrder(1, 2, DataStore.Role.ADMIN, request); assertNotNull(response); assertEquals("MAN TGS", response.getVehicle()); assertEquals("Иванов И.И.", response.getDriver()); assertEquals("Москва, ул. Ленина 5", response.getFrom()); assertEquals("Санкт-Петербург, Невский пр. 1", response.getTo()); assertEquals(50000, response.getPrice()); } @Test @Tag("") @DisplayName("[Admin] Получение всех заказов: успешный сценарий") void getOrders() { CreateOrderRequest request = new CreateOrderRequest( "MAN TGS", "Иванов И.И.", "Москва, ул. Ленина 5", "Санкт-Петербург, Невский пр. 1", 50000 ); service.createOrder(1, 2, DataStore.Role.ADMIN, request); var orders = service.getOrders(1, 2, DataStore.Role.ADMIN); assertNotNull(orders); assertTrue(orders.size() >= 1); } @Test @Tag("") @DisplayName("[Admin] Обновление заказа: успешный сценарий") void updateOrder() { CreateOrderRequest create = new CreateOrderRequest( "MAN TGS", "Иванов И.И.", "Москва, ул. Ленина 5", "Санкт-Петербург, Невский пр. 1", 50000 ); CreateOrderResponse created = service.createOrder(1, 2, DataStore.Role.ADMIN, create); CreateOrderRequest update = new CreateOrderRequest( "Volvo FH", "Петров П.П.", "Москва, ул. Ленина 5", "Санкт-Петербург, Невский пр. 1", 60000 ); CreateOrderResponse response = service.updateOrder(1, created.getId(), 2, DataStore.Role.ADMIN, update); assertNotNull(response); assertEquals("Volvo FH", response.getVehicle()); assertEquals("Петров П.П.", response.getDriver()); assertEquals(60000, response.getPrice()); } @Test @Tag("") @DisplayName("[Admin] Удаление заказа: успешный сценарий") void deleteOrder() { CreateOrderRequest request = new CreateOrderRequest( "MAN TGS", "Иванов И.И.", "Москва, ул. Ленина 5", "Санкт-Петербург, Невский пр. 1", 50000 ); CreateOrderResponse created = service.createOrder(1, 2, DataStore.Role.ADMIN, request); boolean deleted = service.deleteOrder(1, created.getId(), 2, DataStore.Role.ADMIN); assertTrue(deleted); } @Test @Tag("") @DisplayName("[Admin][Negative] Превышение длины vehicle") void createOrderVehicleTooLong() { CreateOrderRequest request = new CreateOrderRequest( "ОченьОченьОченьОченьДлинноеНазваниеМашины", "Иванов И.И.", "Москва, ул. Ленина 5", "Санкт-Петербург, Невский пр. 1", 50000 ); Exception ex = assertThrows(IllegalArgumentException.class, () -> service.createOrder(1, 2, DataStore.Role.ADMIN, request) ); assertEquals("Длина vehicle должна быть до 20 символов", ex.getMessage()); } @Test @Tag("") @DisplayName("[Admin][Negative] Создание заказа для клиента другой компании") void createOrderForOtherCompanyClient() { CreateOrderRequest request = new CreateOrderRequest( "MAN TGS", "Иванов И.И.", "Москва, ул. Ленина 5", "Санкт-Петербург, Невский пр. 1", 50000 ); Exception ex = assertThrows(RuntimeException.class, () -> service.createOrder(2, 2, DataStore.Role.SUPER_ADMIN, request) ); assertEquals("Access denied", ex.getMessage()); } }