package net.pterodactylus.sone.web
-import com.google.inject.Guice
import net.pterodactylus.sone.main.SonePlugin.PluginHomepage
import net.pterodactylus.sone.main.SonePlugin.PluginVersion
import net.pterodactylus.sone.main.SonePlugin.PluginYear
-import net.pterodactylus.sone.test.getInstance
-import net.pterodactylus.sone.test.isProvidedByMock
-import net.pterodactylus.util.template.Template
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.equalTo
-import org.hamcrest.Matchers.notNullValue
-import org.hamcrest.Matchers.sameInstance
import org.junit.Test
/**
* Unit test for [AboutPage].
*/
-class AboutPageTest : WebPageTest() {
+class AboutPageTest: WebPageTest() {
private val version = "0.1.2"
private val year = 1234
private val homepage = "home://page"
private val page = AboutPage(template, webInterface, PluginVersion(version), PluginYear(year), PluginHomepage(homepage))
- private val injector = Guice.createInjector(
- Template::class.isProvidedByMock(),
- WebInterface::class.isProvidedByMock(),
- PluginVersion::class.isProvidedByMock(),
- PluginYear::class.isProvidedByMock(),
- PluginHomepage::class.isProvidedByMock()
- )!!
@Test
fun `page returns correct path`() {
assertThat(templateContext["year"], equalTo<Any>(year))
}
- @Test
- fun `page can be created by guice`() {
- assertThat(injector.getInstance<AboutPage>(), notNullValue())
- }
-
- @Test
- fun `page is created as singleton`() {
- val firstInstance = injector.getInstance<AboutPage>()
- val secondInstance = injector.getInstance<AboutPage>()
- assertThat(firstInstance, sameInstance(secondInstance))
- }
-
}