diff options
| author | historia <historiavg@proton.me> | 2026-09-12 20:06:45 -0400 |
|---|---|---|
| committer | historia <historiavg@proton.me> | 2026-09-12 20:06:45 -0400 |
| commit | 0cd53b67793e74e8be0201b90711cb51b7186d6e (patch) | |
| tree | 2fa603145daa36b63d55fad43251237212c08054 /lib/project/tests | |
| parent | a5bca8573e7781f71aba9575acd99f1a7e82cbe4 (diff) | |
| download | producer-0cd53b67793e74e8be0201b90711cb51b7186d6e.tar.gz | |
feat: single column web gui layout
Diffstat (limited to 'lib/project/tests')
| -rw-r--r-- | lib/project/tests/test_gui_browser.py | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/project/tests/test_gui_browser.py b/lib/project/tests/test_gui_browser.py index efc6e55..5edc114 100644 --- a/lib/project/tests/test_gui_browser.py +++ b/lib/project/tests/test_gui_browser.py @@ -82,16 +82,14 @@ def test_gui_browser_real_workflow(studio): assert "token" not in page.locator("body").inner_text() assert page.locator("[data-setting]").count() == 47 expect(page.locator("#setting-denoiser")).to_have_value("none") - # Dependent controls of a disabled effect are visibly inactive. - expect(page.locator("#setting-denoise_strength")).to_be_disabled() - expect(page.locator("#setting-fft_reduction_db")).to_be_disabled() - expect(page.locator("#setting-highpass_hz")).to_be_disabled() + # Dependent controls of an inactive module are hidden entirely. + expect(page.locator("#setting-denoise_strength")).to_be_hidden() + expect(page.locator("#setting-fft_reduction_db")).to_be_hidden() + expect(page.locator("#setting-highpass_hz")).to_be_hidden() expect(page.locator("#setting-highpass_hz")).to_have_value("70") - # Unsupported input errors are human-readable, not raw HTML. + # Stereo input is downmixed safely to mono and both recordings load. page.locator("#pick-files").set_input_files([studio["root"] / "Stereo.wav", studio["source"]]) - expect(page.locator("#error")).to_be_visible() - expect(page.locator("#error-text")).to_contain_text("Stereo") - page.locator("#dismiss-error").click() + expect(page.locator("#error")).not_to_be_visible() expect(page.locator("#wave-status")).to_contain_text("2,048", timeout=15000) expect(page.locator("#input-info")).to_contain_text("00:00:08") # Both drag selection and keyboard-accessible exact inputs. @@ -109,7 +107,7 @@ def test_gui_browser_real_workflow(studio): # Explicit render, requested pacing+MP3 preserved in snapshot but bypassed internally. page.locator("#setting-trim_silence").check() page.locator("#setting-mp3").check() - expect(page.locator("#setting-mp3_bitrate")).not_to_be_disabled() + expect(page.locator("#setting-mp3_bitrate")).not_to_be_hidden() page.locator("#render-preview").click() expect(page.locator("#comparison-status")).to_contain_text("Ready", timeout=30000) assert len(media_requests) == 2 @@ -166,7 +164,7 @@ def test_gui_browser_real_workflow(studio): expect(page.locator("#comparison-status")).to_contain_text("Ready", timeout=30000) # Cross-field errors do not silently enable the limiter. page.locator("#setting-normalize").check() - expect(page.locator("#setting-target_lufs")).not_to_be_disabled() + expect(page.locator("#setting-target_lufs")).not_to_be_hidden() page.locator("#render-preview").click() expect(page.locator("#error-text")).to_contain_text("limiter") assert not page.locator("#setting-limiter").is_checked() |
