add NodeService
This commit is contained in:
19
src/main/kotlin/ltd/hlaeja/service/NodeService.kt
Normal file
19
src/main/kotlin/ltd/hlaeja/service/NodeService.kt
Normal 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}" } }
|
||||||
|
}
|
||||||
35
src/test/kotlin/ltd/hlaeja/service/NodeServiceTest.kt
Normal file
35
src/test/kotlin/ltd/hlaeja/service/NodeServiceTest.kt
Normal 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()) }
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user