uprawnienia do stacji i usuwanie firm

This commit is contained in:
Mateusz Gruszczyński
2026-07-13 16:20:36 +02:00
parent 85e7537c10
commit 780681dfd5
4 changed files with 94 additions and 3 deletions
+53
View File
@@ -263,3 +263,56 @@ def test_admin_stations_without_company_shows_company_picker(tmp_path):
assert 'Wybierz firmę' in html
assert 'name="company_id"' in html
assert 'Przejdź do konfiguracji' in html
def test_fuel_without_company_redirects_instead_of_500(tmp_path):
from app.extensions import db
from app.models import CompanySettings, User
app = make_app(tmp_path, "fuel-no-company.db")
client = app.test_client()
client.post('/login', data={'email':'admin@example.com','password':'admin123!'})
with app.app_context():
User.query.update({User.company_id: None})
CompanySettings.query.delete()
db.session.commit()
response = client.get('/fuel', follow_redirects=False)
assert response.status_code == 302
assert '/admin/companies' in response.headers['Location']
def test_delete_unused_fuel_card(tmp_path):
app=make_app(tmp_path, "delete_card.db")
client=app.test_client()
client.post('/login',data={'email':'admin@example.com','password':'admin123!'})
with app.app_context():
from app.extensions import db
from app.models import CompanySettings, FuelCard
company=CompanySettings.query.first()
card=FuelCard(name='Karta do usunięcia',provider='Test',company_id=company.id)
db.session.add(card);db.session.commit();card_id=card.id
response=client.delete(f'/api/fuel-cards/{card_id}')
assert response.status_code == 200
assert response.json['ok'] is True
with app.app_context():
from app.models import FuelCard
assert FuelCard.query.get(card_id) is None
def test_cannot_delete_assigned_fuel_card(tmp_path):
app=make_app(tmp_path, "assigned_card.db")
client=app.test_client()
client.post('/login',data={'email':'admin@example.com','password':'admin123!'})
with app.app_context():
from app.extensions import db
from app.models import CompanySettings, FuelCard, User
company=CompanySettings.query.first()
card=FuelCard(name='Karta przypisana',provider='Test',company_id=company.id)
db.session.add(card);db.session.flush()
user=User.query.filter_by(email='admin@example.com').first()
user.fuel_card_id=card.id
db.session.commit();card_id=card.id
response=client.delete(f'/api/fuel-cards/{card_id}')
assert response.status_code == 409
assert response.json['ok'] is False
assert 'użytkowników' in response.json['message']