"""Tests for operations module.""" import pytest from visual_notebook.domain.operations import OPERATIONS def test_operations_registry(): assert "filter" in OPERATIONS assert "sort" in OPERATIONS assert "select" in OPERATIONS assert "rename" in OPERATIONS assert "groupby" in OPERATIONS assert "fill_nulls" in OPERATIONS assert "clip" in OPERATIONS def test_filter_validation(): op = OPERATIONS["filter"] with pytest.raises(ValueError): op.validate({}, []) with pytest.raises(ValueError): op.validate({"column": "x"}, [{"name": "y", "dtype": "VARCHAR"}]) result = op.validate({"column": "x", "operator": "eq", "value": 1}, [{"name": "x", "dtype": "INTEGER"}]) assert result["column"] == "x" def test_sort_validation(): op = OPERATIONS["sort"] result = op.validate({"column": "x"}, []) assert result["descending"] is False def test_select_validation(): op = OPERATIONS["select"] with pytest.raises(ValueError): op.validate({}, []) result = op.validate({"columns": ["a", "b"]}, []) assert result["columns"] == ["a", "b"]