fix lint
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2026-01-15 02:36:24 +03:00
parent dea0676169
commit 2e46cc41a1
42 changed files with 940 additions and 301 deletions

View File

@ -156,7 +156,8 @@ test.describe('Фаза 2: Цветовая маркировка', () => {
test.skip(!hasData, 'Нет данных для тестирования');
const colorTrigger = page.locator('[data-testid="color-picker-trigger"]').first();
const firstRow = page.locator('[data-testid^="idea-row-"]').first();
const colorTrigger = firstRow.locator('[data-testid="color-picker-trigger"]');
await colorTrigger.click();
const popover = page.locator('[data-testid="color-picker-popover"]');
@ -170,16 +171,17 @@ test.describe('Фаза 2: Цветовая маркировка', () => {
// Ждём закрытия popover
await expect(popover).toBeHidden({ timeout: 3000 });
// Проверяем что строка получила цветной фон
await page.waitForTimeout(300);
const firstRow = page.locator('[data-testid^="idea-row-"]').first();
const rowStyle = await firstRow.evaluate((el) => {
const bg = getComputedStyle(el).backgroundColor;
return bg;
// Проверяем что строка получила цветной фон (ждем API ответа)
await page.waitForTimeout(500);
// Проверяем что color picker trigger показывает цвет (сам trigger имеет backgroundColor)
const triggerStyle = await colorTrigger.evaluate((el) => {
return getComputedStyle(el).backgroundColor;
});
// Фон не должен быть прозрачным
expect(rowStyle).not.toBe('rgba(0, 0, 0, 0)');
// После выбора цвета, trigger должен показывать выбранный цвет (не transparent)
expect(triggerStyle).not.toBe('transparent');
expect(triggerStyle).not.toBe('rgba(0, 0, 0, 0)');
});
test('Фильтр по цвету открывает dropdown с опциями', async ({ page }) => {

View File

@ -418,10 +418,12 @@ test.describe('Фаза 3.1: Генерация мини-ТЗ', () => {
const editButton = modal.locator('[data-testid="specification-edit-button"]');
await editButton.click();
// Редактируем текст
const textarea = modal.locator('[data-testid="specification-textarea"] textarea');
// Редактируем текст (MUI TextField создает 2 textarea, берем первый видимый)
const textarea = modal.locator(
'[data-testid="specification-textarea"] textarea:not([aria-hidden="true"])',
);
const testText = '\n\n## Дополнительно\nТестовая правка ' + Date.now();
await textarea.fill(await textarea.inputValue() + testText);
await textarea.fill((await textarea.inputValue()) + testText);
// Сохраняем
const saveButton = modal.locator('[data-testid="specification-save-button"]');

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
"cookies": [
{
"name": "AUTH_SESSION_ID",
"value": "c2hWNkNfa0JhY1hOc1ZWTnhLdk1tOTllLnNBM2ZQTk5yRlBKek5lS3FoR093OFloU1ZyU3E1QzFadzVIU1Jta2lMRllqbXJxLW9QSEMxOFkzZWZDZDl3UHVKZUVaU0VvWWJTOVRNTHJJSUpZc1hB.keycloak-keycloakx-0-40655",
"value": "aDItMWtlTDNkMEdGUGE1TTFqYmxvOFNyLjhnZHRLSUVtbW5ZZmp1RkpBc2lmdnROSWVIY3RLRXdlZmloN2I0WmV4UTRlVWY5dnRYVFZZNHlSdlE2OTdEVVJHT2NVNE11cGd1eVQ4RzVseUxnYThn.keycloak-keycloakx-0-24485",
"domain": "auth.vigdorov.ru",
"path": "/realms/team-planner/",
"expires": -1,
@ -12,17 +12,17 @@
},
{
"name": "KC_AUTH_SESSION_HASH",
"value": "\"gFqhBG3DVcCfpsSCaidKwK+Ziy23r6ddJ/rdb/jKDs8\"",
"value": "\"w/aalxg9yi+TKbWYZgi8KimwA5UYaExWPPJvZT0MfoE\"",
"domain": "auth.vigdorov.ru",
"path": "/realms/team-planner/",
"expires": 1768427781.187379,
"expires": 1768433639.802328,
"httpOnly": false,
"secure": true,
"sameSite": "None"
},
{
"name": "KEYCLOAK_IDENTITY",
"value": "eyJhbGciOiJIUzUxMiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI2ZDRjMWU2My1hNTllLTQ0NjAtYThkYy05YTRiZjFjMTRjMDMifQ.eyJleHAiOjE3Njg0NjM3MjMsImlhdCI6MTc2ODQyNzcyMywianRpIjoiNGRmN2U5MzQtY2Q4Mi1hYTYwLTViNTUtMWFhZjVlMWViODJjIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnZpZ2Rvcm92LnJ1L3JlYWxtcy90ZWFtLXBsYW5uZXIiLCJzdWIiOiIyZDJiOTRmMC0xZWQ1LTQ0MTUtYmM4MC1jZTRlZWMxNDQ1NGQiLCJ0eXAiOiJTZXJpYWxpemVkLUlEIiwic2lkIjoic2hWNkNfa0JhY1hOc1ZWTnhLdk1tOTllIiwic3RhdGVfY2hlY2tlciI6Im9Ic2R0czlWR0RvV19EcjcxbG4tM2FjWDR1SmJuMWtzdHRCcVpzRnlPbDQifQ.Nbi8YdiZddWqY4rsS7b_hin9cbTedp2bOQ11I25tLdTH6VGGJaCP1T59pYd3OlqyDYPoD97uOBiobKTues1rwg",
"value": "eyJhbGciOiJIUzUxMiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI2ZDRjMWU2My1hNTllLTQ0NjAtYThkYy05YTRiZjFjMTRjMDMifQ.eyJleHAiOjE3Njg0Njk1ODEsImlhdCI6MTc2ODQzMzU4MSwianRpIjoiOGVhZGVkMjgtZTMxNC1hZWMyLWJmNTYtMjJlMDBmM2YzZGM1IiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnZpZ2Rvcm92LnJ1L3JlYWxtcy90ZWFtLXBsYW5uZXIiLCJzdWIiOiIyZDJiOTRmMC0xZWQ1LTQ0MTUtYmM4MC1jZTRlZWMxNDQ1NGQiLCJ0eXAiOiJTZXJpYWxpemVkLUlEIiwic2lkIjoiaDItMWtlTDNkMEdGUGE1TTFqYmxvOFNyIiwic3RhdGVfY2hlY2tlciI6ImxDcld3azFTQTJCSm1VaDlXNGdNbzRwLVBOc3h2UHVFUlZTWW1PLWtPSGMifQ.i_RwpCuiyyychgU4ODrBrgu-JA9R2TMyMM2q78LunCOkTXGCUdruGqPi-HuNk0lwH3mMo0Lr5Z8PGVBhalsNEw",
"domain": "auth.vigdorov.ru",
"path": "/realms/team-planner/",
"expires": -1,
@ -32,10 +32,10 @@
},
{
"name": "KEYCLOAK_SESSION",
"value": "gFqhBG3DVcCfpsSCaidKwK-Ziy23r6ddJ_rdb_jKDs8",
"value": "w_aalxg9yi-TKbWYZgi8KimwA5UYaExWPPJvZT0MfoE",
"domain": "auth.vigdorov.ru",
"path": "/realms/team-planner/",
"expires": 1768463723.271756,
"expires": 1768469581.267433,
"httpOnly": false,
"secure": true,
"sameSite": "None"