Add test for hybrid as expr

This commit is contained in:
Konsta Vesterinen
2015-01-14 15:39:04 +02:00
parent 320335bde2
commit 0ef12b0a07
2 changed files with 12 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
before_script:
- psql -c 'create database sqlalchemy_utils_test;' -U postgres
- psql -c 'create extension hstore;' -U postgres -d sqlalchemy_utils_test
- mysql -e 'create database sqlalchemy_utils_test;'
before_install:

View File

@@ -1,5 +1,5 @@
import sqlalchemy as sa
from sqlalchemy.dialects.postgresql import JSON
from sqlalchemy.dialects.postgresql import HSTORE
from sqlalchemy_utils import TranslationHybrid
from tests import TestCase
@@ -12,7 +12,7 @@ class TestTranslationHybrid(TestCase):
class City(self.Base):
__tablename__ = 'city'
id = sa.Column(sa.Integer, primary_key=True)
name_translations = sa.Column(JSON())
name_translations = sa.Column(HSTORE)
name = self.translation_hybrid(name_translations)
locale = 'en'
@@ -46,3 +46,12 @@ class TestTranslationHybrid(TestCase):
city.name_translations['fi'] = 'Helsinki'
assert city.name == 'Helsinki'
def test_hybrid_as_an_expression(self):
city = self.City(name_translations={'en': 'Helsinki'})
self.session.add(city)
self.session.commit()
assert city == self.session.query(self.City).filter(
self.City.name['en'] == 'Helsinki'
).first()