Skip to content

Commit 4913060

Browse files
committed
Write tests for one_or_zero; #19
1 parent 17b1a52 commit 4913060

File tree

1 file changed

+36
-13
lines changed

1 file changed

+36
-13
lines changed

tests.py

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,25 @@ def test_run_inserts(self):
5353
assert actual == 1
5454

5555

56+
# db.all
57+
# ======
58+
59+
class TestRows(WithData):
60+
61+
def test_rows_fetches_all_rows(self):
62+
actual = self.db.all("SELECT * FROM foo ORDER BY bar")
63+
assert actual == [{"bar": "baz"}, {"bar": "buz"}]
64+
65+
def test_bind_parameters_as_dict_work(self):
66+
params = {"bar": "baz"}
67+
actual = self.db.all("SELECT * FROM foo WHERE bar=%(bar)s", params)
68+
assert actual == [{"bar": "baz"}]
69+
70+
def test_bind_parameters_as_tuple_work(self):
71+
actual = self.db.all("SELECT * FROM foo WHERE bar=%s", ("baz",))
72+
assert actual == [{"bar": "baz"}]
73+
74+
5675
# db.one
5776
# ======
5877
# With all the combinations of strict_one and strict, we end up with a number
@@ -168,23 +187,27 @@ def test_one_raises_TooMany(self):
168187
self.assertRaises(TooMany, self.db.one, "SELECT * FROM foo")
169188

170189

171-
# db.all
172-
# ======
190+
# db.one_or_zero
191+
# ==============
173192

174-
class TestRows(WithData):
193+
class TestOneOrZero(WithData):
175194

176-
def test_rows_fetches_all_rows(self):
177-
actual = self.db.all("SELECT * FROM foo ORDER BY bar")
178-
assert actual == [{"bar": "baz"}, {"bar": "buz"}]
195+
def test_one_or_zero_raises_TooFew(self):
196+
self.assertRaises( TooFew
197+
, self.db.one_or_zero
198+
, "CREATE TABLE foux (baar text)"
199+
)
179200

180-
def test_bind_parameters_as_dict_work(self):
181-
params = {"bar": "baz"}
182-
actual = self.db.all("SELECT * FROM foo WHERE bar=%(bar)s", params)
183-
assert actual == [{"bar": "baz"}]
201+
def test_one_or_zero_returns_None(self):
202+
actual = self.db.one_or_zero("SELECT * FROM foo WHERE bar='blam'")
203+
assert actual is None
184204

185-
def test_bind_parameters_as_tuple_work(self):
186-
actual = self.db.all("SELECT * FROM foo WHERE bar=%s", ("baz",))
187-
assert actual == [{"bar": "baz"}]
205+
def test_one_or_zero_returns_one(self):
206+
actual = self.db.one_or_zero("SELECT * FROM foo WHERE bar='baz'")
207+
assert actual == {"bar": "baz"}
208+
209+
def test_with_strict_True_one_raises_TooMany(self):
210+
self.assertRaises(TooMany, self.db.one_or_zero, "SELECT * FROM foo")
188211

189212

190213
# db.get_cursor

0 commit comments

Comments
 (0)