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.web.pages.WebPageTest
-import net.pterodactylus.sone.web.pages.AboutPage
+import net.pterodactylus.sone.test.getInstance
+import net.pterodactylus.sone.test.isProvidedByMock
+import net.pterodactylus.sone.web.baseInjector
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.equalTo
+import org.hamcrest.Matchers.notNullValue
import org.junit.Test
/**
* Unit test for [AboutPage].
*/
-class AboutPageTest: WebPageTest() {
+class AboutPageTest : WebPageTest({ template, webInterface -> AboutPage(template, webInterface, PluginVersion(version), PluginYear(year), PluginHomepage(homepage)) }) {
- 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))
+ companion object {
+ private const val version = "0.1.2"
+ private const val year = 1234
+ private const val homepage = "home://page"
+ }
@Test
fun `page returns correct path`() {
assertThat(templateContext["year"], equalTo<Any>(year))
}
+ @Test
+ fun `about page can be created by dependency injection`() {
+ val injector = baseInjector.createChildInjector(
+ PluginVersion::class.isProvidedByMock(),
+ PluginYear::class.isProvidedByMock(),
+ PluginHomepage::class.isProvidedByMock()
+ )
+ assertThat(injector.getInstance<AboutPage>(), notNullValue())
+ }
+
}