From f2013b5ff779f5247666d9284aba53c35d28b6bd Mon Sep 17 00:00:00 2001 From: ZanSara Date: Tue, 29 Aug 2023 16:17:23 +0200 Subject: [PATCH] use factory --- .../writers/test_document_writer.py | 40 +++++-------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/test/preview/components/writers/test_document_writer.py b/test/preview/components/writers/test_document_writer.py index e270e7b8e0..66931ef0c8 100644 --- a/test/preview/components/writers/test_document_writer.py +++ b/test/preview/components/writers/test_document_writer.py @@ -3,7 +3,7 @@ import pytest from haystack.preview import Document, DeserializationError -from haystack.preview.document_stores import document_store +from haystack.preview.testing.factory import document_store_class from haystack.preview.components.writers.document_writer import DocumentWriter from haystack.preview.document_stores import DuplicatePolicy @@ -11,62 +11,42 @@ class TestDocumentWriter: @pytest.mark.unit def test_to_dict(self): - mocked_document_store = MagicMock() - mocked_document_store.to_dict.return_value = { - "type": "MockedDocumentStore", - "init_parameters": {"parameter": 100}, - } - component = DocumentWriter(document_store=mocked_document_store) + mocked_docstore_class = document_store_class("MockedDocumentStore") + component = DocumentWriter(document_store=mocked_docstore_class()) data = component.to_dict() assert data == { "type": "DocumentWriter", "init_parameters": { - "document_store": {"type": "MockedDocumentStore", "init_parameters": {"parameter": 100}}, + "document_store": {"type": "MockedDocumentStore", "init_parameters": {}}, "policy": "FAIL", }, } @pytest.mark.unit def test_to_dict_with_custom_init_parameters(self): - mocked_document_store = MagicMock() - mocked_document_store.to_dict.return_value = { - "type": "MockedDocumentStore", - "init_parameters": {"parameter": 100}, - } - component = DocumentWriter(document_store=mocked_document_store, policy=DuplicatePolicy.SKIP) + mocked_docstore_class = document_store_class("MockedDocumentStore") + component = DocumentWriter(document_store=mocked_docstore_class(), policy=DuplicatePolicy.SKIP) data = component.to_dict() assert data == { "type": "DocumentWriter", "init_parameters": { - "document_store": {"type": "MockedDocumentStore", "init_parameters": {"parameter": 100}}, + "document_store": {"type": "MockedDocumentStore", "init_parameters": {}}, "policy": "SKIP", }, } @pytest.mark.unit def test_from_dict(self): - @document_store - class MockedDocumentStore: - def __init__(self, parameter): - self.parameter = parameter - - def to_dict(self): - return {"type": "MockedDocumentStore", "init_parameters": {"parameter": self.parameter}} - - @classmethod - def from_dict(cls, data): - return cls(parameter=data["init_parameters"]["parameter"]) - + mocked_docstore_class = document_store_class("MockedDocumentStore") data = { "type": "DocumentWriter", "init_parameters": { - "document_store": {"type": "MockedDocumentStore", "init_parameters": {"parameter": 100}}, + "document_store": {"type": "MockedDocumentStore", "init_parameters": {}}, "policy": "SKIP", }, } component = DocumentWriter.from_dict(data) - assert isinstance(component.document_store, MockedDocumentStore) - assert component.document_store.parameter == 100 + assert isinstance(component.document_store, mocked_docstore_class) assert component.policy == DuplicatePolicy.SKIP @pytest.mark.unit