def test_getEndpointMemos__decorated_result_set(self): # getEndpointMemos() works for DecoratedResultSet # instances too. resultset = self.makeDecoratedStormResultSet() resultset.order_by(LibraryFileAlias.id) range_factory = StormRangeFactory(resultset) request = LaunchpadTestRequest() batchnav = BatchNavigator( resultset, request, size=3, range_factory=range_factory) first, last = range_factory.getEndpointMemos(batchnav.batch) expected_first = simplejson.dumps( [resultset.get_plain_result_set()[0][1].id], cls=DateTimeJSONEncoder) expected_last = simplejson.dumps( [resultset.get_plain_result_set()[2][1].id], cls=DateTimeJSONEncoder) self.assertEqual(expected_first, first) self.assertEqual(expected_last, last)
def test_getEndpointMemos(self): # getEndpointMemos() returns JSON representations of the # sort fields of the first and last element of a batch. resultset = self.makeStormResultSet() resultset.order_by(Person.name) range_factory = StormRangeFactory(resultset) memo_value = range_factory.getOrderValuesFor(resultset[0]) request = LaunchpadTestRequest( QUERY_STRING='memo=%s' % simplejson.dumps(memo_value)) batchnav = BatchNavigator( resultset, request, size=3, range_factory=range_factory) first, last = range_factory.getEndpointMemos(batchnav.batch) expected_first = simplejson.dumps( [resultset[1].name], cls=DateTimeJSONEncoder) expected_last = simplejson.dumps( [resultset[3].name], cls=DateTimeJSONEncoder) self.assertEqual(expected_first, first) self.assertEqual(expected_last, last)