"""Testing fact sales data presentation.""" from unittest.mock import MagicMock import pytest from ows_accounting import features from ows_accounting.presentation import fact_sales @pytest.fixture def fixture_snowflake_revenues(): """Fixture for account revenues snowflake data.""" return [ (2, 200.20, 20), (1, 100.10, 10) ] @pytest.fixture def fixture_snowflake_gross_revenues(): """Fixture for account revenues snowflake data.""" return [ (2, 200.20, 20, 210.15), (1, 100.10, 10, 110.15) ] @pytest.mark.parametrize('vendor_gross_net', [([True, False])]) def test_revenues( monkeypatch, fixture_snowflake_revenues, vendor_gross_net, fixture_snowflake_gross_revenues): """Test formating account revenues list.""" expected_result = [ { 'period_id': 2, 'revenue': 200.20, 'num_transactions': 20 }, { 'period_id': 1, 'revenue': 100.10, 'num_transactions': 10 } ] monkeypatch.setattr( features, 'is_vendor_gross_net_enabled', MagicMock(return_value=vendor_gross_net)) if vendor_gross_net: fixture_snowflake_revenues = fixture_snowflake_gross_revenues.copy() expected_result[0]['gross_revenue'] = 210.15 expected_result[1]['gross_revenue'] = 110.15 result = fact_sales.revenues(fixture_snowflake_revenues) assert result == expected_result