import com.google.common.base.Optional
import net.pterodactylus.sone.data.Post
import net.pterodactylus.sone.data.Sone
+import net.pterodactylus.sone.test.getInstance
import net.pterodactylus.sone.test.mock
import net.pterodactylus.sone.test.whenever
import net.pterodactylus.sone.utils.asOptional
+import net.pterodactylus.sone.web.baseInjector
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.equalTo
+import org.hamcrest.Matchers.notNullValue
import org.hamcrest.Matchers.nullValue
import org.junit.Test
@Test
fun `missing text parameter returns error`() {
- assertThat(json.isSuccess, equalTo(false))
- assertThat(json.error, equalTo("text-required"))
+ assertThatJsonFailed("text-required")
}
@Test
fun `empty text returns error`() {
addRequestParameter("text", "")
- assertThat(json.isSuccess, equalTo(false))
- assertThat(json.error, equalTo("text-required"))
+ assertThatJsonFailed("text-required")
}
@Test
fun `whitespace-only text returns error`() {
addRequestParameter("text", " ")
- assertThat(json.isSuccess, equalTo(false))
- assertThat(json.error, equalTo("text-required"))
+ assertThatJsonFailed("text-required")
}
@Test
addRequestParameter("text", "test")
val post = createPost()
whenever(core.createPost(currentSone, Optional.absent(), "test")).thenReturn(post)
- assertThat(json.isSuccess, equalTo(true))
+ assertThatJsonIsSuccessful()
assertThat(json["postId"]?.asText(), equalTo("id"))
assertThat(json["sone"]?.asText(), equalTo(currentSone.id))
assertThat(json["recipient"], nullValue())
addRequestParameter("recipient", "invalid")
val post = createPost()
whenever(core.createPost(currentSone, Optional.absent(), "test")).thenReturn(post)
- assertThat(json.isSuccess, equalTo(true))
+ assertThatJsonIsSuccessful()
assertThat(json["postId"]?.asText(), equalTo("id"))
assertThat(json["sone"]?.asText(), equalTo(currentSone.id))
assertThat(json["recipient"], nullValue())
addSone(recipient)
val post = createPost("valid")
whenever(core.createPost(currentSone, Optional.of(recipient), "test")).thenReturn(post)
- assertThat(json.isSuccess, equalTo(true))
+ assertThatJsonIsSuccessful()
assertThat(json["postId"]?.asText(), equalTo("id"))
assertThat(json["sone"]?.asText(), equalTo(currentSone.id))
assertThat(json["recipient"]?.asText(), equalTo("valid"))
addRequestHeader("Host", "freenet.test:8888")
val post = createPost()
whenever(core.createPost(currentSone, Optional.absent(), "Link KSK@foo is filtered")).thenReturn(post)
- assertThat(json.isSuccess, equalTo(true))
+ assertThatJsonIsSuccessful()
assertThat(json["postId"]?.asText(), equalTo("id"))
assertThat(json["sone"]?.asText(), equalTo(currentSone.id))
assertThat(json["recipient"], nullValue())
whenever(this.recipientId).thenReturn(recipientId.asOptional())
}
+ @Test
+ fun `page can be created by dependency injection`() {
+ assertThat(baseInjector.getInstance<CreatePostAjaxPage>(), notNullValue())
+ }
+
}