0
私は方法が、ショー()が対象のイベントを見つけるため、nullを返しますすることはできませんが)(コントローラのショーにイベント呼ば嘲笑ドメインインスタンスを渡ししようとしています。コントローラのshow()メソッドでmocked domain "instance"を使用できますか?
次のスニペットはまだ進行中です。
def "trying to show an event containing malicous code"() {
given: "An event named with malicous code"
mockDomain(Event)
def event = Mock(Event)
event.title >> "<script type=\"text/javascript\">alert(\"XSS\");</script>"
event.id >> 1
// Do I have to actually create a full-blown event considering all
// constraints here?
when: "I try to show that event"
controller.params.id = 1
def result = controller.show()
then: "The resulting title will be encoded HTML"
result.eventInstance.title == event.title.encodeAsHTML()
}
このコントローラのショーの始まりです()メソッド:
def show = {
def eventInstance = Event.get(params.id)
// The event exists
if (eventInstance) {
// some processing here
return [eventInstance: eventInstance, isSubscribed: sub ? true:false, sidebar: 'sidebar']
}
- は簡単な解決策はあるのか、私は実際にすべての世話をして本格的なイベントを作成する必要があります制約?
- 私はフルイベントを作成する必要がありますが、どこに従うのですか? (当初はBootStrap.groovyでcreateEvent()メソッドを使用していましたので、ここでその機能を繰り返すのはDRYではありません)。
おかげでそれを取得することができません特にインスタンスを 'mockDomain'コールに追加するヒントについては、私は今日まで何が違うのか疑問に思っていました。 – user569825
上記の少しの証拠として: 'def e \t = new Event();アサート!e.id; mockDomainイベント、[e]; assert e.id == 1 ' – user569825
mfloryan、あとでインスタンスを割り当てる方法はありますか? - 基本的な 'mockDomain Event'を' setup() 'に入れておき、必要に応じてインスタンスを追加するだけですか? – user569825