diff --git a/src/test/java/com/DesktopApplicationClientJava/validation/FirstNameValidatorTest.java b/src/test/java/com/DesktopApplicationClientJava/validation/FirstNameValidatorTest.java index 4a1aef5..63bf61e 100644 --- a/src/test/java/com/DesktopApplicationClientJava/validation/FirstNameValidatorTest.java +++ b/src/test/java/com/DesktopApplicationClientJava/validation/FirstNameValidatorTest.java @@ -4,17 +4,29 @@ import static org.junit.jupiter.api.Assertions.assertNull; import com.DesktopApplicationClientJava.validation.utils.ErrorMessages; +import io.qameta.allure.Epic; +import io.qameta.allure.Feature; +import io.qameta.allure.Story; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +@Epic("Проверка ввода") +@Feature("FirstNameValidator") +@Story("Валидация имени") +@Tag("role:none") +@DisplayName("Проверка имени") public class FirstNameValidatorTest { private static final String FIELD_NAME = FirstNameValidator.FIELD_NAME; @Test + @DisplayName("Пустое имя отклоняется") void emptyFirstNameIsRejected() { assertEquals(ErrorMessages.Required, FirstNameValidator.validate("")); } @Test + @DisplayName("Короткое имя отклоняется") void shortFirstNameIsRejected() { assertEquals( ErrorMessages.MinLength(FIELD_NAME, FirstNameValidator.MIN_LENGTH), @@ -22,6 +34,7 @@ void shortFirstNameIsRejected() { } @Test + @DisplayName("Корректное имя принимается") void validFirstNameIsAccepted() { assertNull(FirstNameValidator.validate("Антон")); } diff --git a/src/test/java/com/DesktopApplicationClientJava/validation/LastNameValidatorTest.java b/src/test/java/com/DesktopApplicationClientJava/validation/LastNameValidatorTest.java index cef7cd8..44ba0dc 100644 --- a/src/test/java/com/DesktopApplicationClientJava/validation/LastNameValidatorTest.java +++ b/src/test/java/com/DesktopApplicationClientJava/validation/LastNameValidatorTest.java @@ -4,17 +4,29 @@ import static org.junit.jupiter.api.Assertions.assertNull; import com.DesktopApplicationClientJava.validation.utils.ErrorMessages; +import io.qameta.allure.Epic; +import io.qameta.allure.Feature; +import io.qameta.allure.Story; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +@Epic("Проверка ввода") +@Feature("LastNameValidator") +@Story("Валидация фамилии") +@Tag("role:none") +@DisplayName("Проверка фамилии") public class LastNameValidatorTest { private static final String FIELD_NAME = LastNameValidator.FIELD_NAME; @Test + @DisplayName("Пустая фамилия отклоняется") void emptyLastNameIsRejected() { assertEquals(ErrorMessages.Required, LastNameValidator.validate("")); } @Test + @DisplayName("Короткая фамилия отклоняется") void shortLastNameIsRejected() { assertEquals( ErrorMessages.MinLength(FIELD_NAME, LastNameValidator.MIN_LENGTH), @@ -22,6 +34,7 @@ void shortLastNameIsRejected() { } @Test + @DisplayName("Корректная фамилия принимается") void validLastNameIsAccepted() { assertNull(LastNameValidator.validate("Антонов")); } diff --git a/src/test/java/com/DesktopApplicationClientJava/validation/PasswordValidatorTest.java b/src/test/java/com/DesktopApplicationClientJava/validation/PasswordValidatorTest.java index d2f0009..c38eac2 100644 --- a/src/test/java/com/DesktopApplicationClientJava/validation/PasswordValidatorTest.java +++ b/src/test/java/com/DesktopApplicationClientJava/validation/PasswordValidatorTest.java @@ -4,17 +4,29 @@ import static org.junit.jupiter.api.Assertions.assertNull; import com.DesktopApplicationClientJava.validation.utils.ErrorMessages; +import io.qameta.allure.Epic; +import io.qameta.allure.Feature; +import io.qameta.allure.Story; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +@Epic("Проверка ввода") +@Feature("PasswordValidator") +@Story("Валидация пароля") +@Tag("role:none") +@DisplayName("Проверка пароля") public class PasswordValidatorTest { private static final String FIELD_NAME = PasswordValidator.FIELD_NAME; @Test + @DisplayName("Пустой пароль отклоняется") void emptyPasswordIsRejected() { assertEquals(ErrorMessages.Required, PasswordValidator.validate("")); } @Test + @DisplayName("Короткий пароль отклоняется") void shortPasswordIsRejected() { assertEquals( ErrorMessages.MinLength(FIELD_NAME, PasswordValidator.MIN_LENGTH), @@ -22,6 +34,7 @@ void shortPasswordIsRejected() { } @Test + @DisplayName("Пароль из восьми символов принимается") void exactlyEightCharPasswordIsAccepted() { assertNull(PasswordValidator.validate("12345678")); } diff --git a/src/test/java/mapper/FileMapperTest.java b/src/test/java/mapper/FileMapperTest.java index d29e3cb..4528a14 100644 --- a/src/test/java/mapper/FileMapperTest.java +++ b/src/test/java/mapper/FileMapperTest.java @@ -5,12 +5,23 @@ import com.DesktopApplicationClientJava.Api.Dto.response.FileDto; import com.DesktopApplicationClientJava.entities.FileInfo; import com.DesktopApplicationClientJava.mapper.FileMapper; +import io.qameta.allure.Epic; +import io.qameta.allure.Feature; +import io.qameta.allure.Story; import java.util.UUID; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +@Epic("Отображение данных") +@Feature("FileMapper") +@Story("Преобразование файла в сущность") +@Tag("role:none") +@DisplayName("Преобразование файла") class FileMapperTest { @Test + @DisplayName("Все поля файла преобразуются") void mapsAllFields() { UUID uuid = UUID.randomUUID(); FileDto dto = new FileDto(uuid, "отчёт.pdf", "application/pdf", 12345L); diff --git a/src/test/java/mapper/ResourceMapperTest.java b/src/test/java/mapper/ResourceMapperTest.java index 9fafa94..1518d6a 100644 --- a/src/test/java/mapper/ResourceMapperTest.java +++ b/src/test/java/mapper/ResourceMapperTest.java @@ -7,14 +7,25 @@ import com.DesktopApplicationClientJava.Api.Dto.response.ResourceDto; import com.DesktopApplicationClientJava.entities.Resource; import com.DesktopApplicationClientJava.mapper.ResourceMapper; +import io.qameta.allure.Epic; +import io.qameta.allure.Feature; +import io.qameta.allure.Story; import java.time.LocalDateTime; import java.util.List; import java.util.UUID; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +@Epic("Отображение данных") +@Feature("ResourceMapper") +@Story("Преобразование ресурса в сущность") +@Tag("role:none") +@DisplayName("Преобразование ресурса") class ResourceMapperTest { @Test + @DisplayName("Все поля ресурса с файлами преобразуются") void mapsAllFieldsIncludingFiles() { UUID uuid = UUID.randomUUID(); UUID fileUuid = UUID.randomUUID(); @@ -42,6 +53,7 @@ void mapsAllFieldsIncludingFiles() { } @Test + @DisplayName("Отсутствие файлов даёт пустой список") void nullFilesBecomeEmptyList() { ResourceDto dto = new ResourceDto( diff --git a/src/test/java/mapper/UserDtoParsingTest.java b/src/test/java/mapper/UserDtoParsingTest.java index 1de23bd..71ba02d 100644 --- a/src/test/java/mapper/UserDtoParsingTest.java +++ b/src/test/java/mapper/UserDtoParsingTest.java @@ -6,13 +6,24 @@ import com.DesktopApplicationClientJava.Api.Dto.response.UserDto; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import io.qameta.allure.Epic; +import io.qameta.allure.Feature; +import io.qameta.allure.Story; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +@Epic("Отображение данных") +@Feature("UserDto") +@Story("Разбор контракта пользователя") +@Tag("role:none") +@DisplayName("Разбор пользователя из JSON") class UserDtoParsingTest { private final ObjectMapper mapper = new ObjectMapper().registerModule(new JavaTimeModule()); @Test + @DisplayName("Контракт бэкенда разбирается один к одному") void parsesBackendContractOneToOne() throws Exception { String json = """ @@ -36,6 +47,7 @@ void parsesBackendContractOneToOne() throws Exception { } @Test + @DisplayName("Неизвестные поля завершаются ошибкой") void unknownPropertiesFailFast() { String json = "{\"uuid\": null, \"unexpectedField\": 1}"; diff --git a/src/test/java/mapper/UserMapperTest.java b/src/test/java/mapper/UserMapperTest.java index 66486b8..d28921f 100644 --- a/src/test/java/mapper/UserMapperTest.java +++ b/src/test/java/mapper/UserMapperTest.java @@ -6,13 +6,24 @@ import com.DesktopApplicationClientJava.entities.Role; import com.DesktopApplicationClientJava.entities.User; import com.DesktopApplicationClientJava.mapper.UserMapper; +import io.qameta.allure.Epic; +import io.qameta.allure.Feature; +import io.qameta.allure.Story; import java.time.LocalDateTime; import java.util.UUID; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +@Epic("Отображение данных") +@Feature("UserMapper") +@Story("Преобразование пользователя в сущность") +@Tag("role:none") +@DisplayName("Преобразование пользователя") class UserMapperTest { @Test + @DisplayName("Поля бэкенда преобразуются в сущность пользователя") void mapsBackendLowercaseNamesToCamelCaseFields() { UUID uuid = UUID.randomUUID(); UserDto dto =