Skip to content

Commit 86ba56c

Browse files
authored
Merge pull request #48 from Task-Tracker-Systems/coverage
Coverage
2 parents 66ab7ff + 6cfc495 commit 86ba56c

File tree

25 files changed

+287
-51
lines changed

25 files changed

+287
-51
lines changed

Task-Tracker-CLI/src/main/kotlin/CLI.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class CLI(
5353
"Delete" -> {
5454
val confirm = KInquirer.promptConfirm("Are you sure to delete $task")
5555
if (confirm) {
56-
useCases.createRemoveTasks(task).invoke()
56+
useCases.createRemoveTask(task).invoke()
5757
println("$task was removed")
5858
}
5959
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
import com.garbereder.tasktracker.usecases.sqlite.DriverFactory
12
import com.garbereder.tasktracker.usecases.tasks.DBTaskCollectionReaderFactory
23

34
fun main() {
45
CLI(
5-
DBTaskCollectionReaderFactory()
6+
DBTaskCollectionReaderFactory(DriverFactory("jdbc:sqlite:tasktracker.sqlite"))
67
).run()
78
}

Task-Tracker-Entities/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ plugins {
22
kotlin("multiplatform") version "1.8.22"
33
id("org.jlleitschuh.gradle.ktlint") version "11.5.1"
44
id("maven-publish")
5+
id("org.jetbrains.kotlinx.kover") version "0.7.3"
56
}
67

78
group = "com.garbereder.tasktracker.entities"

Task-Tracker-Usecases-SQLite-Impl/build.gradle.kts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ plugins {
33
id("maven-publish")
44
id("app.cash.sqldelight") version "2.0.0-rc01"
55
id("org.jlleitschuh.gradle.ktlint") version "11.4.0"
6+
id("org.jetbrains.kotlinx.kover") version "0.7.3"
67
}
78

89
group = "com.garbereder.tasktracker.usecases.sqlite"
@@ -73,3 +74,15 @@ ktlint {
7374
}
7475
}
7576
}
77+
78+
koverReport {
79+
filters {
80+
excludes {
81+
classes(
82+
"com.garbereder.tasktracker.usecases.sqlite.TaskTrackerUsecasesSQLiteImpl.DatabaseImpl",
83+
"com.garbereder.tasktracker.usecases.sqlite.TaskTrackerUsecasesSQLiteImpl.DatabaseImpl\$Schema",
84+
"com.garbereder.tasktracker.usecases.sqlite.TaskTrackerUsecasesSQLiteImpl.DatabaseImplKt"
85+
)
86+
}
87+
}
88+
}
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.garbereder.tasktracker.usecases.sqlite
22

33
import app.cash.sqldelight.db.SqlDriver
4+
import com.garbereder.tasktracker.usecases.tasks.DBDriverFactory
45

5-
expect class DriverFactory {
6-
fun createDriver(): SqlDriver
6+
expect class DriverFactory : DBDriverFactory {
7+
override fun createDriver(): SqlDriver
78
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.garbereder.tasktracker.usecases.tasks
2+
3+
import app.cash.sqldelight.db.SqlDriver
4+
5+
interface DBDriverFactory {
6+
fun createDriver(): SqlDriver
7+
}

Task-Tracker-Usecases-SQLite-Impl/src/commonMain/kotlin/com/garbereder/tasktracker/usecases/tasks/DBTask.kt

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,26 @@ import com.garbereder.tasktracker.entities.Task
44
import com.garbereder.tasktracker.entities.TaskCollection
55
import com.garbereder.tasktracker.usecases.sqlite.Database
66

7-
class DBAwareTaskCollection(private val database: Database) :
7+
class DBTaskCollection(private val database: Database) :
88
TaskCollection {
99

10-
override fun add(task: Task) {
10+
override fun add(task: Task) =
1111
database.transaction {
12-
database.tasksQueries.insert(task.name)
12+
database.tasksQueries.insert(task.name, task.totalDuration)
1313
}
14-
}
1514

16-
override fun iterator(): Iterator<Task> = database.tasksQueries.selectAll().executeAsList().map { t -> Task(t.name, t.total_duration) }.iterator()
15+
override fun iterator(): Iterator<Task> =
16+
database.tasksQueries.selectAll().executeAsList().map { t -> Task(t.name, t.total_duration) }.iterator()
1717

18-
override fun remove(task: Task) {
18+
override fun remove(task: Task) =
1919
database.transaction {
2020
database.tasksQueries.deleteByName(task.name)
2121
}
22-
}
2322

24-
override fun replace(task: Task) {
23+
override fun replace(task: Task) =
2524
database.transaction {
2625
database.tasksQueries.setTotalDuration(task.totalDuration, task.name)
2726
}
28-
}
2927

3028
override fun size(): Int = database.tasksQueries.selectAll().executeAsList().count()
3129
}

Task-Tracker-Usecases-SQLite-Impl/src/commonMain/kotlin/com/garbereder/tasktracker/usecases/tasks/DBTaskCollectionReader.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@ package com.garbereder.tasktracker.usecases.tasks
22

33
import com.garbereder.tasktracker.entities.TaskCollection
44
import com.garbereder.tasktracker.usecases.sqlite.Database
5-
import com.garbereder.tasktracker.usecases.sqlite.DriverFactory
65

7-
class DBTaskCollectionReader internal constructor(private val driverFactory: DriverFactory) : TaskCollectionReader {
8-
override fun read(): TaskCollection {
9-
val database = Database(driverFactory.createDriver())
10-
return DBAwareTaskCollection(database)
11-
}
6+
class DBTaskCollectionReader internal constructor(private val driverFactory: DBDriverFactory) : TaskCollectionReader {
7+
override fun read(): TaskCollection = DBTaskCollection(Database(driverFactory.createDriver()))
128
}
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
CREATE TABLE IF NOT EXISTS Task (
1+
CREATE TABLE IF NOT EXISTS PersistentTask (
22
id INTEGER PRIMARY KEY AUTOINCREMENT,
33
name TEXT NOT NULL,
44
total_duration INTEGER NOT NULL DEFAULT 0
55
);
66

77
selectAll:
88
SELECT *
9-
FROM Task;
9+
FROM PersistentTask
10+
ORDER BY name;
1011

1112
insert:
12-
INSERT INTO Task(name)
13-
VALUES (?);
13+
INSERT INTO PersistentTask(name, total_duration)
14+
VALUES (?, ?);
1415

1516
deleteByName:
16-
DELETE FROM Task
17+
DELETE FROM PersistentTask
1718
WHERE name = ?;
1819

1920
setTotalDuration:
20-
UPDATE Task
21+
UPDATE PersistentTask
2122
SET total_duration = ?
2223
WHERE name = ?;

0 commit comments

Comments
 (0)