Commit 8a0300d1 by David Robinson

Relational queries weren't possible because as_pointer was False from the…

Relational queries weren't possible because as_pointer was False from the Queryset, fixed and added test for relational query. Updated PyPI version.
parent 220a34fb
......@@ -83,7 +83,7 @@ class Queryset(object):
@staticmethod
def convert_to_parse(value):
from datatypes import ParseType
return ParseType.convert_to_parse(value)
return ParseType.convert_to_parse(value, as_pointer=True)
@classmethod
def extract_filter_operator(cls, parameter):
......
......@@ -53,6 +53,10 @@ GLOBAL_JSON_TEXT = """{
"""
class Game(Object):
pass
class GameScore(Object):
pass
......@@ -215,10 +219,15 @@ class TestQuery(unittest.TestCase):
# first delete any that exist
for s in GameScore.Query.all():
s.delete()
for g in Game.Query.all():
g.delete()
self.game = Game(title="Candyland")
self.game.save()
self.scores = [
GameScore(score=s, player_name='John Doe') for s in range(1, 6)
]
GameScore(score=s, player_name='John Doe', game=self.game)
for s in range(1, 6)]
for s in self.scores:
s.save()
......@@ -239,6 +248,11 @@ class TestQuery(unittest.TestCase):
self.assert_(qobj.score == s.score,
"Getting object with .filter() failed")
# test relational query with other Objects
num_scores = GameScore.Query.filter(game=self.game).count()
self.assert_(num_scores == len(self.scores),
"Relational query with .filter() failed")
def testGetExceptions(self):
'''test possible exceptions raised by Queryset.get() method'''
self.assertRaises(query.QueryResourceDoesNotExist,
......@@ -246,7 +260,6 @@ class TestQuery(unittest.TestCase):
self.assertRaises(query.QueryResourceMultipleResultsReturned,
GameScore.Query.filter(score__gt=3).get)
def testCanQueryDates(self):
last_week = datetime.datetime.now() - datetime.timedelta(days=7)
score = GameScore(name='test', last_played=last_week)
......@@ -306,9 +319,10 @@ class TestQuery(unittest.TestCase):
'Could not make inequality comparison with dates')
def tearDown(self):
'''delete all GameScore objects'''
'''delete all GameScore and Game objects'''
for s in GameScore.Query.all():
s.delete()
self.game.delete()
class TestFunction(unittest.TestCase):
......
......@@ -21,7 +21,7 @@ class TestCommand(Command):
setup(
name='parse_rest',
version='0.2.20130312',
version='0.2.20131001',
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