| import pytest |
| from langflow.custom import Component |
| from langflow.inputs.inputs import MessageTextInput, StrInput |
|
|
|
|
| @pytest.fixture |
| def setup_component(): |
| |
| component = Component() |
| |
| component.inputs = [ |
| MessageTextInput(name="list_message_input", is_list=True), |
| StrInput(name="mixed_input"), |
| ] |
| return component |
|
|
|
|
| def test_set_with_mixed_list_input(setup_component): |
| component = setup_component |
| |
| 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 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 |
| |
| 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]} |
| |
| component.set(**data) |
|
|
| |
| 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 |
|
|