File size: 2,073 Bytes
b701455
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import types

from server import _apply_preview_fidelity_to_app, _restore_preview_settings
from src.user import app_instance as _ai


def test_apply_and_restore_preview_fidelity_high():
    # Remember current values to ensure we restore them at the end
    orig_format = getattr(_ai.app, "preview_format", "WEBP")
    orig_quality = getattr(_ai.app, "preview_quality", 90)

    # Apply a high-fidelity request (preview enabled)
    req = types.SimpleNamespace(preview_fidelity="high", enable_preview=True)
    prev = _apply_preview_fidelity_to_app(req)

    # High fidelity should set PNG + max quality
    assert getattr(_ai.app, "preview_format") in ("PNG", "png")
    assert getattr(_ai.app, "preview_quality") == 100

    # Restore previous settings
    _restore_preview_settings(prev)
    assert getattr(_ai.app, "preview_format") == orig_format
    assert getattr(_ai.app, "preview_quality") == orig_quality


def test_apply_and_restore_preview_fidelity_low():
    orig_format = getattr(_ai.app, "preview_format", "WEBP")
    orig_quality = getattr(_ai.app, "preview_quality", 90)

    req = types.SimpleNamespace(preview_fidelity="low", enable_preview=True)
    prev = _apply_preview_fidelity_to_app(req)

    assert getattr(_ai.app, "preview_format") in ("WEBP", "webp")
    assert getattr(_ai.app, "preview_quality") == 70

    _restore_preview_settings(prev)
    assert getattr(_ai.app, "preview_format") == orig_format
    assert getattr(_ai.app, "preview_quality") == orig_quality


def test_apply_preview_fidelity_balanced_defaults():
    orig_format = getattr(_ai.app, "preview_format", "WEBP")
    orig_quality = getattr(_ai.app, "preview_quality", 90)

    req = types.SimpleNamespace(preview_fidelity=None, enable_preview=True)
    prev = _apply_preview_fidelity_to_app(req)

    assert getattr(_ai.app, "preview_format") in ("WEBP", "webp")
    assert getattr(_ai.app, "preview_quality") == 90

    _restore_preview_settings(prev)
    assert getattr(_ai.app, "preview_format") == orig_format
    assert getattr(_ai.app, "preview_quality") == orig_quality