fix(test): add mockk catalog dependency and format service tests

Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/abb7242b-7ff5-4cde-9d34-5733a7f1172f

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-04-23 06:36:27 +00:00
committed by GitHub
co-authored by devitq
parent f927148897
commit bd7ecfcab5
2 changed files with 93 additions and 70 deletions
+2
View File
@@ -11,6 +11,7 @@ spring-grpc = "1.0.1"
protoc = "3.25.1" protoc = "3.25.1"
grpc-java = "1.60.0" grpc-java = "1.60.0"
springdoc = "2.8.6" springdoc = "2.8.6"
mockk = "1.13.12"
[libraries] [libraries]
spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web" } spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web" }
@@ -33,6 +34,7 @@ flyway-database-postgresql = { module = "org.flywaydb:flyway-database-postgresql
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect" } kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect" }
kotlin-test-junit5 = { module = "org.jetbrains.kotlin:kotlin-test-junit5" } kotlin-test-junit5 = { module = "org.jetbrains.kotlin:kotlin-test-junit5" }
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher" } junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher" }
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
sentry-bom = { module = "io.sentry:sentry-bom", version.ref = "sentry" } sentry-bom = { module = "io.sentry:sentry-bom", version.ref = "sentry" }
sentry-spring-boot-starter = { module = "io.sentry:sentry-spring-boot-starter-jakarta" } sentry-spring-boot-starter = { module = "io.sentry:sentry-spring-boot-starter-jakarta" }
@@ -38,7 +38,8 @@ class FilmLibraryServiceTest {
val libraryId = UUID.randomUUID() val libraryId = UUID.randomUUID()
val filmId = UUID.randomUUID() val filmId = UUID.randomUUID()
val command = CreateFilmLibraryCommand(userId = userId, name = "My Films") val command = CreateFilmLibraryCommand(userId = userId, name = "My Films")
val expectedLibrary = FilmLibrary( val expectedLibrary =
FilmLibrary(
id = libraryId, id = libraryId,
userId = userId, userId = userId,
filmId = filmId, filmId = filmId,
@@ -48,9 +49,13 @@ class FilmLibraryServiceTest {
every { filmLibraryRepository.findAll() } returns emptyList() every { filmLibraryRepository.findAll() } returns emptyList()
every { idGenerator.generateId() } returnsMany listOf(libraryId, filmId) every { idGenerator.generateId() } returnsMany listOf(libraryId, filmId)
every { filmLibraryRepository.save(match { every {
filmLibraryRepository.save(
match {
it.userId == userId && it.comment == "My Films" && it.isViewed == false it.userId == userId && it.comment == "My Films" && it.isViewed == false
}) } returns expectedLibrary },
)
} returns expectedLibrary
val result = filmLibraryService.create(command) val result = filmLibraryService.create(command)
@@ -68,7 +73,8 @@ class FilmLibraryServiceTest {
@Test @Test
fun `should return existing library when user already has one`() { fun `should return existing library when user already has one`() {
val userId = UUID.randomUUID() val userId = UUID.randomUUID()
val existingLibrary = FilmLibrary( val existingLibrary =
FilmLibrary(
id = UUID.randomUUID(), id = UUID.randomUUID(),
userId = userId, userId = userId,
filmId = UUID.randomUUID(), filmId = UUID.randomUUID(),
@@ -94,7 +100,8 @@ class FilmLibraryServiceTest {
val filmId = UUID.randomUUID() val filmId = UUID.randomUUID()
val libraryId = UUID.randomUUID() val libraryId = UUID.randomUUID()
val command = AddFilmToLibraryCommand(userId = userId, filmId = filmId) val command = AddFilmToLibraryCommand(userId = userId, filmId = filmId)
val expectedLibrary = FilmLibrary( val expectedLibrary =
FilmLibrary(
id = libraryId, id = libraryId,
userId = userId, userId = userId,
filmId = filmId, filmId = filmId,
@@ -104,9 +111,13 @@ class FilmLibraryServiceTest {
every { filmLibraryRepository.findAll() } returns emptyList() every { filmLibraryRepository.findAll() } returns emptyList()
every { idGenerator.generateId() } returns libraryId every { idGenerator.generateId() } returns libraryId
every { filmLibraryRepository.save(match { every {
filmLibraryRepository.save(
match {
it.userId == userId && it.filmId == filmId && it.comment == null && it.isViewed == false it.userId == userId && it.filmId == filmId && it.comment == null && it.isViewed == false
}) } returns expectedLibrary },
)
} returns expectedLibrary
val result = filmLibraryService.addFilm(command) val result = filmLibraryService.addFilm(command)
@@ -124,7 +135,8 @@ class FilmLibraryServiceTest {
val userId = UUID.randomUUID() val userId = UUID.randomUUID()
val oldFilmId = UUID.randomUUID() val oldFilmId = UUID.randomUUID()
val newFilmId = UUID.randomUUID() val newFilmId = UUID.randomUUID()
val existingLibrary = FilmLibrary( val existingLibrary =
FilmLibrary(
id = UUID.randomUUID(), id = UUID.randomUUID(),
userId = userId, userId = userId,
filmId = oldFilmId, filmId = oldFilmId,
@@ -135,9 +147,13 @@ class FilmLibraryServiceTest {
val updatedLibrary = existingLibrary.copy(filmId = newFilmId, isViewed = false) val updatedLibrary = existingLibrary.copy(filmId = newFilmId, isViewed = false)
every { filmLibraryRepository.findAll() } returns listOf(existingLibrary) every { filmLibraryRepository.findAll() } returns listOf(existingLibrary)
every { filmLibraryRepository.save(match { every {
filmLibraryRepository.save(
match {
it.filmId == newFilmId && it.isViewed == false it.filmId == newFilmId && it.isViewed == false
}) } returns updatedLibrary },
)
} returns updatedLibrary
val result = filmLibraryService.addFilm(command) val result = filmLibraryService.addFilm(command)
@@ -154,7 +170,8 @@ class FilmLibraryServiceTest {
val userId = UUID.randomUUID() val userId = UUID.randomUUID()
val filmId = UUID.randomUUID() val filmId = UUID.randomUUID()
val libraryId = UUID.randomUUID() val libraryId = UUID.randomUUID()
val existingLibrary = FilmLibrary( val existingLibrary =
FilmLibrary(
id = libraryId, id = libraryId,
userId = userId, userId = userId,
filmId = filmId, filmId = filmId,
@@ -195,7 +212,8 @@ class FilmLibraryServiceTest {
val userId = UUID.randomUUID() val userId = UUID.randomUUID()
val libraryFilmId = UUID.randomUUID() val libraryFilmId = UUID.randomUUID()
val differentFilmId = UUID.randomUUID() val differentFilmId = UUID.randomUUID()
val existingLibrary = FilmLibrary( val existingLibrary =
FilmLibrary(
id = UUID.randomUUID(), id = UUID.randomUUID(),
userId = userId, userId = userId,
filmId = libraryFilmId, filmId = libraryFilmId,
@@ -220,14 +238,16 @@ class FilmLibraryServiceTest {
val filmId = UUID.randomUUID() val filmId = UUID.randomUUID()
val actualLibraryId = UUID.randomUUID() val actualLibraryId = UUID.randomUUID()
val wrongLibraryId = UUID.randomUUID() val wrongLibraryId = UUID.randomUUID()
val existingLibrary = FilmLibrary( val existingLibrary =
FilmLibrary(
id = actualLibraryId, id = actualLibraryId,
userId = userId, userId = userId,
filmId = filmId, filmId = filmId,
comment = "My Library", comment = "My Library",
isViewed = false, isViewed = false,
) )
val command = RemoveFilmFromLibraryCommand( val command =
RemoveFilmFromLibraryCommand(
userId = userId, userId = userId,
filmId = filmId, filmId = filmId,
libraryId = wrongLibraryId, libraryId = wrongLibraryId,
@@ -246,7 +266,8 @@ class FilmLibraryServiceTest {
@Test @Test
fun `should get library successfully`() { fun `should get library successfully`() {
val userId = UUID.randomUUID() val userId = UUID.randomUUID()
val existingLibrary = FilmLibrary( val existingLibrary =
FilmLibrary(
id = UUID.randomUUID(), id = UUID.randomUUID(),
userId = userId, userId = userId,
filmId = UUID.randomUUID(), filmId = UUID.randomUUID(),