"""Tests for sql rests.""" import sys import pandas as pd import pytest from _pytest.monkeypatch import MonkeyPatch from sqlalchemy.orm import Session from aki_prj23_transparenzregister.utils.sql import entities, reset_sql def test_reset_sql_all(full_db: Session) -> None: """Tests if all sql tables are reset.""" reset_sql.reset_tables(all_tables=True, db=full_db) assert pd.read_sql_table( entities.MissingCompany.__tablename__, con=full_db.bind # type:ignore ).empty assert pd.read_sql_table( entities.Company.__tablename__, con=full_db.bind # type:ignore ).empty def test_reset_sql(full_db: Session) -> None: """Tests if only most sql tables are reset.""" reset_sql.reset_tables(all_tables=False, db=full_db) assert pd.read_sql_table( entities.Company.__tablename__, con=full_db.bind # type:ignore ).empty assert not pd.read_sql_table( entities.MissingCompany.__tablename__, con=full_db.bind # type:ignore ).empty def test_reset_help(monkeypatch: MonkeyPatch) -> None: """Tests if all sql tables are reset.""" monkeypatch.setattr(sys, "argv", [sys.argv[0], "-h"]) with pytest.raises(SystemExit): reset_sql.cli()