def test_get_or_create(self): params = {'x': 'y', 'z': 1} res = Model.get_or_create(**params) assert res.q == ( "INSERT INTO models (x, z) VALUES (%(x)s, %(z)s) ON CONFLICT DO " "NOTHING; SELECT * FROM models WHERE x=%(x)s AND z=%(z)s LIMIT 1;") assert res.params == params
def test_get__fields(self): params = {'x': 'y'} res = Model.get(_fields=("fst", "snd"), **params) assert res.q == "SELECT fst, snd FROM models WHERE x=%(x)s LIMIT 1;" assert res.params == params
def test_create(self): params = {'x': 'y', 'z': 1} res = Model.create(**params) assert res.q == "INSERT INTO models (x, z) VALUES (%(x)s, %(z)s);" assert res.params == params
def test_list__ordering(self): params = {'x': 'y'} res = Model.list(_order_by=('id', 'name'), **params) assert res.q == "SELECT * FROM models WHERE x=%(x)s ORDER BY id, name;" assert res.params == params
def test_get(self): params = {'x': 'y'} res = Model.get(**params) assert res.q == "SELECT * FROM models WHERE x=%(x)s LIMIT 1;" assert res.params == params
def test_list__fields(self): params = {'x': 'y'} res = Model.list(_fields=('id', 'name'), **params) assert res.q == "SELECT id, name FROM models WHERE x=%(x)s;" assert res.params == params
def test_list__three_params(self): params = {'x': 'y', 'z': 1, 'f': 'g'} res = Model.list(**params) assert res.q == ( "SELECT * FROM models WHERE x=%(x)s AND z=%(z)s AND f=%(f)s;") assert res.params == params
def test_list__one_params(self): params = {'x': 'y'} res = Model.list(**params) assert res.q == "SELECT * FROM models WHERE x=%(x)s;" assert res.params == params
def test_list__zero_params(self): res = Model.list() assert res.q == "SELECT * FROM models;" assert res.params == {}
def test_table_name(self): assert Model.table_name() == "models"