|
|
import pytest |
|
|
from langflow.template.field.base import Input |
|
|
from langflow.template.frontend_node.base import FrontendNode |
|
|
from langflow.template.template.base import Template |
|
|
|
|
|
|
|
|
@pytest.fixture |
|
|
def sample_template_field() -> Input: |
|
|
return Input(name="test_field", field_type="str") |
|
|
|
|
|
|
|
|
@pytest.fixture |
|
|
def sample_template(sample_template_field: Input) -> Template: |
|
|
return Template(type_name="test_template", fields=[sample_template_field]) |
|
|
|
|
|
|
|
|
@pytest.fixture |
|
|
def sample_frontend_node(sample_template: Template) -> FrontendNode: |
|
|
return FrontendNode( |
|
|
template=sample_template, |
|
|
description="test description", |
|
|
base_classes=["base_class1", "base_class2"], |
|
|
name="test_frontend_node", |
|
|
) |
|
|
|
|
|
|
|
|
def test_template_field_defaults(sample_template_field: Input): |
|
|
assert sample_template_field.field_type == "str" |
|
|
assert sample_template_field.required is False |
|
|
assert sample_template_field.placeholder == "" |
|
|
assert sample_template_field.is_list is False |
|
|
assert sample_template_field.show is True |
|
|
assert sample_template_field.multiline is False |
|
|
assert sample_template_field.value is None |
|
|
assert sample_template_field.file_types == [] |
|
|
assert sample_template_field.file_path == "" |
|
|
assert sample_template_field.name == "test_field" |
|
|
assert sample_template_field.password is None |
|
|
|
|
|
|
|
|
def test_template_to_dict(sample_template: Template): |
|
|
template_dict = sample_template.to_dict() |
|
|
assert template_dict["_type"] == "test_template" |
|
|
assert len(template_dict) == 2 |
|
|
assert "test_field" in template_dict |
|
|
assert "type" in template_dict["test_field"] |
|
|
assert "required" in template_dict["test_field"] |
|
|
|
|
|
|
|
|
def test_frontend_node_to_dict(sample_frontend_node: FrontendNode): |
|
|
node_dict = sample_frontend_node.to_dict() |
|
|
assert len(node_dict) == 1 |
|
|
assert "test_frontend_node" in node_dict |
|
|
assert "description" in node_dict["test_frontend_node"] |
|
|
assert "template" in node_dict["test_frontend_node"] |
|
|
assert "base_classes" in node_dict["test_frontend_node"] |
|
|
|