This commit is contained in:
Mateusz Gruszczyński
2026-08-02 00:31:10 +02:00
parent 84ceb23316
commit 8648c3bda0
2 changed files with 46 additions and 1 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ from .models import User, Vehicle, FuelEntry, CompanySettings, AppSetting, Orlen
from .services import calculate_costs, fetch_orlen_price, fetch_orlen_range, invoice_period, fetch_ure_stations, aggregate_ure_companies, POLISH_REGIONS
from .station_catalog import sync_station_catalog
from . import THEMES
from .vat import entry_vat_rate, freeze_vat_action, global_vat_override, save_global_vat_override
from .vat import effective_vat_rate, entry_vat_rate, freeze_vat_action, global_vat_override, save_global_vat_override
from .settlement import calculate as calculate_snapshot_settlement, freeze as freeze_settlement
from .orlen_sync import sync_orlen_prices
+45
View File
@@ -505,3 +505,48 @@ def test_orlen_page_has_incremental_and_full_refresh_controls(tmp_path):
assert 'Pobierz nowe dane' in html
assert 'id="orlen-full-sync-btn"' in html
assert 'Pobierz cały wybrany rok ponownie' in html
def test_orlen_period_comparison_adds_effective_vat_for_each_date(tmp_path):
from datetime import date
from decimal import Decimal
from app.extensions import db
from app.models import AppSetting, OrlenPrice
app = make_app(tmp_path, "orlen-period-vat.db")
client = app.test_client()
client.post('/login', data={'email': 'admin@example.com', 'password': 'admin123!'})
with app.app_context():
for key, value in {
'global_vat_override_enabled': '1',
'global_vat_override_name': 'Czasowa stawka',
'global_vat_override_rate': '8',
'global_vat_override_start': '2026-07-01',
'global_vat_override_end': '2026-07-31',
}.items():
db.session.merge(AppSetting(key=key, value=value))
db.session.add_all([
OrlenPrice(
fuel_type='PB95', effective_date=date(2026, 7, 15),
price_per_liter=Decimal('100.0000'), raw_value=Decimal('100000'),
region='', product_name='PB95', source='test',
),
OrlenPrice(
fuel_type='PB95', effective_date=date(2026, 8, 1),
price_per_liter=Decimal('100.0000'), raw_value=Decimal('100000'),
region='', product_name='PB95', source='test',
),
])
db.session.commit()
response = client.get(
'/orlen?mode=compare&comparison_type=periods&compare_fuel=PB95&gross=1'
'&period_a_from=2026-07-01&period_a_to=2026-07-31'
'&period_b_from=2026-08-01&period_b_to=2026-08-31'
)
assert response.status_code == 200
html = response.get_data(as_text=True)
assert '108.0000 zł/l' in html
assert '123.0000 zł/l' in html