from unittest.mock import Mock import numpy as np import pytest from pandas import DataFrame from src.backend.constants import OutputColumns from src.backend.constants import SnowFlakeColumns as SFCols from src.backend.logic.audit.logic import common @pytest.fixture def mock_flagger(): return Mock() @pytest.fixture(autouse=True) def mocker_add_flag_db(mocker): return mocker.patch.object(common, "add_flag_db", autospec=True) @pytest.fixture def mock_df(): """Return a mock DataFrame.""" def df(*, has_asset_id=True, has_upc=True, has_isrc=True): df_row = { SFCols.UPC: "123" if has_upc else np.nan, SFCols.ISRC: "456" if has_isrc else np.nan, SFCols.ASSET_ID: "789" if has_asset_id else np.nan, OutputColumns.AUDIT_FLAG_NO_ASSET_ID: not has_asset_id, } return DataFrame([df_row]) return df