diff --git a/package/kedro_viz/models/flowchart.py b/package/kedro_viz/models/flowchart.py index b4d43d5cbc..2654c5f262 100644 --- a/package/kedro_viz/models/flowchart.py +++ b/package/kedro_viz/models/flowchart.py @@ -645,10 +645,10 @@ def get_preview_args(self): """Gets the preview arguments for a dataset""" return self.viz_metadata.get("preview_args", None) - def is_preview_disabled(self): - """Checks if the dataset has a preview disabled""" + def is_preview_enabled(self): + """Checks if the dataset has a preview enabled at the node level.""" return ( - self.viz_metadata is not None and self.viz_metadata.get("preview") is False + self.viz_metadata is None or self.viz_metadata.get("preview") is not False ) @@ -806,7 +806,9 @@ def set_run_command(cls, _): @field_validator("preview") @classmethod def set_preview(cls, _): - if cls.data_node.is_preview_disabled() or not hasattr(cls.dataset, "preview"): + if not cls.data_node.is_preview_enabled() or not hasattr( + cls.dataset, "preview" + ): return None try: @@ -829,7 +831,9 @@ def set_preview(cls, _): @field_validator("preview_type") @classmethod def set_preview_type(cls, _): - if cls.data_node.is_preview_disabled() or not hasattr(cls.dataset, "preview"): + if not cls.data_node.is_preview_enabled() or not hasattr( + cls.dataset, "preview" + ): return None try: diff --git a/package/tests/test_models/test_flowchart.py b/package/tests/test_models/test_flowchart.py index d9f7a75235..43697fd289 100644 --- a/package/tests/test_models/test_flowchart.py +++ b/package/tests/test_models/test_flowchart.py @@ -386,13 +386,13 @@ def test_get_preview_args(self): ) assert data_node.get_preview_args() == {"nrows": 3} - def test_is_preview_disabled(self): + def test_is_preview_enabled(self): metadata = {"kedro-viz": {"preview": False}} dataset = CSVDataset(filepath="test.csv", metadata=metadata) data_node = GraphNode.create_data_node( dataset_name="dataset", tags=set(), layer=None, dataset=dataset, stats=None ) - assert data_node.is_preview_disabled() is True + assert data_node.is_preview_enabled() is False def test_preview_data_node_metadata(self, example_data_node): expected_preview_data = {