diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/comicinfo/ComicInfoProvider.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/comicinfo/ComicInfoProvider.kt index 0085ad5a7..755852739 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/comicinfo/ComicInfoProvider.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/comicinfo/ComicInfoProvider.kt @@ -77,7 +77,7 @@ class ComicInfoProvider( val genres = comicInfo.genre?.split(',')?.mapNotNull { it.trim().ifBlank { null } } val series = comicInfo.series?.ifBlank { null }?.let { series -> - series + (comicInfo.volume?.let { " ($it)" } ?: "") + series + (comicInfo.volume?.let { if (it != 1) " ($it)" else "" } ?: "") } return SeriesMetadataPatch( diff --git a/komga/src/test/kotlin/org/gotson/komga/infrastructure/metadata/comicinfo/ComicInfoProviderTest.kt b/komga/src/test/kotlin/org/gotson/komga/infrastructure/metadata/comicinfo/ComicInfoProviderTest.kt index f735a271c..8b4341014 100644 --- a/komga/src/test/kotlin/org/gotson/komga/infrastructure/metadata/comicinfo/ComicInfoProviderTest.kt +++ b/komga/src/test/kotlin/org/gotson/komga/infrastructure/metadata/comicinfo/ComicInfoProviderTest.kt @@ -229,6 +229,22 @@ class ComicInfoProviderTest { } } + @Test + fun `given comicInfo with volume as 1 when getting series metadata then metadata title omits volume`() { + val comicInfo = ComicInfo().apply { + series = "series" + volume = 1 + } + + every { mockMapper.readValue(any(), ComicInfo::class.java) } returns comicInfo + + val patch = comicInfoProvider.getSeriesMetadataFromBook(book, media)!! + + with(patch) { + assertThat(title).isEqualTo("series") + } + } + @Test fun `given comicInfo with incorrect values when getting series metadata then metadata patch is valid`() { val comicInfo = ComicInfo().apply {