aboutsummaryrefslogtreecommitdiff
path: root/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt')
-rw-r--r--app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt26
1 files changed, 21 insertions, 5 deletions
diff --git a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt
index 65777f97..8c568279 100644
--- a/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt
+++ b/app/src/test/kotlin/com/pitchedapps/frost/facebook/FbParseTest.kt
@@ -7,6 +7,8 @@ import com.pitchedapps.frost.internal.authDependent
import com.pitchedapps.frost.parsers.*
import org.junit.BeforeClass
import org.junit.Test
+import kotlin.test.assertNotNull
+import kotlin.test.assertTrue
import kotlin.test.fail
/**
@@ -22,25 +24,39 @@ class FbParseTest {
}
}
- private inline fun <T : Any> FrostParser<T>.test(action: T.() -> Unit = {}) {
- val response = parse(COOKIE)
- ?: fail("${this::class.java.simpleName} returned null for $url")
+ private inline fun <reified T : Any> FrostParser<T>.test(action: T.() -> Unit = {}) =
+ parse(COOKIE).test(url, action)
+
+ private inline fun <reified T : Any> ParseResponse<T>?.test(url: String, action: T.() -> Unit = {}) {
+ val response = this
+ ?: fail("${T::class.simpleName} parser returned null for $url")
println(response)
response.data.action()
}
@Test
fun message() = MessageParser.test {
- threads.forEach(FrostThread::assertComponentsNotEmpty)
+ threads.forEach {
+ it.assertComponentsNotEmpty()
+ assertTrue(it.id > FALLBACK_TIME_MOD, "id may not be properly matched")
+ assertNotNull(it.img, "img may not be properly matched")
+ }
threads.map(FrostThread::time).assertDescending("thread time values")
}
@Test
+ fun messageUser() = MessageParser.queryUser(COOKIE, "allan").test("allan query")
+
+ @Test
fun search() = SearchParser.test()
@Test
fun notif() = NotifParser.test {
- notifs.forEach(FrostNotif::assertComponentsNotEmpty)
+ notifs.forEach {
+ it.assertComponentsNotEmpty()
+ assertTrue(it.id > FALLBACK_TIME_MOD, "id may not be properly matched")
+ assertNotNull(it.img, "img may not be properly matched")
+ }
notifs.map(FrostNotif::time).assertDescending("notif time values")
}
} \ No newline at end of file