🎨 Store shells instead of full posts in in-memory database
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / test / TestPostBuilder.kt
index 4c9efe7..6443cb2 100644 (file)
@@ -1,8 +1,6 @@
 package net.pterodactylus.sone.test
 
-import com.google.common.base.Optional
 import net.pterodactylus.sone.data.Post
-import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.database.PostBuilder
 import java.util.UUID
 
@@ -11,44 +9,43 @@ import java.util.UUID
  */
 class TestPostBuilder : PostBuilder {
 
-       private val post = mock<Post>()
+       private var id: String? = null
+       private var soneId: String? = null
        private var recipientId: String? = null
+       private var time: Long? = null
+       private var text: String? = null
 
        override fun copyPost(post: Post): PostBuilder = this
 
        override fun from(senderId: String): PostBuilder = apply {
-               val sone = mock<Sone>()
-               whenever(sone.id).thenReturn(senderId)
-               whenever(post.sone).thenReturn(sone)
+               soneId = senderId
        }
 
        override fun randomId(): PostBuilder = apply {
-               whenever(post.id).thenReturn(UUID.randomUUID().toString())
+               id = UUID.randomUUID().toString()
        }
 
        override fun withId(id: String): PostBuilder = apply {
-               whenever(post.id).thenReturn(id)
+               this.id = id
        }
 
        override fun currentTime(): PostBuilder = apply {
-               whenever(post.time).thenReturn(System.currentTimeMillis())
+               time = System.currentTimeMillis()
        }
 
        override fun withTime(time: Long): PostBuilder = apply {
-               whenever(post.time).thenReturn(time)
+               this.time = time
        }
 
        override fun withText(text: String): PostBuilder = apply {
-               whenever(post.text).thenReturn(text)
+               this.text = text
        }
 
        override fun to(recipientId: String): PostBuilder = apply {
                this.recipientId = recipientId
        }
 
-       override fun build(): Post = post
-                       .also {
-                               whenever(post.recipientId).thenReturn(Optional.fromNullable(recipientId))
-                       }
+       override fun build(): Post =
+                       createPost(text!!, sone = createRemoteSone(soneId!!), time = time!!, recipient = recipientId?.let { createRemoteSone(it) }, id = id!!)
 
 }