uprawnienia do stacji i usuwanie firm
This commit is contained in:
@@ -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']
|
||||
|
||||
Reference in New Issue
Block a user