X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fnotification%2FNotificationHandlerModuleTest.kt;h=8a4bcc99033d50deaec993f6e17b4911dd468f18;hb=8bd33b61d226641aad09285e97c156d4d6e25aed;hp=11e728d55aa0c85e060cbfdcef182577c7abb397;hpb=4038d16030a1cb6bb48da2967ee2c9ec9b4aaeb0;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 11e728d..8a4bcc9 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/notification/NotificationHandlerModuleTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/notification/NotificationHandlerModuleTest.kt @@ -242,4 +242,105 @@ class NotificationHandlerModuleTest { injector.verifySingletonInstance() } + @Test + fun `inserting-image notification is created as singleton`() { + injector.verifySingletonInstance>(named("imageInserting")) + } + + @Test + fun `inserting-image notification has correct ID`() { + assertThat(injector.getInstance>(named("imageInserting")).id, equalTo("inserting-images-notification")) + } + + @Test + fun `inserting-image notification is dismissable`() { + assertThat(injector.getInstance>(named("imageInserting")).isDismissable, equalTo(true)) + } + + @Test + fun `inserting-image notification loads correct template`() { + loaders.templates += "/templates/notify/inserting-images-notification.html" to "<% images>".asTemplate() + val notification = injector.getInstance>(named("imageInserting")) + val images = listOf(ImageImpl(), ImageImpl()).onEach(notification::add) + assertThat(notification.render(), equalTo(images.toString())) + } + + @Test + fun `inserting-image-failed notification is created as singleton`() { + injector.verifySingletonInstance>(named("imageFailed")) + } + + @Test + fun `inserting-image-failed notification has correct ID`() { + assertThat(injector.getInstance>(named("imageFailed")).id, equalTo("image-insert-failed-notification")) + } + + @Test + fun `inserting-image-failed notification is dismissable`() { + assertThat(injector.getInstance>(named("imageFailed")).isDismissable, equalTo(true)) + } + + @Test + fun `inserting-image-failed notification loads correct template`() { + loaders.templates += "/templates/notify/image-insert-failed-notification.html" to "<% images>".asTemplate() + val notification = injector.getInstance>(named("imageFailed")) + val images = listOf(ImageImpl(), ImageImpl()).onEach(notification::add) + assertThat(notification.render(), equalTo(images.toString())) + } + + @Test + fun `inserted-image notification is created as singleton`() { + injector.verifySingletonInstance>(named("imageInserted")) + } + + @Test + fun `inserted-image notification has correct ID`() { + assertThat(injector.getInstance>(named("imageInserted")).id, equalTo("inserted-images-notification")) + } + + @Test + fun `inserted-image notification is dismissable`() { + assertThat(injector.getInstance>(named("imageInserted")).isDismissable, equalTo(true)) + } + + @Test + fun `inserted-image notification loads correct template`() { + loaders.templates += "/templates/notify/inserted-images-notification.html" to "<% images>".asTemplate() + val notification = injector.getInstance>(named("imageInserted")) + val images = listOf(ImageImpl(), ImageImpl()).onEach(notification::add) + assertThat(notification.render(), equalTo(images.toString())) + } + + @Test + fun `image insert handler is created as singleton`() { + injector.verifySingletonInstance() + } + + @Test + fun `first-start notification is created as singleton`() { + injector.verifySingletonInstance(named("firstStart")) + } + + @Test + fun `first-start notification has correct ID`() { + assertThat(injector.getInstance(named("firstStart")).id, equalTo("first-start-notification")) + } + + @Test + fun `first-start notification is dismissable`() { + assertThat(injector.getInstance(named("firstStart")).isDismissable, equalTo(true)) + } + + @Test + fun `first-start notification loads correct template`() { + loaders.templates += "/templates/notify/firstStartNotification.html" to "1".asTemplate() + val notification = injector.getInstance(named("firstStart")) + assertThat(notification.render(), equalTo("1")) + } + + @Test + fun `first-start handler is created as singleton`() { + injector.verifySingletonInstance() + } + }