Get Account

- add AccountController
- add AccountEntity toAccountResponse in Mapping.kt
- add AccountService
- add AccountRepository
- add AccountEntity
This commit is contained in:
2024-12-29 07:07:44 +01:00
parent 573b4bd6fe
commit 6aee16c4a2
12 changed files with 330 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
package ltd.hlaeja.service
import io.mockk.every
import io.mockk.mockk
import io.mockk.verify
import java.time.ZonedDateTime
import java.util.UUID
import ltd.hlaeja.entity.AccountEntity
import ltd.hlaeja.repository.AccountRepository
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.springframework.web.server.ResponseStatusException
import reactor.core.publisher.Mono
import reactor.test.StepVerifier
class AccountServiceTest {
companion object {
val account = UUID.fromString("00000000-0000-0000-0000-000000000002")
}
private lateinit var accountRepository: AccountRepository
private lateinit var accountService: AccountService
@BeforeEach
fun setup() {
accountRepository = mockk()
accountService = AccountService(accountRepository)
}
@Test
fun `get account by id - success`() {
// given
val accountEntity = AccountEntity(
account,
ZonedDateTime.now(),
ZonedDateTime.now(),
true,
"username",
"password",
"ROLE_TEST",
)
every { accountRepository.findById(any(UUID::class)) } returns Mono.just(accountEntity)
// when
StepVerifier.create(accountService.getUserById(account))
.expectNext(accountEntity)
.verifyComplete()
// then
verify { accountRepository.findById(any(UUID::class)) }
}
@Test
fun `get account by id - fail does not exist`() {
// given
every { accountRepository.findById(any(UUID::class)) } returns Mono.empty()
// when
StepVerifier.create(accountService.getUserById(account))
.expectError(ResponseStatusException::class.java)
.verify()
// then
verify { accountRepository.findById(any(UUID::class)) }
}
}