Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions data/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ android {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
compileSdkMinor = 0
}

kotlin {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,19 @@ package com.itlab.domain.usecase
import com.itlab.domain.model.NoteFolder
import com.itlab.domain.repository.NoteFolderRepository
import kotlinx.datetime.Clock
import java.util.UUID

class CreateFolderUseCase(
private val repo: NoteFolderRepository,
) {
suspend operator fun invoke(folder: NoteFolder): String {
// discuss
val folder = folder.copy(createdAt = Clock.System.now())
val now = Clock.System.now()
val folder =
folder.copy(
id = UUID.randomUUID().toString(),
createdAt = now,
updatedAt = now,
)
return repo.createFolder(folder)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@ package com.itlab.domain.usecase
import com.itlab.domain.model.Note
import com.itlab.domain.repository.NotesRepository
import kotlinx.datetime.Clock
import java.util.UUID

class CreateNoteUseCase(
private val repo: NotesRepository,
) {
suspend operator fun invoke(note: Note): String {
val note = note.copy(createdAt = Clock.System.now())
val now = Clock.System.now()

val note =
note.copy(
id = UUID.randomUUID().toString(),
createdAt = now,
updatedAt = now,
)
return repo.createNote(note)
}
}
28 changes: 16 additions & 12 deletions domain/src/test/java/com/itlab/domain/FolderUseCasesTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,11 @@ class FolderUseCasesTest {
val create = CreateFolderUseCase(repo)
val get = GetFolderUseCase(repo)

val folder = NoteFolder(id = "1", name = "Test")
val folder = NoteFolder(name = "Test")

create(folder)
val id = create(folder)

val result = get("1")
val result = get(id)

assertEquals("Test", result?.name)
}
Expand All @@ -76,13 +76,16 @@ class FolderUseCasesTest {
val update = UpdateFolderUseCase(repo)
val get = GetFolderUseCase(repo)

val folder = NoteFolder(id = "1", name = "Old")
create(folder)
val folder = NoteFolder(name = "Old")

val updated = folder.copy(name = "New")
val id = create(folder)

val created = get(id)!!

val updated = created.copy(name = "New")
update(updated)

val result = get("1")
val result = get(id)

assertEquals("New", result?.name)
}
Expand All @@ -96,12 +99,13 @@ class FolderUseCasesTest {
val delete = DeleteFolderUseCase(repo)
val get = GetFolderUseCase(repo)

val folder = NoteFolder(id = "1", name = "Test")
create(folder)
val folder = NoteFolder(name = "Test")

val id = create(folder)

delete("1")
delete(id)

val result = get("1")
val result = get(id)

assertNull(result)
}
Expand All @@ -113,7 +117,7 @@ class FolderUseCasesTest {
val create = CreateFolderUseCase(repo)
val observe = ObserveFoldersUseCase(repo)

create(NoteFolder(id = "1", name = "A"))
create(NoteFolder(name = "A"))

val list = observe().first()

Expand Down
26 changes: 14 additions & 12 deletions domain/src/test/java/com/itlab/domain/NoteUseCasesTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -77,19 +77,21 @@ class NoteUseCasesTest {
val delete = DeleteNoteUseCase(repo)
val get = GetNoteUseCase(repo)

val note = Note(id = "n1", title = "A")
val note = Note(title = "A")

create(note)
val id = create(note)

val updated = note.copy(title = "B")
val created = get(id)!!

val updated = created.copy(title = "B")
update(updated)

val result = get("n1")
val result = get(id)
assertEquals("B", result?.title)

delete("n1")
delete(id)

val result2 = get("n1")
val result2 = get(id)
assertNull(result2)
}

Expand All @@ -105,12 +107,13 @@ class NoteUseCasesTest {
val folder = NoteFolder(id = "f1", name = "Folder")
folderRepo.createFolder(folder)

val note = Note(id = "n1", title = "Note")
createNote(note)
val note = Note(title = "Note")

val noteId = createNote(note)

move("f1", "n1")
move("f1", noteId)

val updated = notesRepo.getNoteById("n1")
val updated = notesRepo.getNoteById(noteId)

assertEquals("f1", updated?.folderId)
}
Expand All @@ -122,8 +125,7 @@ class NoteUseCasesTest {
val observe = ObserveNotesUseCase(repo)
val create = CreateNoteUseCase(repo)

create(Note(id = "n1", title = "Test"))

create(Note(title = "Test"))
val list = observe().first()

assertEquals(1, list.size)
Expand Down
Loading