From 1394bc74c4a73a40d4446295934b45391ed5e668 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Tue, 15 Aug 2023 23:35:58 +0530 Subject: [PATCH] refactor(database): de-dupe test database setup --- .../database/local/PostCommentsQueriesTest.kt | 14 +----------- .../database/local/SavedPostQueriesTest.kt | 14 +----------- .../msfjarvis/claw/database/local/utils.kt | 22 +++++++++++++++++++ 3 files changed, 24 insertions(+), 26 deletions(-) create mode 100644 database/src/test/kotlin/dev/msfjarvis/claw/database/local/utils.kt diff --git a/database/src/test/kotlin/dev/msfjarvis/claw/database/local/PostCommentsQueriesTest.kt b/database/src/test/kotlin/dev/msfjarvis/claw/database/local/PostCommentsQueriesTest.kt index 0e5a2ad3..5b5e0b4e 100644 --- a/database/src/test/kotlin/dev/msfjarvis/claw/database/local/PostCommentsQueriesTest.kt +++ b/database/src/test/kotlin/dev/msfjarvis/claw/database/local/PostCommentsQueriesTest.kt @@ -6,11 +6,7 @@ */ package dev.msfjarvis.claw.database.local -import app.cash.sqldelight.adapter.primitive.IntColumnAdapter -import app.cash.sqldelight.driver.jdbc.sqlite.JdbcSqliteDriver import com.google.common.truth.Truth.assertThat -import dev.msfjarvis.claw.database.LobstersDatabase -import dev.msfjarvis.claw.database.model.CSVAdapter import java.util.UUID import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test @@ -20,15 +16,7 @@ class PostCommentsQueriesTest { @BeforeEach fun setup() { - val driver = JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY) - LobstersDatabase.Schema.create(driver) - val database = - LobstersDatabase( - driver, - PostComments.Adapter(CSVAdapter()), - SavedPost.Adapter(IntColumnAdapter, CSVAdapter()), - ) - postQueries = database.postCommentsQueries + postQueries = setupDatabase().postCommentsQueries } @Test diff --git a/database/src/test/kotlin/dev/msfjarvis/claw/database/local/SavedPostQueriesTest.kt b/database/src/test/kotlin/dev/msfjarvis/claw/database/local/SavedPostQueriesTest.kt index c0371f77..e45be3e8 100644 --- a/database/src/test/kotlin/dev/msfjarvis/claw/database/local/SavedPostQueriesTest.kt +++ b/database/src/test/kotlin/dev/msfjarvis/claw/database/local/SavedPostQueriesTest.kt @@ -6,11 +6,7 @@ */ package dev.msfjarvis.claw.database.local -import app.cash.sqldelight.adapter.primitive.IntColumnAdapter -import app.cash.sqldelight.driver.jdbc.sqlite.JdbcSqliteDriver import com.google.common.truth.Truth.assertThat -import dev.msfjarvis.claw.database.LobstersDatabase -import dev.msfjarvis.claw.database.model.CSVAdapter import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test @@ -19,15 +15,7 @@ class SavedPostQueriesTest { @BeforeEach fun setup() { - val driver = JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY) - LobstersDatabase.Schema.create(driver) - val database = - LobstersDatabase( - driver, - PostComments.Adapter(CSVAdapter()), - SavedPost.Adapter(IntColumnAdapter, CSVAdapter()), - ) - postQueries = database.savedPostQueries + postQueries = setupDatabase().savedPostQueries } @Test diff --git a/database/src/test/kotlin/dev/msfjarvis/claw/database/local/utils.kt b/database/src/test/kotlin/dev/msfjarvis/claw/database/local/utils.kt new file mode 100644 index 00000000..de18c3c5 --- /dev/null +++ b/database/src/test/kotlin/dev/msfjarvis/claw/database/local/utils.kt @@ -0,0 +1,22 @@ +/* + * Copyright © 2023 Harsh Shandilya. + * Use of this source code is governed by an MIT-style + * license that can be found in the LICENSE file or at + * https://opensource.org/licenses/MIT. + */ +package dev.msfjarvis.claw.database.local + +import app.cash.sqldelight.adapter.primitive.IntColumnAdapter +import app.cash.sqldelight.driver.jdbc.sqlite.JdbcSqliteDriver +import dev.msfjarvis.claw.database.LobstersDatabase +import dev.msfjarvis.claw.database.model.CSVAdapter + +fun setupDatabase(): LobstersDatabase { + val driver = JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY) + LobstersDatabase.Schema.create(driver) + return LobstersDatabase( + driver, + PostComments.Adapter(CSVAdapter()), + SavedPost.Adapter(IntColumnAdapter, CSVAdapter()), + ) +}