"""Release Subgenre Model tests.""" from product.connectors import mysql from product.models import release_subgenre as release_subgenre_model from product.models.release_subgenre import ReleaseSubgenre from tests.testutils import db @db.test_schema def test_create_release_subgenre(): """Test successful creation of a release subgenre.""" product_id = 42 values = {'upc': 12345123451, 'subgenre_id': 1, 'release_id': product_id} result = release_subgenre_model.create(values) assert result.message == { 'upc': 12345123451, 'subgenre_id': 1, 'release_id': 42, 'release_subgenre_id': 1 } @db.test_schema def test_update_release_subgenre(): """Test successful update of a release subgenre.""" product_id = 42 initial_values = { 'upc': 12345123451, 'subgenre_id': 1, 'release_id': product_id} updated_values = {'subgenre_id': 2} release_subgenre_model.create(initial_values) result = release_subgenre_model.update(updated_values, product_id) assert result.message == { 'subgenre_id': 2, } @db.test_schema def test_delete_release_subgenre(): """Test successful deletion of a release_subgenre.""" product_id = 3 db.insert_release_subgenre() release_subgenre_model.delete(product_id) with mysql.db_session() as session: result = session.query(ReleaseSubgenre).all() assert result == [] @db.test_schema def test_get_release_subgenre(): """Test successful get of a release_subgenre.""" product_id = 3 db.insert_release_subgenre() result = release_subgenre_model.get(product_id) assert result.message == { 'release_subgenre_id': 1, 'release_id': 3, 'upc': 123456789, 'subgenre_id': 2 }