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
fun `request with valid data creates post`() {
addRequestParameter("text", "test")
val post = createPost()
- whenever(core.createPost(currentSone, Optional.absent(), "test")).thenReturn(post)
+ whenever(core.createPost(currentSone, null, "test")).thenReturn(post)
assertThatJsonIsSuccessful()
assertThat(json["postId"]?.asText(), equalTo("id"))
assertThat(json["sone"]?.asText(), equalTo(currentSone.id))
addRequestParameter("text", "test")
addRequestParameter("recipient", "invalid")
val post = createPost()
- whenever(core.createPost(currentSone, Optional.absent(), "test")).thenReturn(post)
+ whenever(core.createPost(currentSone, null, "test")).thenReturn(post)
assertThatJsonIsSuccessful()
assertThat(json["postId"]?.asText(), equalTo("id"))
assertThat(json["sone"]?.asText(), equalTo(currentSone.id))
val recipient = mock<Sone>().apply { whenever(id).thenReturn("valid") }
addSone(recipient)
val post = createPost("valid")
- whenever(core.createPost(currentSone, Optional.of(recipient), "test")).thenReturn(post)
+ whenever(core.createPost(currentSone, recipient, "test")).thenReturn(post)
assertThatJsonIsSuccessful()
assertThat(json["postId"]?.asText(), equalTo("id"))
assertThat(json["sone"]?.asText(), equalTo(currentSone.id))
addRequestParameter("text", "Link http://freenet.test:8888/KSK@foo is filtered")
addRequestHeader("Host", "freenet.test:8888")
val post = createPost()
- whenever(core.createPost(currentSone, Optional.absent(), "Link KSK@foo is filtered")).thenReturn(post)
+ whenever(core.createPost(currentSone, null, "Link KSK@foo is filtered")).thenReturn(post)
assertThatJsonIsSuccessful()
assertThat(json["postId"]?.asText(), equalTo("id"))
assertThat(json["sone"]?.asText(), equalTo(currentSone.id))
whenever(this.recipientId).thenReturn(recipientId.asOptional())
}
+ @Test
+ fun `page can be created by dependency injection`() {
+ assertThat(baseInjector.getInstance<CreatePostAjaxPage>(), notNullValue())
+ }
+
}