uprawnienia do stacji i usuwanie firm
This commit is contained in:
@@ -200,3 +200,55 @@ def test_openapi_contains_password_flow(tmp_path):
|
||||
password_flow = spec['components']['securitySchemes']['oauth2Password']['flows']['password']
|
||||
assert password_flow['tokenUrl'] == '/api/auth/token'
|
||||
assert '/api/auth/token' in spec['paths']
|
||||
|
||||
|
||||
def test_admin_can_delete_empty_company(tmp_path):
|
||||
from app.extensions import db
|
||||
from app.models import CompanySettings
|
||||
|
||||
app = make_app(tmp_path, "delete-company.db")
|
||||
client = app.test_client()
|
||||
client.post('/api/auth/login', data={'email':'admin@example.com','password':'admin123!'})
|
||||
with app.app_context():
|
||||
company = CompanySettings(name='Firma do usunięcia', region='mazowieckie')
|
||||
db.session.add(company)
|
||||
db.session.commit()
|
||||
company_id = company.id
|
||||
response = client.delete(f'/api/companies/{company_id}')
|
||||
assert response.status_code == 200
|
||||
assert response.json['ok'] is True
|
||||
with app.app_context():
|
||||
assert db.session.get(CompanySettings, company_id) is None
|
||||
|
||||
|
||||
def test_company_with_users_cannot_be_deleted(tmp_path):
|
||||
from app.extensions import db
|
||||
from app.models import CompanySettings, User
|
||||
|
||||
app = make_app(tmp_path, "delete-company-blocked.db")
|
||||
client = app.test_client()
|
||||
client.post('/api/auth/login', data={'email':'admin@example.com','password':'admin123!'})
|
||||
with app.app_context():
|
||||
company = CompanySettings(name='Firma z użytkownikiem', region='mazowieckie')
|
||||
db.session.add(company)
|
||||
db.session.flush()
|
||||
user = User(name='Pracownik', email='pracownik@example.com', role='user', company_id=company.id)
|
||||
user.set_password('Haslo123!')
|
||||
db.session.add(user)
|
||||
db.session.commit()
|
||||
company_id = company.id
|
||||
response = client.delete(f'/api/companies/{company_id}')
|
||||
assert response.status_code == 409
|
||||
assert 'użytkowników' in response.json['message']
|
||||
|
||||
|
||||
def test_company_settings_show_station_access_and_favorite_pagination(tmp_path):
|
||||
app = make_app(tmp_path, "company-station-ui.db")
|
||||
client = app.test_client()
|
||||
client.post('/login', data={'email':'admin@example.com','password':'admin123!'})
|
||||
html = client.get('/admin/companies').get_data(as_text=True)
|
||||
assert 'Konfiguruj dostęp' in html
|
||||
assert 'data-page-size="10"' in html
|
||||
assert 'favorite-pagination' in html
|
||||
assert 'Zapisz ulubione' in html
|
||||
assert 'Usuń firmę' in html
|
||||
|
||||
Reference in New Issue
Block a user