Il 15/01/2016 13:51, Martin Grigorov ha scritto:
Hi,

You cannot test JavaScript with WicketTester.
You can set some request parameter that says "confirmed" or "denied" and
make a request to the server side where you process it.

You can use something like Selenium for testing real clicks in JavaScript.
Thanks, for your support.
I used wicketTester.getRequest().addParameter("confirm", "true");

Regards
M
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Fri, Jan 15, 2016 at 11:13 AM, Marco Di Sabatino Di Diodoro <
marco.disabat...@tirasa.net> wrote:

Hi all,

I'm implementing tests with WicketTester for Apache Syncope console.
How can I simulate a click on my confirmation modal?

This is my java class

public class ConfirmationModalBehavior extends Behavior {

     private final String message;

     public ConfirmationModalBehavior() {
         this("confirmDelete");
     }

     public ConfirmationModalBehavior(final String msg) {
         message = new ResourceModel(msg, "Are you sure?").getObject();
     }

     @Override
     public void renderHead(final Component component, final
IHeaderResponse response) {
         super.renderHead(component, response);

         response.render(JavaScriptHeaderItem.forScript("var confirm =
false;", null));
         response.render($(component).on("click",
                 new JavaScriptInlineFunction(""
                         + "var element = $(this);"
                         + "evt.preventDefault();"
                         + "if(confirm == false){"
                         + "evt.stopImmediatePropagation();"
                         + "bootbox.confirm(\"" + message + "\",
function(result){"
                         + "if(result == true){"
                         + "confirm = true;"
                         + "element.click();"
                         + "}"
                         + "else{confirm = false;}"
                         + "return true;"
                         + "})} "
                         + "else {confirm = false;};"
                 )).asDomReadyScript());
     }
}

and this is the generated html

<div role="dialog" tabindex="-1" class="bootbox modal fade bootbox-confirm
in" style="display: block; padding-right: 16px;">
     <div class="modal-dialog">
         <div class="modal-content">
             <div class="modal-body">
                 <button aria-hidden="true" data-dismiss="modal"
class="bootbox-close-button close" type="button" style="margin-top:
-10px;">×</button>
                 <div class="bootbox-body">Do you really want to delete the
selected item(s)?</div>
             </div>
             <div class="modal-footer">
                 <button class="btn btn-default" type="button"
data-bb-handler="cancel">Cancel</button>
                 <button class="btn btn-primary" type="button"
data-bb-handler="confirm">OK</button>
             </div>
         </div>
     </div>
</div>

Any suggestions?

Regards
M

--
Dott. Marco Di Sabatino Di Diodoro
Tel. +39 3939065570

Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 0859111173
http://www.tirasa.net

Apache Syncope PMC Member
http://people.apache.org/~mdisabatino/



--
Dott. Marco Di Sabatino Di Diodoro
Tel. +39 3939065570

Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 0859111173
http://www.tirasa.net

Apache Syncope PMC Member
http://people.apache.org/~mdisabatino/

Reply via email to