Replace getJoke() and getJokes with joke() and jokes() [Breaking]

This commit is contained in:
Erik C. Thauvin 2023-09-01 15:14:52 -07:00
parent 9b0063dd9c
commit cd83485c64
15 changed files with 77 additions and 73 deletions

1
.gitignore vendored
View file

@ -64,7 +64,6 @@ dist/
ehthumbs.db ehthumbs.db
fabric.properties fabric.properties
gen/ gen/
gradle.properties
hs_err_pid* hs_err_pid*
kobaltBuild kobaltBuild
kobaltw*-test kobaltw*-test

2
.idea/kotlinc.xml generated
View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="KotlinJpsPluginSettings"> <component name="KotlinJpsPluginSettings">
<option name="version" value="1.8.20" /> <option name="version" value="1.8.22" />
</component> </component>
</project> </project>

1
.idea/misc.xml generated
View file

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="PDMPlugin"> <component name="PDMPlugin">

View file

@ -17,9 +17,9 @@ A simple library to retrieve jokes from [Sv443's JokeAPI](https://v2.jokeapi.dev
```kotlin ```kotlin
import net.thauvin.erik.jokeapi.getJoke import net.thauvin.erik.jokeapi.getJoke
val joke = getJoke() val joke = joke()
val safe = getJoke(safe = true) val safe = joke(safe = true)
val pun = getJoke(categories = setOf(Category.PUN)) val pun = joke(categories = setOf(Category.PUN))
``` ```
The parameters match the [joke endpoint](https://v2.jokeapi.dev/#joke-endpoint). The parameters match the [joke endpoint](https://v2.jokeapi.dev/#joke-endpoint).
@ -41,7 +41,7 @@ data class Joke(
To retrieve multiple jokes: To retrieve multiple jokes:
```kotlin ```kotlin
val frenchJokes = getJokes(amount = 2, type = Type.TWOPART, lang = Language.FR) val frenchJokes = jokes(amount = 2, type = Type.TWOPART, lang = Language.FR)
frenchJokes.forEach { frenchJokes.forEach {
println(it.joke.joinToString("\n")) println(it.joke.joinToString("\n"))
println("-".repeat(46)) println("-".repeat(46))
@ -85,7 +85,7 @@ var config = new JokeConfig.Builder()
.type(Type.SINGLE) .type(Type.SINGLE)
.safe(true) .safe(true)
.build(); .build();
var joke = JokeApi.getJoke(config); var joke = JokeApi.joke(config);
joke.getJoke().forEach(System.out::println); joke.getJoke().forEach(System.out::println);
``` ```
## Gradle, Maven, etc. ## Gradle, Maven, etc.

View file

@ -5,14 +5,14 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { plugins {
id("com.github.ben-manes.versions") version "0.47.0" id("com.github.ben-manes.versions") version "0.47.0"
id("io.gitlab.arturbosch.detekt") version "1.23.0" id("io.gitlab.arturbosch.detekt") version "1.23.1"
id("java") id("java")
id("maven-publish") id("maven-publish")
id("org.jetbrains.dokka") version "1.8.20" id("org.jetbrains.dokka") version "1.9.0"
id("org.jetbrains.kotlinx.kover") version "0.7.2" id("org.jetbrains.kotlinx.kover") version "0.7.3"
id("org.sonarqube") version "4.2.1.3168" id("org.sonarqube") version "4.3.1.3277"
id("signing") id("signing")
kotlin("jvm") version "1.8.22" kotlin("jvm") version "1.9.10"
} }
description = "Wrapper for Sv443's JokeAPI" description = "Wrapper for Sv443's JokeAPI"
@ -36,7 +36,7 @@ dependencies {
implementation("org.json:json:20230618") implementation("org.json:json:20230618")
testImplementation(kotlin("test")) testImplementation(kotlin("test"))
testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
testImplementation("com.willowtreeapps.assertk:assertk-jvm:0.26.1") testImplementation("com.willowtreeapps.assertk:assertk-jvm:0.26.1")
} }
@ -63,7 +63,7 @@ sonarqube {
property("sonar.organization", "ethauvin-github") property("sonar.organization", "ethauvin-github")
property("sonar.host.url", "https://sonarcloud.io") property("sonar.host.url", "https://sonarcloud.io")
property("sonar.sourceEncoding", "UTF-8") property("sonar.sourceEncoding", "UTF-8")
property("sonar.coverage.jacoco.xmlReportPaths", "${project.buildDir}/reports/kover/report.xml") property("sonar.coverage.jacoco.xmlReportPaths", "${project.layout.buildDirectory}/reports/kover/report.xml")
} }
} }

1
gradle.properties Normal file
View file

@ -0,0 +1 @@
kotlin.code.style=official

Binary file not shown.

View file

@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

8
gradlew vendored
View file

@ -83,7 +83,8 @@ done
# This is normally unused # This is normally unused
# shellcheck disable=SC2034 # shellcheck disable=SC2034
APP_BASE_NAME=${0##*/} APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum MAX_FD=maximum
@ -130,11 +131,14 @@ location of your Java installation."
fi fi
else else
JAVACMD=java JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the Please set the JAVA_HOME variable in your environment to match the
location of your Java installation." location of your Java installation."
fi fi
fi
# Increase the maximum file descriptors if we can. # Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then

View file

@ -103,7 +103,7 @@ object JokeApi {
@JvmStatic @JvmStatic
@Throws(HttpErrorException::class) @Throws(HttpErrorException::class)
fun getRawJokes(config: JokeConfig): String { fun getRawJokes(config: JokeConfig): String {
return getRawJokes( return rawJokes(
categories = config.categories, categories = config.categories,
lang = config.language, lang = config.language,
blacklistFlags = config.flags, blacklistFlags = config.flags,
@ -125,8 +125,8 @@ object JokeApi {
@JvmStatic @JvmStatic
@JvmOverloads @JvmOverloads
@Throws(HttpErrorException::class, JokeException::class) @Throws(HttpErrorException::class, JokeException::class)
fun getJoke(config: JokeConfig = JokeConfig.Builder().build()): Joke { fun joke(config: JokeConfig = JokeConfig.Builder().build()): Joke {
return getJoke( return joke(
categories = config.categories, categories = config.categories,
lang = config.language, lang = config.language,
blacklistFlags = config.flags, blacklistFlags = config.flags,
@ -146,8 +146,8 @@ object JokeApi {
*/ */
@JvmStatic @JvmStatic
@Throws(HttpErrorException::class, JokeException::class) @Throws(HttpErrorException::class, JokeException::class)
fun getJokes(config: JokeConfig): Array<Joke> { fun jokes(config: JokeConfig): Array<Joke> {
return getJokes( return jokes(
categories = config.categories, categories = config.categories,
lang = config.language, lang = config.language,
blacklistFlags = config.flags, blacklistFlags = config.flags,
@ -170,7 +170,7 @@ object JokeApi {
* *
* @param splitNewLine Split newline within [Type.SINGLE] joke. * @param splitNewLine Split newline within [Type.SINGLE] joke.
*/ */
fun getJoke( fun joke(
categories: Set<Category> = setOf(Category.ANY), categories: Set<Category> = setOf(Category.ANY),
lang: Language = Language.EN, lang: Language = Language.EN,
blacklistFlags: Set<Flag> = emptySet(), blacklistFlags: Set<Flag> = emptySet(),
@ -182,7 +182,7 @@ fun getJoke(
splitNewLine: Boolean = false splitNewLine: Boolean = false
): Joke { ): Joke {
val json = JSONObject( val json = JSONObject(
getRawJokes( rawJokes(
categories = categories, categories = categories,
lang = lang, lang = lang,
blacklistFlags = blacklistFlags, blacklistFlags = blacklistFlags,
@ -208,7 +208,7 @@ fun getJoke(
* @param amount The required amount of jokes to return. * @param amount The required amount of jokes to return.
* @param splitNewLine Split newline within [Type.SINGLE] joke. * @param splitNewLine Split newline within [Type.SINGLE] joke.
*/ */
fun getJokes( fun jokes(
amount: Int, amount: Int,
categories: Set<Category> = setOf(Category.ANY), categories: Set<Category> = setOf(Category.ANY),
lang: Language = Language.EN, lang: Language = Language.EN,
@ -221,7 +221,7 @@ fun getJokes(
splitNewLine: Boolean = false splitNewLine: Boolean = false
): Array<Joke> { ): Array<Joke> {
val json = JSONObject( val json = JSONObject(
getRawJokes( rawJokes(
categories = categories, categories = categories,
lang = lang, lang = lang,
blacklistFlags = blacklistFlags, blacklistFlags = blacklistFlags,
@ -250,7 +250,7 @@ fun getJokes(
* *
* Sse the [JokeAPI Documentation](https://jokeapi.dev/#joke-endpoint) for more details. * Sse the [JokeAPI Documentation](https://jokeapi.dev/#joke-endpoint) for more details.
*/ */
fun getRawJokes( fun rawJokes(
categories: Set<Category> = setOf(Category.ANY), categories: Set<Category> = setOf(Category.ANY),
lang: Language = Language.EN, lang: Language = Language.EN,
blacklistFlags: Set<Flag> = emptySet(), blacklistFlags: Set<Flag> = emptySet(),

View file

@ -58,10 +58,10 @@ internal class ExceptionsTest {
@Test @Test
fun `Validate Joke Exception`() { fun `Validate Joke Exception`() {
val e = assertThrows<JokeException> { val e = assertThrows<JokeException> {
getJoke(categories = setOf(Category.CHRISTMAS), contains = "foo") joke(categories = setOf(Category.CHRISTMAS), contains = "foo")
} }
logger.fine(e.debug()) logger.fine(e.debug())
assertThat(e, "getJoke(${Category.CHRISTMAS},foo)").all { assertThat(e, "joke(${Category.CHRISTMAS},foo)").all {
prop(JokeException::code).isEqualTo(106) prop(JokeException::code).isEqualTo(106)
prop(JokeException::internalError).isFalse() prop(JokeException::internalError).isFalse()
prop(JokeException::message).isEqualTo("No matching joke found") prop(JokeException::message).isEqualTo("No matching joke found")

View file

@ -64,9 +64,9 @@ import org.junit.jupiter.api.extension.ExtendWith
internal class GetJokeTest { internal class GetJokeTest {
@Test @Test
fun `Get Joke`() { fun `Get Joke`() {
val joke = getJoke() val joke = joke()
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke, "getJoke()").all { assertThat(joke, "joke()").all {
prop(Joke::joke).isNotEmpty() prop(Joke::joke).isNotEmpty()
prop(Joke::type).isIn(Type.SINGLE, Type.TWOPART) prop(Joke::type).isIn(Type.SINGLE, Type.TWOPART)
prop(Joke::id).isGreaterThanOrEqualTo(0) prop(Joke::id).isGreaterThanOrEqualTo(0)
@ -76,23 +76,23 @@ internal class GetJokeTest {
@Test @Test
fun `Get Joke without Blacklist Flags`() { fun `Get Joke without Blacklist Flags`() {
val joke = getJoke(blacklistFlags = setOf(Flag.ALL)) val joke = joke(blacklistFlags = setOf(Flag.ALL))
assertThat(joke::flags).isEmpty() assertThat(joke::flags).isEmpty()
} }
@Test @Test
fun `Get Joke without any Blacklist Flags`() { fun `Get Joke without any Blacklist Flags`() {
val allFlags = Flag.values().filter { it != Flag.ALL }.toSet() val allFlags = Flag.values().filter { it != Flag.ALL }.toSet()
val joke = getJoke(blacklistFlags = allFlags) val joke = joke(blacklistFlags = allFlags)
assertThat(joke::flags).isEmpty() assertThat(joke::flags).isEmpty()
} }
@Test @Test
fun `Get Joke with ID`() { fun `Get Joke with ID`() {
val id = 172 val id = 172
val joke = getJoke(idRange = IdRange(id)) val joke = joke(idRange = IdRange(id))
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke, "getJoke($id)").all { assertThat(joke, "joke($id)").all {
prop(Joke::flags).all { prop(Joke::flags).all {
contains(Flag.EXPLICIT) contains(Flag.EXPLICIT)
contains(Flag.NSFW) contains(Flag.NSFW)
@ -105,7 +105,7 @@ internal class GetJokeTest {
@Test @Test
fun `Get Joke with ID Range`() { fun `Get Joke with ID Range`() {
val idRange = IdRange(1, 100) val idRange = IdRange(1, 100)
val joke = getJoke(idRange = idRange) val joke = joke(idRange = idRange)
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke::id).isBetween(idRange.start, idRange.end) assertThat(joke::id).isBetween(idRange.start, idRange.end)
} }
@ -113,24 +113,24 @@ internal class GetJokeTest {
@Test @Test
fun `Get Joke with invalid ID Range`() { fun `Get Joke with invalid ID Range`() {
val idRange = IdRange(100, 1) val idRange = IdRange(100, 1)
val e = assertThrows<IllegalArgumentException> { getJoke(idRange = idRange, lang = Language.DE) } val e = assertThrows<IllegalArgumentException> { joke(idRange = idRange, lang = Language.DE) }
assertThat(e::message).isNotNull().contains("100, 1") assertThat(e::message).isNotNull().contains("100, 1")
} }
@Test @Test
fun `Get Joke with max ID Range`() { fun `Get Joke with max ID Range`() {
val idRange = IdRange(1, 30000) val idRange = IdRange(1, 30000)
val e = assertThrows<JokeException> { getJoke(idRange = idRange) } val e = assertThrows<JokeException> { joke(idRange = idRange) }
assertThat(e, "getJoke{${idRange})").all { assertThat(e, "joke{${idRange})").all {
prop(JokeException::additionalInfo).contains("ID range") prop(JokeException::additionalInfo).contains("ID range")
} }
} }
@Test @Test
fun `Get Joke with two Categories`() { fun `Get Joke with two Categories`() {
val joke = getJoke(categories = setOf(Category.PROGRAMMING, Category.MISC)) val joke = joke(categories = setOf(Category.PROGRAMMING, Category.MISC))
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke.category, "getJoke(${Category.PROGRAMMING},${Category.MISC})").isIn( assertThat(joke.category, "joke(${Category.PROGRAMMING},${Category.MISC})").isIn(
Category.PROGRAMMING, Category.PROGRAMMING,
Category.MISC Category.MISC
) )
@ -139,28 +139,28 @@ internal class GetJokeTest {
@Test @Test
fun `Get Joke with each Categories`() { fun `Get Joke with each Categories`() {
Category.values().filter { it != Category.ANY }.forEach { Category.values().filter { it != Category.ANY }.forEach {
val joke = getJoke(categories = setOf(it)) val joke = joke(categories = setOf(it))
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke::category, "getJoke($it)").prop(Category::value).isEqualTo(it.value) assertThat(joke::category, "joke($it)").prop(Category::value).isEqualTo(it.value)
} }
} }
@Test @Test
fun `Get Joke with each Languages`() { fun `Get Joke with each Languages`() {
Language.values().forEach { Language.values().forEach {
val joke = getJoke(lang = it) val joke = joke(lang = it)
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke::lang, "getJoke($it)").prop(Language::value).isEqualTo(it.value) assertThat(joke::lang, "joke($it)").prop(Language::value).isEqualTo(it.value)
} }
} }
@Test @Test
fun `Get Joke with Split Newline`() { fun `Get Joke with Split Newline`() {
val joke = getJoke( val joke = joke(
categories = setOf(Category.DARK), type = Type.SINGLE, idRange = IdRange(178), splitNewLine = true categories = setOf(Category.DARK), type = Type.SINGLE, idRange = IdRange(178), splitNewLine = true
) )
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke::joke, "getJoke(splitNewLine=true)").all { assertThat(joke::joke, "joke(splitNewLine=true)").all {
size().isEqualTo(2) size().isEqualTo(2)
each { each {
containsNone("\n") containsNone("\n")
@ -170,25 +170,25 @@ internal class GetJokeTest {
@Test @Test
fun `Get Safe Joke`() { fun `Get Safe Joke`() {
val joke = getJoke(safe = true) val joke = joke(safe = true)
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke, "getJoke(safe)").all { assertThat(joke, "joke(safe)").all {
prop(Joke::safe).isTrue() prop(Joke::safe).isTrue()
} }
} }
@Test @Test
fun `Get Single Joke`() { fun `Get Single Joke`() {
val joke = getJoke(type = Type.SINGLE) val joke = joke(type = Type.SINGLE)
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke::type).assertThat(Type.SINGLE) assertThat(joke::type).assertThat(Type.SINGLE)
} }
@Test @Test
fun `Get Two-Parts Joke`() { fun `Get Two-Parts Joke`() {
val joke = getJoke(type = Type.TWOPART) val joke = joke(type = Type.TWOPART)
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke, "getJoke(${Type.TWOPART})").all { assertThat(joke, "joke(${Type.TWOPART})").all {
prop(Joke::type).isEqualTo(Type.TWOPART) prop(Joke::type).isEqualTo(Type.TWOPART)
prop(Joke::joke).size().isGreaterThan(1) prop(Joke::joke).size().isGreaterThan(1)
} }
@ -199,9 +199,9 @@ internal class GetJokeTest {
val id = 265 val id = 265
val search = "his wife" val search = "his wife"
val joke = val joke =
getJoke(contains = search, categories = setOf(Category.PROGRAMMING), idRange = IdRange(id), safe = true) joke(contains = search, categories = setOf(Category.PROGRAMMING), idRange = IdRange(id), safe = true)
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke, "getJoke($search)").all { assertThat(joke, "joke($search)").all {
prop(Joke::id).isEqualTo(id) prop(Joke::id).isEqualTo(id)
prop(Joke::joke).any { prop(Joke::joke).any {
it.contains(search) it.contains(search)

View file

@ -53,7 +53,7 @@ internal class GetJokesTest {
@Test @Test
fun `Get Multiple Jokes`() { fun `Get Multiple Jokes`() {
val amount = 2 val amount = 2
val jokes = getJokes(amount = amount, safe = true, lang = Language.FR) val jokes = jokes(amount = amount, safe = true, lang = Language.FR)
assertThat(jokes, "jokes").all { assertThat(jokes, "jokes").all {
size().isEqualTo(amount) size().isEqualTo(amount)
each { each {
@ -66,13 +66,13 @@ internal class GetJokesTest {
@Test @Test
fun `Get Jokes with Invalid Amount`() { fun `Get Jokes with Invalid Amount`() {
val e = assertThrows<IllegalArgumentException> { getJokes(amount = -1) } val e = assertThrows<IllegalArgumentException> { jokes(amount = -1) }
assertThat(e::message).isNotNull().contains("-1") assertThat(e::message).isNotNull().contains("-1")
} }
@Test @Test
fun `Get One Joke as Multiple`() { fun `Get One Joke as Multiple`() {
val jokes = getJokes(amount = 1, safe = true) val jokes = jokes(amount = 1, safe = true)
assertThat(jokes, "jokes").all { assertThat(jokes, "jokes").all {
size().isEqualTo(1) size().isEqualTo(1)
index(0).all { index(0).all {

View file

@ -46,8 +46,8 @@ import kotlin.test.assertContains
internal class GetRawJokesTest { internal class GetRawJokesTest {
@Test @Test
fun `Get Raw Joke with TXT`() { fun `Get Raw Joke with TXT`() {
val response = getRawJokes(format = Format.TXT) val response = rawJokes(format = Format.TXT)
assertThat(response, "getRawJoke(txt)").all { assertThat(response, "rawJoke(txt)").all {
isNotEmpty() isNotEmpty()
doesNotContain("Error") doesNotContain("Error")
} }
@ -55,25 +55,25 @@ internal class GetRawJokesTest {
@Test @Test
fun `Get Raw Joke with XML`() { fun `Get Raw Joke with XML`() {
val response = getRawJokes(format = Format.XML) val response = rawJokes(format = Format.XML)
assertThat(response, "getRawJoke(xml)").startsWith("<?xml version='1.0'?>\n<data>\n <error>false</error>") assertThat(response, "rawJoke(xml)").startsWith("<?xml version='1.0'?>\n<data>\n <error>false</error>")
} }
@Test @Test
fun `Get Raw Joke with YAML`() { fun `Get Raw Joke with YAML`() {
val response = getRawJokes(format = Format.YAML) val response = rawJokes(format = Format.YAML)
assertThat(response, "getRawJoke(yaml)").startsWith("error: false") assertThat(response, "rawJoke(yaml)").startsWith("error: false")
} }
@Test @Test
fun `Get Raw Jokes`() { fun `Get Raw Jokes`() {
val response = getRawJokes(amount = 2) val response = rawJokes(amount = 2)
assertContains(response, "\"amount\": 2", false, "getRawJoke(2)") assertContains(response, "\"amount\": 2", false, "rawJoke(2)")
} }
@Test @Test
fun `Get Raw Invalid Jokes`() { fun `Get Raw Invalid Jokes`() {
val response = getRawJokes(contains = "foo", safe = true, amount = 2, idRange = IdRange(160, 161)) val response = rawJokes(contains = "foo", safe = true, amount = 2, idRange = IdRange(160, 161))
assertContains(response, "\"error\": true", false, "getRawJokes(foo)") assertContains(response, "\"error\": true", false, "getRawJokes(foo)")
} }
} }

View file

@ -41,8 +41,8 @@ import assertk.assertions.isGreaterThanOrEqualTo
import assertk.assertions.isTrue import assertk.assertions.isTrue
import assertk.assertions.prop import assertk.assertions.prop
import assertk.assertions.size import assertk.assertions.size
import net.thauvin.erik.jokeapi.JokeApi.getJoke import net.thauvin.erik.jokeapi.JokeApi.joke
import net.thauvin.erik.jokeapi.JokeApi.getJokes import net.thauvin.erik.jokeapi.JokeApi.jokes
import net.thauvin.erik.jokeapi.JokeApi.getRawJokes import net.thauvin.erik.jokeapi.JokeApi.getRawJokes
import net.thauvin.erik.jokeapi.JokeApi.logger import net.thauvin.erik.jokeapi.JokeApi.logger
import net.thauvin.erik.jokeapi.models.Category import net.thauvin.erik.jokeapi.models.Category
@ -60,7 +60,7 @@ import kotlin.test.assertContains
internal class JokeConfigTest { internal class JokeConfigTest {
@Test @Test
fun `Get Joke with Default Builder`() { fun `Get Joke with Default Builder`() {
val joke = getJoke() val joke = joke()
assertThat(joke, "joke").all { assertThat(joke, "joke").all {
prop(Joke::id).isGreaterThanOrEqualTo(0) prop(Joke::id).isGreaterThanOrEqualTo(0)
prop(Joke::lang).isEqualTo(Language.EN) prop(Joke::lang).isEqualTo(Language.EN)
@ -78,7 +78,7 @@ internal class JokeConfigTest {
idRange(IdRange(id - 2, id + 2)) idRange(IdRange(id - 2, id + 2))
safe(true) safe(true)
}.build() }.build()
val joke = getJoke(config) val joke = joke(config)
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke, "config").all { assertThat(joke, "config").all {
prop(Joke::type).isEqualTo(Type.TWOPART) prop(Joke::type).isEqualTo(Type.TWOPART)
@ -98,7 +98,7 @@ internal class JokeConfigTest {
idRange(IdRange(id)) idRange(IdRange(id))
splitNewLine(true) splitNewLine(true)
}.build() }.build()
val joke = getJoke(config) val joke = joke(config)
logger.fine(joke.toString()) logger.fine(joke.toString())
assertThat(joke, "config").all { assertThat(joke, "config").all {
prop(Joke::id).isEqualTo(id) prop(Joke::id).isEqualTo(id)
@ -127,7 +127,7 @@ internal class JokeConfigTest {
safe(true) safe(true)
lang(Language.FR) lang(Language.FR)
}.build() }.build()
val jokes = getJokes(config) val jokes = jokes(config)
assertThat(jokes, "jokes").all { assertThat(jokes, "jokes").all {
size().isEqualTo(amount) size().isEqualTo(amount)
each { each {