X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FJsonPageTest.kt;h=ea882d31df52b089f715fb04d62c6d66a5d6f755;hp=26fde7d7b358e4d45cc97a0ddf86e2879de6face;hb=ea7ad5e87074576d17b7df74365a726bd95d7665;hpb=4bf90851f9e7a8f31d4f58f4f74dc46d8e4ddec8 diff --git a/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt index 26fde7d..ea882d3 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonPageTest.kt @@ -13,14 +13,23 @@ abstract class JsonPageTest( private val expectedPath: String, private val requiresLogin: Boolean = true, private val needsFormPassword: Boolean = true, - pageSupplier: (WebInterface) -> JsonPage = { mock() }): TestObjects() { + pageSupplier: (WebInterface) -> JsonPage = { mock() }) : TestObjects() { protected open val page: JsonPage by lazy { pageSupplier(webInterface) } protected val json by lazy { page.createJsonObject(freenetRequest) } - protected val JsonReturnObject.error get() = if (this is JsonErrorReturnObject) this.error else null + private val JsonReturnObject.error get() = (this as? JsonErrorReturnObject)?.error + + protected fun assertThatJsonIsSuccessful() { + assertThat(json.isSuccess, equalTo(true)) + } + + protected fun assertThatJsonFailed(error: String? = null) { + assertThat(json.isSuccess, equalTo(false)) + error?.run { assertThat(json.error, equalTo(this)) } + } @Test fun `page returns correct path`() { @@ -34,7 +43,7 @@ abstract class JsonPageTest( @Test fun `page requires login`() { - assertThat(page.requiresLogin(), equalTo(requiresLogin)) + assertThat(page.requiresLogin, equalTo(requiresLogin)) } }