diff --git a/web/frontend/src/__tests__/filter-persistence.test.ts b/web/frontend/src/__tests__/filter-persistence.test.ts index bc40bf0..95114ee 100644 --- a/web/frontend/src/__tests__/filter-persistence.test.ts +++ b/web/frontend/src/__tests__/filter-persistence.test.ts @@ -673,8 +673,8 @@ describe('KIN-015: TaskDetail — Edit button и форма редактиров }) await flushPromises() - const editBtn = wrapper.findAll('button').find(b => b.text().includes('Edit')) - expect(editBtn?.exists(), 'Кнопка Edit не должна быть видна для in_progress').toBe(false) + const hasEditBtn = wrapper.findAll('button').some(b => b.text().includes('Edit')) + expect(hasEditBtn, 'Кнопка Edit не должна быть видна для in_progress').toBe(false) }) it('Кнопка Edit скрыта для статуса done', async () => { @@ -688,8 +688,8 @@ describe('KIN-015: TaskDetail — Edit button и форма редактиров }) await flushPromises() - const editBtn = wrapper.findAll('button').find(b => b.text().includes('Edit')) - expect(editBtn?.exists(), 'Кнопка Edit не должна быть видна для done').toBe(false) + const hasEditBtn = wrapper.findAll('button').some(b => b.text().includes('Edit')) + expect(hasEditBtn, 'Кнопка Edit не должна быть видна для done').toBe(false) }) it('Клик по Edit открывает форму с заполненным заголовком задачи', async () => { @@ -729,12 +729,10 @@ describe('KIN-015: TaskDetail — Edit button и форма редактиров await editBtn!.trigger('click') await flushPromises() - // Меняем только title + // Меняем только title и сабмитим форму const titleInput = wrapper.find('input:not([type])') await titleInput.setValue('Новый заголовок') - - const saveBtn = wrapper.findAll('button').find(b => b.text().includes('Save')) - await saveBtn!.trigger('click') + await wrapper.find('form').trigger('submit') await flushPromises() expect(api.patchTask).toHaveBeenCalledWith('KIN-015', { title: 'Новый заголовок' }) @@ -751,14 +749,12 @@ describe('KIN-015: TaskDetail — Edit button и форма редактиров }) await flushPromises() - // Открываем модал без изменений + // Открываем модал без изменений и сабмитим форму const editBtn = wrapper.findAll('button').find(b => b.text().includes('Edit')) await editBtn!.trigger('click') await flushPromises() - // Сохраняем без изменений — должен тихо закрыться без API-вызова - const saveBtn = wrapper.findAll('button').find(b => b.text().includes('Save')) - await saveBtn!.trigger('click') + await wrapper.find('form').trigger('submit') await flushPromises() expect(api.patchTask, 'patchTask не должен вызываться при пустом diff').not.toHaveBeenCalled() @@ -782,9 +778,7 @@ describe('KIN-015: TaskDetail — Edit button и форма редактиров const titleInput = wrapper.find('input:not([type])') await titleInput.setValue('Обновлённый заголовок') - - const saveBtn = wrapper.findAll('button').find(b => b.text().includes('Save')) - await saveBtn!.trigger('click') + await wrapper.find('form').trigger('submit') await flushPromises() // Модал закрыт — форма с title-input больше не в DOM