-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInsertTest.php
More file actions
63 lines (58 loc) 路 1.75 KB
/
Copy pathInsertTest.php
File metadata and controls
63 lines (58 loc) 路 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
use Pipe\SQL;
beforeAll(function () {
db()->connect("127.0.0.1", "root", "pass", "test");
db()->raw("DROP TABLE IF EXISTS users");
db()->raw("CREATE TABLE `users` (
`id` int unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` varchar(100) NOT NULL,
`password` varchar(255) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
`deleted` tinyint(1) NOT NULL
)");
});
it("prepares and inserts one", function () {
$r = db()->query(
"INSERT INTO `users` (`name`, `password`, `created_at`, `updated_at`, `deleted`)
VALUES (:name, :password, :created_at, :updated_at, :deleted)",
[
'name' => 'fName lName 0',
'password' => 'pwd0',
'created_at' => date("Y-m-d H:i:s"),
'updated_at' => date("Y-m-d H:i:s"),
"deleted" => 1
],
);
expect(db()->lastInsertId())->toEqual(1);
expect(db()->raw("SELECT name FROM users")->one())
->toBeString()
->toEqual("fName lName 0");
});
it("prepares and inserts many", function () {
$params = [];
for ($i = 0; $i < 3; $i++) {
$params = array_merge(
$params,
[
'fName lName ' . $i,
'pwd' . $i,
date("Y-m-d H:i:s"),
date("Y-m-d H:i:s"),
1,
]
);
}
$r = db()->query(
"
INSERT INTO `users` (`name`, `password`, `created_at`, `updated_at`, `deleted`) VALUES
(?, ?, ?, ?, ?),
(?, ?, ?, ?, ?),
(?, ?, ?, ?, ?)
",
$params
);
expect(db()->raw("SELECT name FROM users LIMIT 1 OFFSET 3")->one())
->toBeString()
->toEqual("fName lName 2");
});