Skip to content

Commit

Permalink
Update to WikiPageController for Grails 2.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
pledbrook committed Sep 28, 2011
1 parent 203d482 commit 8d914d5
Show file tree
Hide file tree
Showing 4 changed files with 195 additions and 37 deletions.
20 changes: 10 additions & 10 deletions grails-app/controllers/org/grails/wiki/WikiPageController.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@ class WikiPageController {

static allowedMethods = [save: "POST", update: "POST", delete: "POST"]

def index = {
redirect(action: "list", params: params)
def index() {
redirect action: "list", params: params
}

def list = {
def list() {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
[wikiPageInstanceList: WikiPage.list(params), wikiPageInstanceTotal: WikiPage.count()]
}

def create = {
def create() {
def wikiPageInstance = new WikiPage()
wikiPageInstance.properties = params
return [wikiPageInstance: wikiPageInstance]
}

def save = {
def save() {
def wikiPageInstance = new WikiPage(params)
if (wikiPageInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'wikiPage.label', default: 'WikiPage'), wikiPageInstance.id])}"
Expand All @@ -32,7 +32,7 @@ class WikiPageController {
}
}

def show = {
def show() {
def wikiPageInstance = WikiPage.get(params.id)
if (!wikiPageInstance) {
flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'wikiPage.label', default: 'WikiPage'), params.id])}"
Expand All @@ -43,7 +43,7 @@ class WikiPageController {
}
}

def edit = {
def edit() {
def wikiPageInstance = WikiPage.get(params.id)
if (!wikiPageInstance) {
flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'wikiPage.label', default: 'WikiPage'), params.id])}"
Expand All @@ -54,7 +54,7 @@ class WikiPageController {
}
}

def update = {
def update() {
def wikiPageInstance = WikiPage.get(params.id)
if (wikiPageInstance) {
if (params.version) {
Expand All @@ -81,7 +81,7 @@ class WikiPageController {
}
}

def delete = {
def delete() {
def wikiPageInstance = WikiPage.get(params.id)
if (wikiPageInstance) {
try {
Expand All @@ -103,7 +103,7 @@ class WikiPageController {
}
}

def all = {
def all() {
params.sort = "title"
params.order = "asc"

Expand Down
2 changes: 1 addition & 1 deletion grails-app/views/content/contentPage.gsp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<g:setProvider library="yui"/>
<g:setProvider plugin="yui" library="yui"/>

<head>
<title>${content?.title}</title>
Expand Down
52 changes: 26 additions & 26 deletions grails-app/views/error/serverError.gsp
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
<html>
<head>
<gui:resources components='expandablePanel'/>
<title>Grails.org Error</title>
<meta content="subpage" name="layout" />
<g:external dir="css" file="errors.css"/>
<style type="text/css">
<head>
<gui:resources components='expandablePanel'/>
<title>Grails.org Error</title>
<meta content="subpage" name="layout" />
<g:external dir="css" file="errors.css"/>
<style type="text/css">
body {
font-family: Lucida Grande, Lucida, sans-serif;
font-size: 12pt;
}
.message {
border: 1px solid black;
padding: 5px;
background-color:#E9E9E9;
}
.stack {
border: 1px solid black;
padding: 5px;
overflow:auto;
height: 300px;
}
.snippet {
padding: 5px;
background-color:white;
border:1px solid black;
margin:3px;
font-family:courier;
}
</style>
.message {
border: 1px solid black;
padding: 5px;
background-color:#E9E9E9;
}
.stack {
border: 1px solid black;
padding: 5px;
overflow:auto;
height: 300px;
}
.snippet {
padding: 5px;
background-color:white;
border:1px solid black;
margin:3px;
font-family:courier;
}
</style>
</head>

<body>
Expand Down
158 changes: 158 additions & 0 deletions test/unit/org/grails/wiki/WikiPageControllerTests.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
package org.grails.wiki



import org.junit.*
import grails.test.mixin.*
import javax.servlet.http.HttpServletResponse

@TestFor(WikiPageController)
@Mock(WikiPage)
class WikiPageControllerTests {

void testIndex() {
controller.index()
assert "/wikiPage/list" == response.redirectedUrl
}

void testList() {

def model = controller.list()

assert model.wikiPageInstanceList.size() == 0
assert model.wikiPageInstanceTotal == 0
}

void testCreate() {
def model = controller.create()

assert model.wikiPageInstance != null
}

void testSave() {
controller.save()
assert response.status == HttpServletResponse.SC_METHOD_NOT_ALLOWED

response.reset()
request.method = 'POST'
controller.save()

assert model.wikiPageInstance != null
assert view == '/wikiPage/create'

response.reset()

// TODO: Populate valid properties

controller.save()

assert response.redirectedUrl == '/wikiPage/show/1'
assert controller.flash.message != null
assert WikiPage.count() == 1
}

void testShow() {
controller.show()

assert flash.message != null
assert response.redirectedUrl == '/wikiPage/list'


def wikiPage = new WikiPage()

// TODO: populate domain properties

assert wikiPage.save() != null

params.id = wikiPage.id

def model = controller.show()

assert model.wikiPageInstance == wikiPage
}

void testEdit() {
controller.edit()

assert flash.message != null
assert response.redirectedUrl == '/wikiPage/list'


def wikiPage = new WikiPage()

// TODO: populate valid domain properties

assert wikiPage.save() != null

params.id = wikiPage.id

def model = controller.edit()

assert model.wikiPageInstance == wikiPage
}

void testUpdate() {

controller.update()
assert response.status == HttpServletResponse.SC_METHOD_NOT_ALLOWED

response.reset()
request.method = 'POST'
controller.update()

assert flash.message != null
assert response.redirectedUrl == '/wikiPage/list'

response.reset()


def wikiPage = new WikiPage()

// TODO: populate valid domain properties

assert wikiPage.save() != null

// test invalid parameters in update
params.id = wikiPage.id

controller.update()

assert view == "/wikiPage/edit"
assert model.wikiPageInstance != null

wikiPage.clearErrors()

// TODO: populate valid domain form parameter
controller.update()

assert response.redirectedUrl == "/wikiPage/show/$wikiPage.id"
assert flash.message != null
}

void testDelete() {
controller.delete()
assert response.status == HttpServletResponse.SC_METHOD_NOT_ALLOWED

response.reset()
request.method = 'POST'
controller.delete()
assert flash.message != null
assert response.redirectedUrl == '/wikiPage/list'

response.reset()

def wikiPage = new WikiPage()

// TODO: populate valid domain properties
assert wikiPage.save() != null
assert WikiPage.count() == 1

params.id = wikiPage.id

controller.delete()

assert WikiPage.count() == 0
assert WikiPage.get(wikiPage.id) == null
assert response.redirectedUrl == '/wikiPage/list'
}
}

0 comments on commit 8d914d5

Please sign in to comment.