1
0
mirror of https://github.com/django/django.git synced 2025-10-23 21:59:11 +00:00

Reorganized text db function tests.

This commit is contained in:
Nick Pope
2018-08-16 00:45:11 +01:00
committed by Tim Graham
parent cd790ed1a6
commit 3288985822
16 changed files with 277 additions and 264 deletions

View File

@@ -0,0 +1,43 @@
from django.db.models import CharField
from django.db.models.functions import Upper
from django.test import TestCase
from ..models import Author
class UpperTests(TestCase):
def test_basic(self):
Author.objects.create(name='John Smith', alias='smithj')
Author.objects.create(name='Rhonda')
authors = Author.objects.annotate(upper_name=Upper('name'))
self.assertQuerysetEqual(
authors.order_by('name'), [
'JOHN SMITH',
'RHONDA',
],
lambda a: a.upper_name
)
Author.objects.update(name=Upper('name'))
self.assertQuerysetEqual(
authors.order_by('name'), [
('JOHN SMITH', 'JOHN SMITH'),
('RHONDA', 'RHONDA'),
],
lambda a: (a.upper_name, a.name)
)
def test_transform(self):
try:
CharField.register_lookup(Upper)
Author.objects.create(name='John Smith', alias='smithj')
Author.objects.create(name='Rhonda')
authors = Author.objects.filter(name__upper__exact='JOHN SMITH')
self.assertQuerysetEqual(
authors.order_by('name'), [
'John Smith',
],
lambda a: a.name
)
finally:
CharField._unregister_lookup(Upper)