tests(contract): fixed sync test
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.project.movienight.controllers
|
package com.project.movienight.controllers
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper
|
import com.fasterxml.jackson.databind.ObjectMapper
|
||||||
|
import org.hamcrest.Matchers.hasItem
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.springframework.beans.factory.annotation.Autowired
|
import org.springframework.beans.factory.annotation.Autowired
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc
|
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc
|
||||||
@@ -38,17 +39,18 @@ class JellyfinPluginContractTest {
|
|||||||
fun `plugin sync payload creates mapped user and film`() {
|
fun `plugin sync payload creates mapped user and film`() {
|
||||||
postSyncPayload()
|
postSyncPayload()
|
||||||
|
|
||||||
|
val syncedRecommendationTitlePath = "$[?(@.jellyfinItemId == '$jellyfinItemId')].title"
|
||||||
|
val syncedRecommendationWatchUrlPath = "$[?(@.jellyfinItemId == '$jellyfinItemId')].watchUrl"
|
||||||
|
val expectedWatchUrl = "https://jellyfin.example.test/web/#/details?id=$jellyfinItemId"
|
||||||
|
|
||||||
mockMvc
|
mockMvc
|
||||||
.perform(
|
.perform(
|
||||||
get("/api/integrations/jellyfin/users/$dashedJellyfinUserId/recommendations")
|
get("/api/integrations/jellyfin/users/$dashedJellyfinUserId/recommendations")
|
||||||
.header("X-MovieNight-Plugin-Token", "test-token"),
|
.header("X-MovieNight-Plugin-Token", "test-token"),
|
||||||
).andExpect(status().isOk)
|
).andExpect(status().isOk)
|
||||||
.andExpect(jsonPath("$[0].title").value("Jellyfin Contract Film"))
|
.andExpect(jsonPath("$[*].jellyfinItemId").value(hasItem(jellyfinItemId)))
|
||||||
.andExpect(jsonPath("$[0].jellyfinItemId").value(jellyfinItemId))
|
.andExpect(jsonPath(syncedRecommendationTitlePath).value(hasItem("Jellyfin Contract Film")))
|
||||||
.andExpect(
|
.andExpect(jsonPath(syncedRecommendationWatchUrlPath).value(hasItem(expectedWatchUrl)))
|
||||||
jsonPath("$[0].watchUrl")
|
|
||||||
.value("https://jellyfin.example.test/web/#/details?id=$jellyfinItemId"),
|
|
||||||
)
|
|
||||||
|
|
||||||
mockMvc
|
mockMvc
|
||||||
.perform(
|
.perform(
|
||||||
|
|||||||
Reference in New Issue
Block a user