import pytest from unittest.mock import AsyncMock, MagicMock from src.masterdata.service import create, get from src.masterdata.schema import MasterDataCreate @pytest.mark.asyncio async def test_create_masterdata_service(): mock_db = AsyncMock() mock_db.add = MagicMock() masterdata_in = MasterDataCreate( name="Test", description="Desc", unit_of_measurement="unit", value_num=10.0, seq=1 ) result = await create(db_session=mock_db, masterdata_in=masterdata_in) assert result.name == "Test" mock_db.add.assert_called_once() mock_db.commit.assert_called_once() @pytest.mark.asyncio async def test_get_masterdata_service(): mock_db = AsyncMock() mock_db.add = MagicMock() mock_result = MagicMock() mock_masterdata = MagicMock() mock_masterdata.id = "test-id" # Mock behavior of db_session.execute().scalars().one_or_none() mock_result.scalars.return_value.one_or_none.return_value = mock_masterdata mock_db.execute.return_value = mock_result result = await get(db_session=mock_db, masterdata_id="test-id") assert result.id == "test-id" mock_db.execute.assert_called_once()