Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions monarchmoney/monarchmoney.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
from aiohttp import ClientSession, FormData
from aiohttp.client import DEFAULT_TIMEOUT
from gql import Client, gql
from gql.graphql_request import GraphQLRequest
from gql.transport.aiohttp import AIOHTTPTransport
from graphql import DocumentNode

Expand Down Expand Up @@ -2795,9 +2796,10 @@ async def gql_call(
"""
Makes a GraphQL call to Monarch Money's API.
"""
return await self._get_graphql_client().execute_async(
request=graphql_query, variable_values=variables, operation_name=operation
request = GraphQLRequest(
graphql_query, variable_values=variables, operation_name=operation
)
return await self._get_graphql_client().execute_async(request)

def save_session(self, filename: Optional[str] = None) -> None:
"""
Expand Down
10 changes: 7 additions & 3 deletions tests/test_monarchmoney.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import json
from gql import Client
from gql.graphql_request import GraphQLRequest
from monarchmoney import MonarchMoney
from monarchmoney.monarchmoney import LoginFailedException

Expand Down Expand Up @@ -110,9 +111,12 @@ async def test_delete_account(self, mock_execute_async):

mock_execute_async.assert_called_once()

kwargs = mock_execute_async.call_args.kwargs
self.assertEqual(kwargs["operation_name"], "Common_DeleteAccount")
self.assertEqual(kwargs["variable_values"], {"id": "170123456789012345"})
args = mock_execute_async.call_args.args
request = args[0]
self.assertEqual(len(args), 1, "execute_async should receive one positional argument (GraphQLRequest)")
self.assertIsInstance(request, GraphQLRequest)
self.assertEqual(request.operation_name, "Common_DeleteAccount")
self.assertEqual(request.variable_values, {"id": "170123456789012345"})

self.assertIsNotNone(result, "Expected result to not be None")
self.assertEqual(result["deleteAccount"]["deleted"], True)
Expand Down