Begin collection all pages in a dependency injection-friendly container
[Sone.git] / src / test / java / net / pterodactylus / sone / web / AllPagesTest.kt
1 package net.pterodactylus.sone.web
2
3 import com.google.inject.Guice
4 import net.pterodactylus.sone.main.SonePlugin.PluginHomepage
5 import net.pterodactylus.sone.main.SonePlugin.PluginVersion
6 import net.pterodactylus.sone.main.SonePlugin.PluginYear
7 import net.pterodactylus.sone.test.getInstance
8 import net.pterodactylus.sone.test.isProvidedByMock
9 import net.pterodactylus.util.template.Template
10 import org.hamcrest.MatcherAssert.assertThat
11 import org.hamcrest.Matchers.notNullValue
12 import org.junit.Test
13
14 /**
15  * Test for [AllPages].
16  */
17 class AllPagesTest {
18
19         private val injector by lazy {
20                 Guice.createInjector(
21                                 Template::class.isProvidedByMock(),
22                                 WebInterface::class.isProvidedByMock(),
23                                 PluginVersion::class.isProvidedByMock(),
24                                 PluginYear::class.isProvidedByMock(),
25                                 PluginHomepage::class.isProvidedByMock()
26                 )!!
27         }
28         private val allPages by lazy { injector.getInstance<AllPages>() }
29
30         @Test
31         fun `about page can be injected`() {
32                 assertThat(allPages.aboutPage, notNullValue())
33         }
34
35 }