"""SQLAlchemy model to use in tests.""" from royalty_common.models import base class ModelForTests(base.BaseModel): """Test model class.""" id = base.db.Column(base.db.INTEGER, primary_key=True) # noqa name = base.db.Column(base.db.String(255), nullable=True) last_name = base.db.Column(base.db.String(255), nullable=True) class SoftDeletableModel(ModelForTests): """Test model class available for soft deletion.""" deleted_at = base.db.Column(base.db.DateTime, nullable=True) deleted_by = base.db.Column(base.db.String(255), nullable=True) def create_test_object(**kwargs): """Create new row in model_for_tests table.""" test_object = ModelForTests(**kwargs) base.db.session.add(test_object) base.db.session.commit() return test_object def clear_test_model(): """Delete all rows from model_for_tests.""" ModelForTests.query.delete() SoftDeletableModel.query.delete() base.db.session.commit()