public void GetCurrentBalanceTest()
        {
            var testJObject = new JObject()
            {
                new JProperty("statusCode", "0"),
                new JProperty("message", "Success"),
                new JProperty("accountDetail", new JObject()
                {
                    new JProperty("currentBalance", "123")
                })
            };

            var messageHandler = new FakeHttpMessageHandler(new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(JsonConvert.SerializeObject(testJObject), Encoding.UTF8, "application/json")
            });

            var mockServiceClient   = new MockServiceClient(messageHandler);
            var mockGraphService    = new MockGraphService();
            var mockB2CGraphService = new MockB2CGraphService();
            var serviceId           = new ServiceId(mockGraphService, mockB2CGraphService, _mockServiceClientServiceId);

            var accountDetails = new AccountDetails(serviceId, mockServiceClient);
            var input          = new JObject()
            {
                new JProperty("token", "123"),
                new JProperty("serviceUrl", ServiceUrl.Url)
            };
            var expectedOutput = new JObject()
            {
                new JProperty("statusCode", "0"),
                new JProperty("message", "Success"),
                new JProperty("currentBalance", "123")
            };

            var response    = accountDetails.GetCurrentBalance(input);
            var responseObj = JObject.Parse(response);

            foreach (var item in responseObj)
            {
                Assert.True(expectedOutput.ContainsKey(item.Key));
                var value = expectedOutput.GetValue(item.Key);
                Assert.Equal(value, item.Value);
            }
        }