Skip to content

Commit 3c01c70

Browse files
committed
add missing test for _get_related_readable
1 parent fbcadb0 commit 3c01c70

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

tests/example_app/tables.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
from piccolo.table import Table
44
from piccolo.columns import Varchar, ForeignKey, Integer, Numeric, Text
5-
from piccolo.columns.choices import Choice
6-
5+
from piccolo.columns.readable import Readable
76

87
###############################################################################
98
# Simple example
@@ -12,6 +11,10 @@
1211
class Manager(Table):
1312
name = Varchar(length=50)
1413

14+
@classmethod
15+
def get_readable(cls) -> Readable:
16+
return Readable(template="%s", columns=[cls.name])
17+
1518

1619
class Band(Table):
1720
name = Varchar(length=50)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from tests.example_app.tables import Band
2+
from tests.base import DBTestCase
3+
4+
5+
class TestGetRelatedReadable(DBTestCase):
6+
def test_get_related_readable(self):
7+
"""
8+
Make sure you can get the `Readable` representation for related object
9+
from another object instance.
10+
"""
11+
self.insert_row()
12+
13+
response = Band.select(
14+
Band.name, Band._get_related_readable(Band.manager)
15+
).run_sync()
16+
17+
self.assertEqual(
18+
response, [{"name": "Pythonistas", "manager_readable": "Guido"}]
19+
)
20+
21+
# TODO Need to make sure it can go two levels deep ...
22+
# e.g. Concert._get_related_readable(Concert.band_1.manager)

0 commit comments

Comments
 (0)