X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fnotification%2FNotificationHandlerModuleTest.kt;h=76926fbac66d3d2aecc9377746ea69cecd42f5a8;hp=665e69dfca2662bfc8b8bad976dbeaa54bc7bd8c;hb=eb828bec5212bba8b9745f45defdc47711968ce6;hpb=7cb0100ec63244e5f64654947206b610f96b006f diff --git a/src/test/kotlin/net/pterodactylus/sone/web/notification/NotificationHandlerModuleTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/notification/NotificationHandlerModuleTest.kt index 665e69d..76926fb 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/notification/NotificationHandlerModuleTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/notification/NotificationHandlerModuleTest.kt @@ -113,4 +113,33 @@ class NotificationHandlerModuleTest { assertThat(injector.getInstance>(named("soneLockedOnStartup")).isDismissable, equalTo(true)) } + @Test + fun `new-sone handler can be created`() { + assertThat(injector.getInstance(), notNullValue()) + } + + @Test + fun `new-sone handler is created as singleton`() { + injector.verifySingletonInstance() + } + + @Test + fun `new-sone notification has correct ID`() { + assertThat(injector.getInstance>(named("newSone")).id, equalTo("new-sone-notification")) + } + + @Test + fun `new-sone notification has correct key and template`() { + loaders.templates += "/templates/notify/newSoneNotification.html" to "<% sones>".asTemplate() + val notification = injector.getInstance>(named("newSone")) + val sones = listOf(IdOnlySone("sone1"), IdOnlySone("sone2")) + sones.forEach(notification::add) + assertThat(notification.render(), equalTo(sones.toString())) + } + + @Test + fun `new-sone notification is not dismissable`() { + assertThat(injector.getInstance>(named("newSone")).isDismissable, equalTo(false)) + } + }