agent-flow / src /backend /tests /unit /custom /component /test_componet_set_functionality.py
truthtaicom's picture
Upload folder using huggingface_hub
4b0794d verified
import pytest
from langflow.custom import Component
from langflow.inputs.inputs import MessageTextInput, StrInput
@pytest.fixture
def setup_component():
# Create a sample component for testing
component = Component()
# Define inputs for the component
component.inputs = [
MessageTextInput(name="list_message_input", is_list=True), # Input for a mock component
StrInput(name="mixed_input"), # Input for a mixed list
]
return component
def test_set_with_mixed_list_input(setup_component):
component = setup_component
# Create a mock component to include in the list
mock_component = Component()
message_input_1 = "message data1"
message_input_2 = "message data2"
data = {"mixed_input": [message_input_1, message_input_2], "list_message_input": [message_input_1, mock_component]}
component.set(**data)
# Assert that the mixed input was set correctly
assert hasattr(component, "mixed_input")
assert len(component.mixed_input) == 2
assert component.mixed_input[0] == message_input_1
assert component.mixed_input[1] == message_input_2
assert component.list_message_input[0] == message_input_1
assert component.list_message_input[1] == mock_component
def test_set_with_message_text_input_list(setup_component):
component = setup_component
# Create a list of MessageTextInput instances
message_input_1 = "message data1"
message_input_2 = "message data2"
data = {"mixed_input": [message_input_1, message_input_2], "list_message_input": [message_input_1, message_input_2]}
# Set a list containing MessageTextInput instances
component.set(**data)
# Assert that the mixed input was set correctly
assert hasattr(component, "mixed_input")
assert len(component.list_message_input) == 2
assert component.list_message_input[0] == message_input_1
assert component.list_message_input[1] == message_input_2