UI 복잡 버전 234 RED→GREEN 완료(docs/UI_USECASES.md §A~§J): 라이브 테마 전환(DynamicResource 전환+ThemeResolver+HighContrast 테마, 재시작 없음), 디자인 토큰 체계·WCAG 대비 결함 5건 수정, 설정창 카테고리 내비/검색 재구성+AppConfig 40여 속성, 다운로드 관리자(속도/ETA/세그먼트맵/전체 일시정지-이어받기/CSV 내보내기/예약 게이트/중복 확인), 라이브러리·아카이브·작업공간·재생목록·즐겨찾기 편집 뷰, 접근성(자동화 속성 30여 개·커스텀 피어·docs/ACCESSIBILITY.md), 인터랙션(휠 클릭 새 탭·XButton 탐색·F12·영역 캡처·프로필 전환), 상태/알림(토스트·알림센터·온보딩·CrashReportDialog). 보강 테스트 35건+실창 E2E 4건(StaDispatcher 기반 — 프록시 설정이 기시작 핸들러를 건드리는 크래시 실결함 수정 포함) — 453/453 GREEN. 이전 미커밋 작업(CI 워크플로·Mdns·QueueHub·UpdateChecker·AGENTS/CLAUDE·빌드 스크립트) 일괄 포함
This commit is contained in:
parent
5a0ce730b2
commit
17f2f91152
88 changed files with 9463 additions and 1127 deletions
47
VideoDownloader.Tests/E2E/SettingsUpdateUiE2ETests.cs
Normal file
47
VideoDownloader.Tests/E2E/SettingsUpdateUiE2ETests.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
using System.Windows;
|
||||
using VideoDownloader.App;
|
||||
using VideoDownloader.Core.Config;
|
||||
using VideoDownloader.Tests.Infrastructure;
|
||||
|
||||
namespace VideoDownloader.Tests.E2E;
|
||||
|
||||
/// <summary>
|
||||
/// E2E: 설정창 "앱 업데이트" 섹션(DEPLOYMENT_PLAN §6 자동 업데이트 v1) —
|
||||
/// 실제 SettingsWindow 를 띄워 설정값 로드 배선과 잘못된 저장소 형식의 즉시 안내(네트워크 불필요 경로)를 검증.
|
||||
/// </summary>
|
||||
[Collection("E2E")]
|
||||
public class SettingsUpdateUiE2ETests
|
||||
{
|
||||
[Fact]
|
||||
public void 설정창_업데이트_저장소_로드와_형식오류_안내()
|
||||
{
|
||||
// VD_DATA_DIR 격리: SettingsWindow 가 참조하는 프로필 경로를 실사용자와 분리
|
||||
var dataDir = Path.Combine(Path.GetTempPath(), $"vd_set_{Guid.NewGuid():N}");
|
||||
Environment.SetEnvironmentVariable("VD_DATA_DIR", dataDir);
|
||||
try
|
||||
{
|
||||
using var sta = StaDispatcher.Start();
|
||||
WpfTestApp.Ensure(sta.Dispatcher);
|
||||
sta.Invoke(() =>
|
||||
{
|
||||
var config = new AppConfig { UpdateRepo = "user/videodownloader" };
|
||||
var win = new SettingsWindow(config);
|
||||
|
||||
// 설정 → UI 로드 배선
|
||||
Assert.Equal("user/videodownloader", win.UpdateRepoBox.Text);
|
||||
|
||||
// owner/repo 형식이 아니면 네트워크 호출 없이 즉시 안내
|
||||
win.UpdateRepoBox.Text = "invalid-format";
|
||||
win.CheckUpdate_Click(null, new RoutedEventArgs());
|
||||
Assert.Contains("owner/repo", win.UpdateResultText.Text);
|
||||
|
||||
win.Close();
|
||||
});
|
||||
}
|
||||
finally
|
||||
{
|
||||
Environment.SetEnvironmentVariable("VD_DATA_DIR", null);
|
||||
try { Directory.Delete(dataDir, recursive: true); } catch (DirectoryNotFoundException) { }
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue