"""Test Releases Model.""" from ows_product_physical.connector.mysql import db_session from ows_product_physical.models import releases as releases_model from ows_product_physical.models.releases import Releases def test_create_release(db_fixture, valid_create_release_fields): """Test successful creation of a new release.""" with db_session() as session: release = releases_model.create(valid_create_release_fields, session) assert release.get('release_id') == 1 def test_update_release(db_fixture, valid_create_release_fields): """Test successful update of a release.""" with db_session() as session: release = releases_model.create(valid_create_release_fields, session) release_id = release.get('release_id') assert release.get('label') == 'Mexicali Blues Records' updated_label = 'Strawberry Fields Records' releases_model.update( {'label': updated_label}, release_id, session) updated_release = session.query(Releases).get(release_id).to_dict() assert updated_release.get('release_id') == release_id assert updated_release.get('label') == updated_label def test_delete_release(db_fixture, valid_create_release_fields): """Test successful deletion of a release.""" with db_session() as session: release = releases_model.create(valid_create_release_fields, session) release_id = release.get('release_id') releases_model.delete(release_id, session) releases = session.query(Releases).all() assert releases == []