✅ Add basic test for FreenetTemplatePage
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / page / FreenetTemplatePageTest.kt
1 package net.pterodactylus.sone.web.page
2
3 import net.pterodactylus.sone.test.*
4 import org.hamcrest.MatcherAssert.*
5 import org.hamcrest.Matchers.*
6 import org.junit.*
7
8 class FreenetTemplatePageTest {
9
10         @Test
11         fun `path is exposed correctly`() {
12                 val page = FreenetTemplatePage("/test/path", null, null, null)
13                 assertThat(page.path, equalTo("/test/path"))
14         }
15
16         @Test
17         fun `getPageTitle() default implementation returns null`() {
18                 val page = FreenetTemplatePage("/test/path", null, null, null)
19                 assertThat(page.getPageTitle(mock()), nullValue())
20         }
21
22         @Test
23         fun `isPrefixPage() default implementation returns false`() {
24                 val page = FreenetTemplatePage("/test/path", null, null, null)
25                 assertThat(page.isPrefixPage, equalTo(false))
26         }
27
28         @Test
29         fun `getStylesheets() default implementation returns empty collection`() {
30                 val page = FreenetTemplatePage("/test/path", null, null, null)
31                 assertThat(page.styleSheets, empty())
32         }
33
34         @Test
35         fun `getShortcutIcon() default implementation returns null`() {
36                 val page = FreenetTemplatePage("/test/path", null, null, null)
37                 assertThat(page.shortcutIcon, nullValue())
38         }
39
40         @Test
41         fun `getRedirectTarget() default implementation returns null`() {
42                 val page = FreenetTemplatePage("/test/path", null, null, null)
43                 assertThat(page.getRedirectTarget(mock()), nullValue())
44         }
45
46         @Test
47         fun `getAdditionalLinkNodes() default implementation returns empty collection`() {
48                 val page = FreenetTemplatePage("/test/path", null, null, null)
49                 assertThat(page.getAdditionalLinkNodes(mock()), empty())
50         }
51
52         @Test
53         fun `isFullAccessOnly() default implementation returns false`() {
54                 val page = FreenetTemplatePage("/test/path", null, null, null)
55                 assertThat(page.isFullAccessOnly, equalTo(false))
56         }
57
58         @Test
59         fun `isLinkExcepted() default implementation returns false`() {
60                 val page = FreenetTemplatePage("/test/path", null, null, null)
61                 assertThat(page.isLinkExcepted(mock()), equalTo(false))
62         }
63
64         @Test
65         fun `isEnabled() returns true if full access only is false`() {
66                 val page = FreenetTemplatePage("/test/path", null, null, null)
67                 assertThat(page.isEnabled(mock()), equalTo(true))
68         }
69
70         @Test
71         fun `isEnabled() returns false if full access only is true`() {
72                 val page = object : FreenetTemplatePage("/test/path", null, null, null) {
73                         override fun isFullAccessOnly() = true
74                 }
75                 assertThat(page.isEnabled(mock()), equalTo(false))
76         }
77
78 }