import net.pterodactylus.sone.test.mock
import net.pterodactylus.sone.test.whenever
-import net.pterodactylus.sone.web.pages.WebPageTest
-import net.pterodactylus.sone.web.pages.DismissNotificationPage
import net.pterodactylus.util.notify.Notification
-import net.pterodactylus.util.web.Method.GET
+import net.pterodactylus.util.web.Method.POST
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.equalTo
import org.junit.Test
@Test
fun `get request with invalid notification ID redirects to return page`() {
- request("", GET)
- addHttpRequestParameter("returnPage", "return.html")
+ setMethod(POST)
+ addHttpRequestPart("returnPage", "return.html")
verifyRedirect("return.html")
}
@Test
fun `get request with non-dismissible notification never dismisses the notification but redirects to return page`() {
- request("", GET)
+ setMethod(POST)
addNotification("notification-id", notification)
- addHttpRequestParameter("notification", "notification-id")
- addHttpRequestParameter("returnPage", "return.html")
+ addHttpRequestPart("notification", "notification-id")
+ addHttpRequestPart("returnPage", "return.html")
verifyRedirect("return.html") {
verify(notification, never()).dismiss()
}
}
@Test
- fun `get request with dismissible notification dismisses the notification and redirects to return page`() {
- request("", GET)
+ fun `post request with dismissible notification dismisses the notification and redirects to return page`() {
+ setMethod(POST)
whenever(notification.isDismissable).thenReturn(true)
addNotification("notification-id", notification)
- addHttpRequestParameter("notification", "notification-id")
- addHttpRequestParameter("returnPage", "return.html")
+ addHttpRequestPart("notification", "notification-id")
+ addHttpRequestPart("returnPage", "return.html")
verifyRedirect("return.html") {
verify(notification).dismiss()
}