add NodeService

This commit is contained in:
2024-11-22 22:36:23 +01:00
parent 0fe88d03a5
commit 8a5a86abc3
2 changed files with 54 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
package ltd.hlaeja.service
import ltd.hlaeja.entity.NodeEntity
import ltd.hlaeja.repository.NodeRepository
import mu.KotlinLogging
import org.springframework.stereotype.Service
private val log = KotlinLogging.logger {}
@Service
class NodeService(
private val nodeRepository: NodeRepository,
) {
suspend fun addNode(
node: NodeEntity,
): NodeEntity = nodeRepository.save(node)
.also { log.debug { "Added node ${it.id}" } }
}

View File

@@ -0,0 +1,35 @@
package ltd.hlaeja.service
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.mockk
import kotlinx.coroutines.test.runTest
import ltd.hlaeja.entity.NodeEntity
import ltd.hlaeja.repository.NodeRepository
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
class NodeServiceTest {
val repository: NodeRepository = mockk()
lateinit var service: NodeService
@BeforeEach
fun setUp() {
service = NodeService(repository)
}
@Test
fun `add new node - success`() = runTest {
// given
val entity: NodeEntity = mockk()
coEvery { repository.save(any()) } returns entity
// when
service.addNode(entity)
// then
coVerify(exactly = 1) { repository.save(any()) }
}
}