Skip to content

Commit add7783

Browse files
committed
add tests for create_table_class
1 parent 515189e commit add7783

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
from unittest import TestCase
2+
3+
from piccolo.table import create_table_class
4+
from piccolo.columns import Varchar
5+
6+
7+
class TestCreateTableClass(TestCase):
8+
def test_create_table_class(self):
9+
"""
10+
Make sure a basic `Table` can be created successfully.
11+
"""
12+
_Table = create_table_class(class_name="MyTable")
13+
self.assertEqual(_Table._meta.tablename, "my_table")
14+
15+
_Table = create_table_class(
16+
class_name="MyTable", class_kwargs={"tablename": "my_table_1"}
17+
)
18+
self.assertEqual(_Table._meta.tablename, "my_table_1")
19+
20+
column = Varchar()
21+
_Table = create_table_class(
22+
class_name="MyTable", class_members={"name": column}
23+
)
24+
self.assertTrue(column in _Table._meta.columns)
25+
26+
def test_protected_tablenames(self):
27+
"""
28+
Make sure that the logic around protected tablenames still works as
29+
expected.
30+
"""
31+
with self.assertRaises(ValueError):
32+
create_table_class(class_name="User")
33+
34+
with self.assertRaises(ValueError):
35+
create_table_class(
36+
class_name="MyUser", class_kwargs={"tablename": "user"}
37+
)
38+
39+
# This shouldn't raise an error:
40+
create_table_class(
41+
class_name="User", class_kwargs={"tablename": "my_user"}
42+
)

0 commit comments

Comments
 (0)