Skip to content

Commit

Permalink
PERA-1694 :: add some more unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
michaeltchuang committed Feb 28, 2025
1 parent c686218 commit dd29145
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ class ReferrerManagerImplTest {

@Test
fun `saveReferrerData should handle empty referrer data`() = runTest {
// Given
val testReferrerUrl = "https://example.com"
val emptyReferrerData = ReferrerData(
utmSource = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,4 +140,68 @@ class ReferrerQueryParamParserImplTest {
)
assertEquals(expected, result)
}

@Test
fun `getReferrerData should properly process multiple parameters`() {
val queryString = "param1=value1&utm_source=pera_website&param2=value2&utm_medium=organic&param3=value3"

val result = sut.getReferrerData(queryString)

val expected = ReferrerData(
utmSource = "pera_website",
utmMedium = "organic",
utmCampaign = null,
utmTerm = null,
utmContent = null
)
assertEquals(expected, result)
}

@Test
fun `getReferrerData should handle query string without ampersands`() {
val queryString = "utm_source=pera_website"

val result = sut.getReferrerData(queryString)

val expected = ReferrerData(
utmSource = "pera_website",
utmMedium = null,
utmCampaign = null,
utmTerm = null,
utmContent = null
)
assertEquals(expected, result)
}

@Test
fun `getReferrerData should handle query parameter without value`() {
val queryString = "utm_source=pera_website&broken_param"

val result = sut.getReferrerData(queryString)

val expected = ReferrerData(
utmSource = "pera_website",
utmMedium = null,
utmCampaign = null,
utmTerm = null,
utmContent = null
)
assertEquals(expected, result)
}

@Test
fun `getReferrerData should handle query parameter without key`() {
val queryString = "utm_source=pera_website&=invalid"

val result = sut.getReferrerData(queryString)

val expected = ReferrerData(
utmSource = "pera_website",
utmMedium = null,
utmCampaign = null,
utmTerm = null,
utmContent = null
)
assertEquals(expected, result)
}
}

0 comments on commit dd29145

Please sign in to comment.