38 lines
1.3 KiB
Kotlin

package be.simplenotes.persistance.notes
import be.simplenotes.persistance.repositories.NoteRepository
import be.simplenotes.types.*
import com.github.javafaker.Faker
import java.util.*
private val faker = Faker()
fun fakeUuid() = UUID.randomUUID()!!
fun fakeTitle() = faker.lorem().characters(3, 50)!!
fun tagGenerator() = generateSequence { faker.lorem().word() }
fun fakeTags() = tagGenerator().take(faker.random().nextInt(0, 3)).toList()
fun fakeContent() = faker.lorem().paragraph(faker.random().nextInt(0, 3))!!
fun fakeNote() = Note(NoteMetadata(fakeTitle(), fakeTags()), fakeContent(), fakeContent())
fun PersistedNote.toPersistedMeta() =
PersistedNoteMetadata(meta.title, meta.tags, updatedAt, uuid)
fun NoteRepository.insertFakeNote(
userId: Int,
title: String,
tags: List<String> = emptyList(),
md: String = "md",
html: String = "html",
): PersistedNote = create(userId, Note(NoteMetadata(title, tags), md, html))
fun NoteRepository.insertFakeNote(
user: PersistedUser,
title: String = fakeTitle(),
tags: List<String> = fakeTags(),
md: String = fakeContent(),
html: String = fakeContent(),
): PersistedNote = insertFakeNote(user.id, title, tags, md, html)
fun NoteRepository.insertFakeNotes(user: PersistedUser, count: Int): List<PersistedNote> =
generateSequence { insertFakeNote(user) }.take(count).toList()