root / elixir / tags / 0.7.0 / tests / test_fields.py

Revision 467, 1.0 kB (checked in by ged, 3 years ago)

sed 's/sqlite:\/\/\//sqlite:\/\//' *.py

Line 
1"""
2test the different syntaxes to define fields
3"""
4
5from elixir import *
6
7def setup():
8    metadata.bind = 'sqlite://'
9
10class TestFields(object):
11    def teardown(self):
12        cleanup_all(True)
13
14    def test_attr_syntax(self):
15        class Person(Entity):
16            firstname = Field(String(30))
17            surname = Field(String(30))
18
19        setup_all(True)
20
21        homer = Person(firstname="Homer", surname="Simpson")
22        bart = Person(firstname="Bart", surname="Simpson")
23
24        session.commit()
25        session.clear()
26
27        p = Person.get_by(firstname="Homer")
28
29        assert p.surname == 'Simpson'
30
31    def test_has_field(self):
32        class Person(Entity):
33            has_field('firstname', String(30))
34            has_field('surname', String(30))
35
36        setup_all(True)
37
38        homer = Person(firstname="Homer", surname="Simpson")
39        bart = Person(firstname="Bart", surname="Simpson")
40
41        session.commit()
42        session.clear()
43
44        p = Person.get_by(firstname="Homer")
45
46        assert p.surname == 'Simpson'
Note: See TracBrowser for help on using the browser.