/**
* Unit test for [DeleteAlbumPage].
*/
-class DeleteAlbumPageTest : WebPageTest() {
+class DeleteAlbumPageTest: WebPageTest() {
private val page = DeleteAlbumPage(template, webInterface)
whenever(sone.id).thenReturn("sone-id")
whenever(sone.isLocal).thenReturn(true)
whenever(parentAlbum.id).thenReturn("parent-id")
+ whenever(parentAlbum.isRoot).thenReturn(true)
whenever(album.id).thenReturn("album-id")
whenever(album.sone).thenReturn(sone)
whenever(album.parent).thenReturn(parentAlbum)
}
@Test
+ fun `page returns correct path`() {
+ assertThat(page.path, equalTo("deleteAlbum.html"))
+ }
+
+ @Test
+ fun `page requires login`() {
+ assertThat(page.requiresLogin(), equalTo(true))
+ }
+
+ @Test
fun `get request with invalid album ID results in redirect to invalid page`() {
request("", GET)
whenever(core.getAlbum(anyString())).thenReturn(null)
val album = mock<Album>()
addAlbum("album-id", album)
addHttpRequestParameter("album", "album-id")
- page.handleRequest(freenetRequest, templateContext)
+ page.processTemplate(freenetRequest, templateContext)
assertThat(templateContext["album"], equalTo<Any>(album))
}
@Test
fun `album is deleted and page redirects to album if parent album is not root album`() {
request("", POST)
+ whenever(parentAlbum.isRoot).thenReturn(false)
whenever(sone.rootAlbum).thenReturn(mock<Album>())
addAlbum("album-id", album)
addHttpRequestParameter("album", "album-id")