tests/app/soc/logic/models/test_base.py
author Sverre Rabbelier <srabbelier@gmail.com>
Tue, 03 Mar 2009 23:27:39 +0000
changeset 1614 797f5ae462e7
child 1673 9f67ec81f1ef
permissions -rw-r--r--
Convert getForFields back to the Query API and add tests This is possible now that it supports the 'IN' operator. Added tests to make sure there are no regressions. Patch by: Sverre Rabbelier
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1614
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     2
#
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     3
# Copyright 2009 the Melange authors.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     4
#
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     8
#
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    10
#
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    16
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    17
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    18
__authors__ = [
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    19
  '"Sverre Rabbelier" <sverre@rabbelier.nl>',
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    20
  ]
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    21
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    22
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    23
import unittest
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    24
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    25
from google.appengine.api import users
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    26
from google.appengine.ext import db
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    27
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    28
from soc.logic.models import base
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    29
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    30
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    31
class TestModel(db.Model):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    32
  """Simpel test model.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    33
  """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    34
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    35
  value = db.IntegerProperty()
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    36
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    37
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    38
class TestModelLogic(base.Logic):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    39
  """Simple test logic.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    40
  """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    41
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    42
  def __init__(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    43
    super(TestModelLogic, self).__init__(TestModel)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    44
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    45
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    46
class UserTest(unittest.TestCase):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    47
  """Tests related to user logic.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    48
  """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    49
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    50
  def setUp(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    51
    """Set up required for the slot allocation tests.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    52
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    53
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    54
    entities = []
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    55
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    56
    for i in range(5):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    57
      entity = TestModel(key_name='test_%d' % i, value=i)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    58
      entity.put()
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    59
      entities.append(entity)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    60
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    61
    self.logic = TestModelLogic()
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    62
    self.entities = entities
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    63
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    64
  def testGetForFields(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    65
    """Test that all entries were retrieved.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    66
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    67
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    68
    expected = set(range(5))
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    69
    actual = set([i.value for i in self.logic.getForFields()])
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    70
    self.assertEqual(expected, actual)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    71
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    72
  def testGetForFieldsFiltered(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    73
    """Test that only the entry that matches the filter is retrieved.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    74
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    75
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    76
    fields = {'value': 1}
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    77
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    78
    expected = [1]
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    79
    actual = [i.value for i in self.logic.getForFields(fields)]
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    80
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    81
    self.assertEqual(expected, actual)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    82
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    83
  def testGetForFieldsWithOperator(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    84
    """Test that all entries matching the filter are retrieved.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    85
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    86
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    87
    fields = {'value <': 3}
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    88
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    89
    expected = set(range(3))
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    90
    actual = set([i.value for i in self.logic.getForFields(fields)])
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    91
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    92
    self.assertEqual(expected, actual)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    93
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    94
  def testGetForFieldsNonMatching(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    95
    """Test that unique returns None instead of a list.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    96
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    97
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    98
    fields = {'value': 1337}
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    99
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   100
    expected = []
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   101
    actual = self.logic.getForFields(fields)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   102
    self.assertEqual(expected, actual)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   103
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   104
  def testGetForFieldsUnique(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   105
    """Test that unique returns an entry instead of a list.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   106
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   107
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   108
    fields = {'value': 1}
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   109
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   110
    actual = self.logic.getForFields(fields, unique=True)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   111
    self.assertTrue(isinstance(actual, TestModel))
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   112
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   113
  def testGetForFieldsUniqueEmpty(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   114
    """Test that unique returns None instead of a list.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   115
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   116
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   117
    fields = {'value': 1337}
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   118
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   119
    expected = None
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   120
    actual = self.logic.getForFields(fields, unique=True)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   121
    self.assertEqual(expected, actual)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   122
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   123
  def testGetForFieldsMultiFilter(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   124
    """Test that all entries matching an 'IN' filter are returned.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   125
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   126
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   127
    fields = {'value': [1, 2]}
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   128
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   129
    expected = 2
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   130
    actual = len(self.logic.getForFields(fields))
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   131
    self.assertEqual(expected, actual)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   132
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   133
  def testGetFieldsOrdened(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   134
    """Test that fields can be ordened.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   135
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   136
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   137
    order = ['value']
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   138
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   139
    expected = range(5)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   140
    actual = [i.value for i in self.logic.getForFields(order=order)]
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   141
    self.assertEqual(expected, actual)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   142
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   143
  def testGetFieldsReverseOrdened(self):
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   144
    """Test that fields can be ordened in reverse.
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   145
    """
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   146
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   147
    order = ['-value']
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   148
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   149
    expected = range(5)
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   150
    expected.reverse()
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   151
    actual = [i.value for i in self.logic.getForFields(order=order)]
797f5ae462e7 Convert getForFields back to the Query API and add tests
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
   152
    self.assertEqual(expected, actual)