Skip to content

Commit eb24010

Browse files
committed
Better gen tests
1 parent f97b61c commit eb24010

4 files changed

Lines changed: 305 additions & 261 deletions

File tree

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
CREATE TABLE user (
2-
id INTEGER PRIMARY KEY AUTOINCREMENT,
3-
firstName TEXT NOT NULL,
4-
lastName TEXT NOT NULL,
5-
preference INTEGER AS Bool,
6-
favoriteNumber INTEGER,
7-
randomValue ANY,
8-
bornOn TEXT AS Date USING CustomDate,
9-
fullName TEXT NOT NULL GENERATED ALWAYS AS (firstName || ' ' || lastName)
1+
CREATE TABLE foo (
2+
intPk INTEGER PRIMARY KEY AUTOINCREMENT,
3+
textNotNull TEXT NOT NULL,
4+
textNullable TEXT,
5+
dateWithAdapterNotNull INTEGER AS Date NOT NULL,
6+
dateWithAdapterNullable INTEGER AS Date,
7+
dateWithCustomAdapter TEXT AS Date USING CustomDate,
8+
generatedColumn TEXT NOT NULL GENERATED ALWAYS AS ('a-good-prefix ' || textNotNull)
109
);
1110

12-
CREATE TABLE interest (
13-
id INTEGER PRIMARY KEY AUTOINCREMENT,
14-
value TEXT NOT NULL,
15-
userId INTEGER REFERENCES user(id)
11+
CREATE TABLE bar (
12+
intPk INTEGER PRIMARY KEY,
13+
barNotNullText TEXT NOT NULL
1614
);
Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
1-
insertUser:
2-
INSERT INTO user VALUES (?, ?, ?, ?, ?, ?, ?) RETURNING id;
1+
insertFooReturningFoo:
2+
INSERT INTO foo
3+
(textNotNull, textNullable, dateWithAdapterNotNull, dateWithAdapterNullable, dateWithCustomAdapter)
4+
VALUES (?, ?, ?, ?, ?)
5+
RETURNING *;
36

4-
selectUsers:
5-
SELECT * FROM user;
7+
insertBarReturningIntPk:
8+
INSERT INTO bar (intPk, barNotNullText) VALUES (:customNameIntPk, ?) RETURNING intPk;
69

7-
selectUserById:
8-
SELECT * FROM user WHERE id = ?;
10+
insertBarReturningExtraColumn:
11+
INSERT INTO bar VALUES (?, ?) RETURNING *, 123 AS columnAfter;
912

10-
selectUserByIds:
11-
SELECT * FROM user WHERE id IN ?;
13+
selectSingleFoo:
14+
SELECT * FROM foo WHERE intPk = ?;
1215

13-
selectUserByName:
14-
SELECT * FROM user WHERE fullName LIKE ?;
16+
hasEmbeddedFoo:
17+
SELECT foo.*, bar.barNotNullText AS shouldBeNullable
18+
FROM foo
19+
LEFT OUTER JOIN bar ON foo.intPk = bar.intPk
20+
WHERE foo.intPk = ?;
1521

16-
selectUserWithManyInputs:
17-
SELECT *, 1 AS favoriteNumber FROM user WHERE id = ? AND firstName = ?;
22+
bothColumnsShouldNotBeNullable:
23+
SELECT foo.intPk AS f, bar.intPk AS b FROM foo
24+
INNER JOIN bar ON foo.intPk = bar.intPk;
1825

19-
selectWithInterest:
20-
SELECT user.*, interest.* FROM user INNER JOIN interest ON user.id = interest.userId;
21-
22-
selectWithOptionalInterest:
23-
SELECT user.*, interest.* FROM user LEFT OUTER JOIN interest ON user.id = interest.userId;
26+
selectWithManyInputs:
27+
SELECT * FROM foo WHERE intPk = ? AND textNotNull = ?;

0 commit comments

Comments
 (0)