🐛 Fix NPE during Sone removal
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / notification / LocalPostHandlerTest.kt
index 1d97ae8..70aa709 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Sone - NewLocalPostHandlerTest.kt - Copyright © 2019 David ‘Bombe’ Roden
+ * Sone - LocalPostHandlerTest.kt - Copyright © 2019–2020 David ‘Bombe’ Roden
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -22,6 +22,7 @@ import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.data.impl.*
 import net.pterodactylus.sone.notify.*
+import net.pterodactylus.sone.test.createPost
 import net.pterodactylus.util.notify.*
 import net.pterodactylus.util.template.*
 import org.hamcrest.MatcherAssert.*
@@ -89,6 +90,15 @@ class LocalPostHandlerTest {
        }
 
        @Test
+       // this scenario can happen when sones are removed.
+       fun `handler removes post from notification if sone is missing`() {
+               val post = createPost(sone = null)
+               notification.add(post)
+               eventBus.post(PostRemovedEvent(post))
+               assertThat(notification.elements, emptyIterable())
+       }
+
+       @Test
        fun `handler removes post from notification when post is marked as known`() {
                notification.add(localPost)
                notificationManager.addNotification(notification)