Commit 65bd3163 by dgrtwo

Fixes #34: adds batch saving for User objects + test case

parent 284b2078
......@@ -425,6 +425,22 @@ class TestUser(unittest.TestCase):
self.assert_(User.Query.filter(phone=phone_number).exists(),
'Failed to update user data. New info not on Parse')
def testCanBatchUpdate(self):
user = self._get_logged_user()
phone_number = "555-0134"
original_updatedAt = user.updatedAt
user.phone = phone_number
batcher = ParseBatcher()
batcher.batch_save([user])
self.assert_(User.Query.filter(phone=phone_number).exists(),
'Failed to batch update user data. New info not on Parse')
self.assert_(user.updatedAt != original_updatedAt,
'Failed to batch update user data: updatedAt not changed')
if __name__ == "__main__":
# command line
......
......@@ -55,11 +55,21 @@ class User(ParseResource):
return {'X-Parse-Session-Token': self.sessionToken}
@login_required
def save(self):
def save(self, batch=False):
session_header = {'X-Parse-Session-Token': self.sessionToken}
url = self._absolute_url
data = self._to_native()
return self.__class__.PUT(url, extra_headers=session_header, **data)
response = self.__class__.PUT(url, extra_headers=session_header,
batch=batch, **data)
def call_back(response_dict):
self.updatedAt = response_dict['updatedAt']
if batch:
return response, call_back
else:
call_back(response)
@login_required
def delete(self):
......
......@@ -21,7 +21,7 @@ class TestCommand(Command):
setup(
name='parse_rest',
version='0.2.20131001',
version='0.2.20141002',
description='A client library for Parse.com\'.s REST API',
url='https://github.com/dgrtwo/ParsePy',
packages=['parse_rest'],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment