"""Tests for contributor_role_category MySQL queries.""" from pytest_mock import MockerFixture from contributor.queries.mysql.contributor_role import ( ContributorRoleCategory, get_role_categories, ) class TestGetRoleCategories: def test_returns_role_category_dicts_when_found( self, mocker: MockerFixture ) -> None: session = mocker.Mock() query_result = mocker.Mock() session.query.return_value = query_result query_result.all.return_value = [ ContributorRoleCategory( id=1, uuid="ea30dcf2-41b7-4682-8082-50db93349933", name="Compositional Contributor", ), ContributorRoleCategory( id=4, uuid="8981c256-e993-450d-8f18-905930bdf59e", name="Performer", ), ] result = get_role_categories(session=session) session.query.assert_called_once_with(ContributorRoleCategory) query_result.all.assert_called_once_with() assert result == [ { "id": 1, "uuid": "ea30dcf2-41b7-4682-8082-50db93349933", "name": "Compositional Contributor", }, { "id": 4, "uuid": "8981c256-e993-450d-8f18-905930bdf59e", "name": "Performer", }, ] def test_returns_empty_list_when_no_role_categories_found( self, mocker: MockerFixture ) -> None: session = mocker.Mock() query_result = mocker.Mock() session.query.return_value = query_result query_result.all.return_value = [] result = get_role_categories(session=session) session.query.assert_called_once_with(ContributorRoleCategory) query_result.all.assert_called_once_with() assert result == []