public void GetLocationDetails()
        {
            IQueryUser queryInterface = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <IQueryUser>();

            var locationData = queryInterface.ListUserAddresses(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken);

            Assert.IsTrue(locationData.Count > 0);
            Assert.IsNotNull(locationData.Where(x => x.StreetAddress == "101 Arch Street").DefaultIfEmpty(null).FirstOrDefault());
        }
        public void GetUser()
        {
            IQueryUser queryInterface = ClientModuleIntegrationTestingUtilities.GetSandboxedLevelUpModule <IQueryUser>();

            var userData = queryInterface.GetUser(ClientModuleIntegrationTestingUtilities.SandboxedLevelUpUserAccessToken,
                                                  LevelUpTestConfiguration.Current.ConsumerId);

            Assert.AreEqual(userData.FirstName, LevelUpTestConfiguration.Current.ConsumerUserFirstName);
            Assert.AreEqual(userData.LastName.ToLower().ToCharArray()[0],
                            LevelUpTestConfiguration.Current.ConsumerUserLastInitial.ToLower().ToCharArray()[0]);
        }
        public void ListUserAddressesShouldSucceed()
        {
            const string expectedRequestUrl = ClientModuleFunctionalTestingUtilities.SANDBOX_URL_PREFIX + "/v15/user_addresses";

            RestResponse expectedResponse = new RestResponse
            {
                StatusCode = HttpStatusCode.OK,
                Content    =
                    "[{" +
                    "\"user_address\": {" +
                    "\"address_type\": \"payment\"," +
                    "\"extended_address\": \"\"," +
                    "\"id\": 149," +
                    "\"locality\": \"Boston\"," +
                    "\"postal_code\": \"01801\"," +
                    "\"region\": \"MA\"," +
                    "\"street_address\": \"123 Fake St\"" +
                    "}" +
                    "},{" +
                    "\"user_address\": {" +
                    "\"address_type\": \"payment\"," +
                    "\"extended_address\": \"\"," +
                    "\"id\": 149," +
                    "\"locality\": \"Boston\"," +
                    "\"postal_code\": \"01801\"," +
                    "\"region\": \"MA\"," +
                    "\"street_address\": \"123 Fake St\"" +
                    "}" +
                    "}]"
            };

            IQueryUser client = ClientModuleFunctionalTestingUtilities.GetMockedLevelUpModule <IQueryUser>(
                expectedResponse, expectedRequestUrl: expectedRequestUrl);
            var addresses = client.ListUserAddresses("not_checking_this");

            Assert.AreEqual(addresses.Count, 2);
        }
        public void GetUserShouldSucceed()
        {
            const int id = 3;
            string    expectedRequestUrl = string.Format(ClientModuleFunctionalTestingUtilities.SANDBOX_URL_PREFIX + "/v14/users/{0}", id);

            RestResponse expectedResponse = new RestResponse
            {
                StatusCode = HttpStatusCode.OK,
                Content    =
                    "{" +
                    "\"user\": {" +
                    "\"born_at\": null," +
                    "\"cause_id\": 123," +
                    "\"connected_to_facebook\": true," +
                    "\"custom_attributes\": { \"foo\": \"bar\" }," +
                    "\"email\": \"[email protected]\"," +
                    "\"first_name\": \"Ryan\"," +
                    "\"gender\": null," +
                    "\"global_credit_amount\": 0," +
                    "\"id\": 123," +
                    "\"last_name\": \"Punxsutawney\"," +
                    "\"merchants_visited_count\": 0," +
                    "\"orders_count\": 0," +
                    "\"phone\": \"(555) 555-5555\"," +
                    "\"terms_accepted_at\": null," +
                    "\"total_savings_amount\": 0" +
                    "}" +
                    "}"
            };

            IQueryUser client = ClientModuleFunctionalTestingUtilities.GetMockedLevelUpModule <IQueryUser>(
                expectedResponse, expectedRequestUrl: expectedRequestUrl);
            var user = client.GetUser("not_checking_this", id);

            Assert.AreEqual(user.Id, 123);
        }
        public UserController(IQueryUser queryUser)

        {
            _IQueryUser = queryUser;
        }