File size: 1,445 Bytes
4e19890
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from animetix.forms import (
    AgenticRagForm,
    AniminatorForm,
    EmojiStreamForm,
    ParadoxStreamForm,
)


def test_emoji_stream_form_valid():
    # Frontend sends 'secret', mapped to 'target_secret'
    form = EmojiStreamForm({"secret": "item_123"})
    assert form.is_valid(), form.errors
    assert form.cleaned_data["target_secret"] == "item_123"


def test_paradox_stream_form_valid():
    # Frontend sends 't1', 't2', 'intruder'
    form = ParadoxStreamForm({"t1": "item_a", "t2": "item_b", "intruder": "intruder_x"})
    assert form.is_valid(), form.errors
    assert form.cleaned_data["item_a"] == "item_a"
    assert form.cleaned_data["item_b"] == "item_b"
    assert form.cleaned_data["intruder"] == "intruder_x"


def test_agentic_rag_form_valid():
    # Frontend sends 'q', mapped to 'query'
    form = AgenticRagForm({"q": "tell me about naruto"})
    assert form.is_valid(), form.errors
    assert form.cleaned_data["query"] == "tell me about naruto"


def test_animinator_form_legacy_mapping():
    # Frontend sends 'q', mapped to 'question'
    form = AniminatorForm({"q": "Is it a human?"})
    assert form.is_valid(), form.errors
    assert form.cleaned_data["question"] == "Is it a human?"


def test_animinator_form_direct():
    # Direct field also works
    form = AniminatorForm({"question": "Is it a human?"})
    assert form.is_valid(), form.errors
    assert form.cleaned_data["question"] == "Is it a human?"