Skip to content

Commit 40c704a

Browse files
add tests
1 parent d807a2d commit 40c704a

File tree

2 files changed

+70
-39
lines changed
  • ktorm-support-mysql/src/test/kotlin/org/ktorm/support/mysql
  • ktorm-support-postgresql/src/test/kotlin/org/ktorm/support/postgresql

2 files changed

+70
-39
lines changed

ktorm-support-mysql/src/test/kotlin/org/ktorm/support/mysql/MySqlTest.kt

Lines changed: 65 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -142,34 +142,6 @@ class MySqlTest : BaseTest() {
142142
assert(ids == listOf(ID_2))
143143
}
144144

145-
@Test
146-
fun testBulkInsert() {
147-
database.bulkInsert(Employees) {
148-
item {
149-
set(it.name, "jerry")
150-
set(it.job, "trainee")
151-
set(it.managerId, 1)
152-
set(it.hireDate, LocalDate.now())
153-
set(it.salary, 50)
154-
set(it.departmentId, 1)
155-
}
156-
item {
157-
set(it.name, "linda")
158-
set(it.job, "assistant")
159-
set(it.managerId, 3)
160-
set(it.hireDate, LocalDate.now())
161-
set(it.salary, 100)
162-
set(it.departmentId, 2)
163-
}
164-
onDuplicateKey {
165-
set(it.name, it.name)
166-
set(it.job, values(it.job))
167-
}
168-
}
169-
170-
assert(database.employees.count() == 6)
171-
}
172-
173145
@Test
174146
fun testInsertOrUpdate() {
175147
database.insertOrUpdate(Employees) {
@@ -179,28 +151,87 @@ class MySqlTest : BaseTest() {
179151
set(it.salary, 1000)
180152
set(it.hireDate, LocalDate.now())
181153
set(it.departmentId, 1)
182-
183154
onDuplicateKey {
184-
set(it.salary, it.salary + 900)
155+
set(it.salary, it.salary + 1000)
185156
}
186157
}
187-
database.insertOrUpdate(Employees) {
158+
database.insertOrUpdate(Employees.aliased("t")) {
188159
set(it.id, 5)
189160
set(it.name, "vince")
190161
set(it.job, "engineer")
191162
set(it.salary, 1000)
192163
set(it.hireDate, LocalDate.now())
193164
set(it.departmentId, 1)
194-
195165
onDuplicateKey {
196-
set(it.salary, it.salary + 900)
166+
set(it.salary, it.salary + 1000)
197167
}
198168
}
199169

200-
assert(database.employees.find { it.id eq 1 }!!.salary == 1000L)
170+
assert(database.employees.find { it.id eq 1 }!!.salary == 1100L)
201171
assert(database.employees.find { it.id eq 5 }!!.salary == 1000L)
202172
}
203173

174+
@Test
175+
fun testBulkInsert() {
176+
database.bulkInsert(Employees) {
177+
item {
178+
set(it.name, "vince")
179+
set(it.job, "engineer")
180+
set(it.salary, 1000)
181+
set(it.hireDate, LocalDate.now())
182+
set(it.departmentId, 1)
183+
}
184+
item {
185+
set(it.name, "vince")
186+
set(it.job, "engineer")
187+
set(it.salary, 1000)
188+
set(it.hireDate, LocalDate.now())
189+
set(it.departmentId, 1)
190+
}
191+
}
192+
193+
assert(database.employees.count() == 6)
194+
}
195+
196+
@Test
197+
fun testBulkInsertOrUpdate() {
198+
database.bulkInsertOrUpdate(Employees) {
199+
item {
200+
set(it.id, 1)
201+
set(it.name, "vince")
202+
set(it.job, "trainee")
203+
set(it.salary, 1000)
204+
set(it.hireDate, LocalDate.now())
205+
set(it.departmentId, 2)
206+
}
207+
item {
208+
set(it.id, 5)
209+
set(it.name, "vince")
210+
set(it.job, "engineer")
211+
set(it.salary, 1000)
212+
set(it.hireDate, LocalDate.now())
213+
set(it.departmentId, 2)
214+
}
215+
onDuplicateKey {
216+
set(it.job, it.job)
217+
set(it.departmentId, values(it.departmentId))
218+
set(it.salary, it.salary + 1000)
219+
}
220+
}
221+
222+
database.employees.find { it.id eq 1 }!!.let {
223+
assert(it.job == "engineer")
224+
assert(it.department.id == 2)
225+
assert(it.salary == 1100L)
226+
}
227+
228+
database.employees.find { it.id eq 5 }!!.let {
229+
assert(it.job == "engineer")
230+
assert(it.department.id == 2)
231+
assert(it.salary == 1000L)
232+
}
233+
}
234+
204235
@Test
205236
fun testNaturalJoin() {
206237
val query = database.from(Employees).naturalJoin(Departments).select()

ktorm-support-postgresql/src/test/kotlin/org/ktorm/support/postgresql/PostgreSqlTest.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -170,32 +170,32 @@ class PostgreSqlTest : BaseTest() {
170170
set(it.job, "trainee")
171171
set(it.salary, 1000)
172172
set(it.hireDate, LocalDate.now())
173-
set(it.departmentId, 1)
173+
set(it.departmentId, 2)
174174
}
175175
item {
176176
set(it.id, 5)
177177
set(it.name, "vince")
178178
set(it.job, "engineer")
179179
set(it.salary, 1000)
180180
set(it.hireDate, LocalDate.now())
181-
set(it.departmentId, 1)
181+
set(it.departmentId, 2)
182182
}
183183
onConflict(it.id) {
184184
set(it.job, it.job)
185-
set(it.hireDate, excluded(it.hireDate))
185+
set(it.departmentId, excluded(it.departmentId))
186186
set(it.salary, it.salary + 1000)
187187
}
188188
}
189189

190190
database.employees.find { it.id eq 1 }!!.let {
191191
assert(it.job == "engineer")
192-
assert(it.hireDate == LocalDate.now())
192+
assert(it.department.id == 2)
193193
assert(it.salary == 1100L)
194194
}
195195

196196
database.employees.find { it.id eq 5 }!!.let {
197197
assert(it.job == "engineer")
198-
assert(it.hireDate == LocalDate.now())
198+
assert(it.department.id == 2)
199199
assert(it.salary == 1000L)
200200
}
201201
}

0 commit comments

Comments
 (0)