diff --git a/packages/modules/common/store/_tariff.py b/packages/modules/common/store/_tariff.py index a2ac5e31af..f343aea601 100644 --- a/packages/modules/common/store/_tariff.py +++ b/packages/modules/common/store/_tariff.py @@ -118,8 +118,10 @@ def __sum_of_tariff_and_grid_fee( electricity_pricing = optional_data.data.electricity_pricing flexible_tariff_prices = {int(float(k)): v for k, v in electricity_pricing.flexible_tariff.get.prices.items()} - grid_fee_prices = {int(float(k)): v for k, v - in electricity_pricing.grid_fee.get.prices.items()} + grid_fee_prices = ( + {int(float(k)): v for k, v in electricity_pricing.grid_fee.get.prices.items()} + if optional_data.grid_fee_module is not None else {} + ) flexible_tariff_prices = __reduce_prices(flexible_tariff_prices) if len(flexible_tariff_prices) == 0 and len(grid_fee_prices) == 0: diff --git a/packages/modules/common/store/_tariff_test.py b/packages/modules/common/store/_tariff_test.py index 233c5b86bb..4555395eda 100644 --- a/packages/modules/common/store/_tariff_test.py +++ b/packages/modules/common/store/_tariff_test.py @@ -157,6 +157,28 @@ def test_sum_prices( assert summed == expected_prices +def test_sum_prices_ignores_stale_grid_fee_when_provider_is_not_configured(monkeypatch): + monkeypatch.setattr( + timecheck, "create_timestamp", + Mock(return_value=DEFAULT_START_TIMESTAMP) + ) + optional_data = data.data.optional_data + optional_data._grid_fee_module = None + flexible_tariff_prices = { + str(DEFAULT_START_TIMESTAMP): 0.0002856, + str(DEFAULT_START_TIMESTAMP + 900): 0.0002877, + } + optional_data.data.electricity_pricing.flexible_tariff.get.prices = flexible_tariff_prices + optional_data.data.electricity_pricing.grid_fee.get.prices = flexible_tariff_prices.copy() + + summed = PriceValueStore().sum_prices() + + assert summed == { + DEFAULT_START_TIMESTAMP: 0.0002856, + DEFAULT_START_TIMESTAMP + 900: 0.0002877, + } + + @pytest.mark.parametrize( "flexible_tariff, grid_fee", [