1919import com .DesktopApplicationClientJava .session .Session ;
2020import com .DesktopApplicationClientJava .ui .FxTestBase ;
2121import com .DesktopApplicationClientJava .utils .ControllerWiring ;
22+ import io .qameta .allure .Epic ;
23+ import io .qameta .allure .Feature ;
24+ import io .qameta .allure .Story ;
2225import java .util .List ;
2326import java .util .UUID ;
2427import java .util .concurrent .TimeUnit ;
4043import org .junit .jupiter .api .BeforeAll ;
4144import org .junit .jupiter .api .BeforeEach ;
4245import org .junit .jupiter .api .Disabled ;
46+ import org .junit .jupiter .api .DisplayName ;
47+ import org .junit .jupiter .api .Tag ;
4348import org .junit .jupiter .api .Test ;
4449import org .testfx .api .FxRobot ;
4550import org .testfx .api .FxToolkit ;
5459 * the default build and CI (see surefire {@code excludedGroups} in pom.xml). Run explicitly: {@code
5560 * mvn test -Dgroups=integration -DexcludedGroups= -Dtest=ResourceListIntegrationTest}.
5661 */
62+ @ Epic ("Ресурс" )
63+ @ Feature ("Список ресурсов" )
64+ @ Story ("Страница списка ресурсов" )
65+ @ DisplayName ("Список ресурсов через живой API" )
5766class ResourceListIntegrationTest extends IntegrationTestCase {
5867
5968 private final FxRobot robot = new FxRobot ();
@@ -103,6 +112,8 @@ void setUpServices() {
103112 }
104113
105114 @ Test
115+ @ Tag ("role:admin" )
116+ @ DisplayName ("Пустой поиск показывает заглушку и нулевой счётчик" )
106117 void emptySearchShowsPlaceholderAndZeroCounter () {
107118 loginAsAdmin ();
108119 loadListPage (robot );
@@ -116,6 +127,8 @@ void emptySearchShowsPlaceholderAndZeroCounter() {
116127 }
117128
118129 @ Test
130+ @ Tag ("role:admin" )
131+ @ DisplayName ("Созданный ресурс находится поиском" )
119132 void seededResourceAppearsInSearch () {
120133 loginAsAdmin ();
121134 String title = "IT ResourceList " + UUID .randomUUID ();
@@ -136,6 +149,8 @@ void seededResourceAppearsInSearch() {
136149 }
137150
138151 @ Test
152+ @ Tag ("role:admin" )
153+ @ DisplayName ("Сортировка по названию упорядочивает ресурсы" )
139154 void sortByTitleAscOrdersSeededResources () {
140155 loginAsAdmin ();
141156 String prefix = "IT ResourceSort " + UUID .randomUUID () + " " ;
@@ -161,6 +176,8 @@ void sortByTitleAscOrdersSeededResources() {
161176 }
162177
163178 @ Test
179+ @ Tag ("role:admin" )
180+ @ DisplayName ("Поиск без входа показывает ошибку и пустую таблицу" )
164181 void unauthenticatedSearchShowsErrorAndLeavesTableEmpty () {
165182 // Fresh session, no login: the request cannot be authenticated.
166183 session .clear ();
@@ -182,6 +199,8 @@ void unauthenticatedSearchShowsErrorAndLeavesTableEmpty() {
182199 * that lenient contract: unknown sort fields must still return 200 ordered by creation time.
183200 */
184201 @ Test
202+ @ Tag ("role:admin" )
203+ @ DisplayName ("Неизвестное поле сортировки откатывается к дате создания" )
185204 void invalidSortFieldFallsBackToCreatedAtDesc () {
186205 loginAsAdmin ();
187206 String prefix = "IT SortFallback " + UUID .randomUUID () + " " ;
@@ -206,6 +225,8 @@ void invalidSortFieldFallsBackToCreatedAtDesc() {
206225 * модалку, подтверждение закрывает её и удаляет ресурс на бэкенде.
207226 */
208227 @ Test
228+ @ Tag ("role:admin" )
229+ @ DisplayName ("Удаление через модалку убирает ресурс с бэкенда" )
209230 void deleteCycleRemovesResourceFromBackend () {
210231 loginAsAdmin ();
211232 String title = "IT ResourceDelete " + UUID .randomUUID ();
@@ -240,6 +261,8 @@ void deleteCycleRemovesResourceFromBackend() {
240261 }
241262
242263 @ Test
264+ @ Tag ("role:moder" )
265+ @ DisplayName ("Удаление глазами модератора" )
243266 @ Disabled ("Невоспроизводим: в дев-бэкенде засеян только ADMIN, сида MODER нет" )
244267 void deleteCycleAsModerator () {
245268 // Живой цикл удаления за МОДЕР (не админа) невоспроизводим: интеграционное окружение
@@ -255,6 +278,8 @@ private void loginAsAdmin() {
255278 }
256279
257280 @ Test
281+ @ Tag ("role:admin" )
282+ @ DisplayName ("Поиск по описанию находит ресурс" )
258283 void searchByDescriptionFindsSeededResource () {
259284 loginAsAdmin ();
260285 String description = "IT описание " + UUID .randomUUID ();
@@ -277,6 +302,8 @@ void searchByDescriptionFindsSeededResource() {
277302 }
278303
279304 @ Test
305+ @ Tag ("role:admin" )
306+ @ DisplayName ("Отмена удаления оставляет ресурс на бэкенде" )
280307 void cancelledDeleteKeepsResourceOnBackend () {
281308 loginAsAdmin ();
282309 String title = "IT ResourceCancel " + UUID .randomUUID ();
0 commit comments