async def test_update_categorie(self, get_repository_mock,
                                    verify_if_exists_and_is_not_deleted_mock,
                                    categorie_response_mock):
        # Arrange
        categorie_mock = MagicMock()
        repository_mock = MagicMock()
        repository_mock.get_by_id.side_effect = [categorie_mock]
        get_repository_mock.side_effect = [repository_mock]
        verify_if_exists_and_is_not_deleted_mock.return_value = True
        categorie_response_mock.from_domain.return_value = 'response'

        # Action
        response = await update_categorie('1', 'request')

        # Asserts
        self.assertEqual(response, 'response')
        get_repository_mock_calls = get_repository_mock.mock_calls
        self.assertEqual(len(get_repository_mock_calls), 1)
        get_repository_mock.assert_has_calls([call()])
        repository_mock_calls = repository_mock.mock_calls
        self.assertEqual(len(repository_mock_calls), 2)
        repository_mock.assert_has_calls(
            [call.get_by_id(Categorie, '1'),
             call.save(categorie_mock)])
        categorie_mock_calls = categorie_mock.mock_calls
        self.assertEqual(len(categorie_mock_calls), 1)
        categorie_mock.assert_has_calls([call.update('request')])
        categorie_response_mock_calls = categorie_response_mock.mock_calls
        self.assertEqual(len(categorie_response_mock_calls), 1)
        categorie_response_mock.assert_has_calls(
            [call.from_domain(categorie_mock)])
    async def test_create_categorie(
        self,
        get_repository_mock,
        categorie_response_mock,
    ):
        # Arrange
        repository_mock = MagicMock()
        request_mock = MagicMock()
        request_mock.to_domain.return_value = 'categorie'
        categorie_response_mock.from_domain.return_value = 'response'
        get_repository_mock.side_effect = [repository_mock]

        # Action
        response = await create_categorie(request_mock)

        # Asserts
        self.assertEqual(response, 'response')
        get_repository_mock_calls = get_repository_mock.mock_calls
        self.assertEqual(len(get_repository_mock_calls), 1)
        get_repository_mock.assert_has_calls([call()])
        request_mock_calls = request_mock.mock_calls
        self.assertEqual(len(request_mock_calls), 1)
        request_mock.assert_has_calls([call.to_domain()])
        repository_mock_calls = repository_mock.mock_calls
        self.assertEqual(len(repository_mock_calls), 1)
        repository_mock.assert_has_calls([call.save('categorie')])
        categorie_response_mock_calls = categorie_response_mock.mock_calls
        self.assertEqual(len(categorie_response_mock_calls), 1)
        categorie_response_mock.assert_has_calls(
            [call.from_domain('categorie')])