X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fnotification%2FNotificationHandlerModuleTest.kt;h=11e728d55aa0c85e060cbfdcef182577c7abb397;hb=4038d16030a1cb6bb48da2967ee2c9ec9b4aaeb0;hp=c66531bf0dcc31bbe77a2b8dc4fcff2b8bafd9bc;hpb=b2952fda6d34528489d7fa4e26e09133099c978f;p=Sone.git 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 c66531b..11e728d 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/notification/NotificationHandlerModuleTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/notification/NotificationHandlerModuleTest.kt @@ -52,21 +52,11 @@ class NotificationHandlerModuleTest { ) @Test - fun `module can create notification handler`() { - assertThat(injector.getInstance(), notNullValue()) - } - - @Test fun `notification handler is created as singleton`() { injector.verifySingletonInstance() } @Test - fun `module can create mark-post-known-during-first-start handler`() { - assertThat(injector.getInstance(), notNullValue()) - } - - @Test fun `mark-post-known-during-first-start handler is created as singleton`() { injector.verifySingletonInstance() } @@ -83,11 +73,6 @@ class NotificationHandlerModuleTest { } @Test - fun `module can create sone-locked-on-startup handler`() { - assertThat(injector.getInstance(), notNullValue()) - } - - @Test fun `sone-locked-on-startup handler is created as singleton`() { injector.verifySingletonInstance() } @@ -120,11 +105,6 @@ class NotificationHandlerModuleTest { } @Test - fun `new-sone handler can be created`() { - assertThat(injector.getInstance(), notNullValue()) - } - - @Test fun `new-sone handler is created as singleton`() { injector.verifySingletonInstance() } @@ -149,21 +129,11 @@ class NotificationHandlerModuleTest { } @Test - fun `new-remote-post handler can be created`() { - assertThat(injector.getInstance(), notNullValue()) - } - - @Test fun `new-remote-post handler is created as singleton`() { injector.verifySingletonInstance() } @Test - fun `new-remote-post notification can be created`() { - assertThat(injector.getInstance>(named("newRemotePost")), notNullValue()) - } - - @Test fun `new-remote-post notification is created as singleton`() { injector.verifySingletonInstance>(named("newRemotePost")) } @@ -188,11 +158,6 @@ class NotificationHandlerModuleTest { } @Test - fun `sone-locked notification can be created`() { - assertThat(injector.getInstance>(named("soneLocked")), notNullValue()) - } - - @Test fun `sone-locked notification is created as singleton`() { injector.verifySingletonInstance>(named("soneLocked")) } @@ -217,13 +182,64 @@ class NotificationHandlerModuleTest { } @Test - fun `sone-locked handler can be created`() { - assertThat(injector.getInstance(), notNullValue()) + fun `sone-locked handler is created as singleton`() { + injector.verifySingletonInstance() } @Test - fun `sone-locked handler is created as singleton`() { - injector.verifySingletonInstance() + fun `local-post notification is not dismissable`() { + assertThat(injector.getInstance>(named("localPost")).isDismissable, equalTo(false)) + } + + @Test + fun `local-post notification has correct ID`() { + assertThat(injector.getInstance>(named("localPost")).id, equalTo("local-post-notification")) + } + + @Test + fun `local-post notification has correct key and template`() { + loaders.templates += "/templates/notify/newPostNotification.html" to "<% posts>".asTemplate() + val notification = injector.getInstance>(named("localPost")) + val posts = listOf(EmptyPost("post1"), EmptyPost("post2")) + posts.forEach(notification::add) + assertThat(notification.render(), equalTo(posts.toString())) + } + + @Test + fun `local-post notification is created as singleton`() { + injector.verifySingletonInstance>(named("localPost")) + } + + @Test + fun `local-post handler is created as singleton`() { + injector.verifySingletonInstance() + } + + @Test + fun `new-version notification is created as singleton`() { + injector.verifySingletonInstance(named("newVersion")) + } + + @Test + fun `new-version notification has correct ID`() { + assertThat(injector.getInstance(named("newVersion")).id, equalTo("new-version-notification")) + } + + @Test + fun `new-version notification is dismissable`() { + assertThat(injector.getInstance(named("newVersion")).isDismissable, equalTo(true)) + } + + @Test + fun `new-version notification loads correct template`() { + loaders.templates += "/templates/notify/newVersionNotification.html" to "1".asTemplate() + val notification = injector.getInstance(named("newVersion")) + assertThat(notification.render(), equalTo("1")) + } + + @Test + fun `new-version handler is created as singleton`() { + injector.verifySingletonInstance() } }