Hi all,

I have a little problem to test a form in my application.
I have a FileUploadField with an abstractValidator like that :
            FileUploadField fuploadField = new
FileUploadField("uploadImage", new Model<FileUpload>());
            fuploadField.add(new AbstractValidator<FileUpload>() {
                @Override
                protected void onValidate(IValidatable<FileUpload>
validatable) {
                    System.err.println("Passage dans le validateur");
                    FileUpload fupload = (FileUpload)
validatable.getValue();
                    if(fupload != null){
                        if(fupload.getSize() == 0){
                            error(validatable);
                        }
                        else
if(!Utils.checkContentType(fupload.getContentType())){
                            error(validatable);
                        }
                    }
                }
            });

when I test manually this form with wrong image type, validation works well.

I try to test this validator with wicketTester like that :
    @Test @Transactional @Rollback
    public void testStory23_TA13(){
        tester.startPage(CreationQuestionnairePage.class);
        tester.assertRenderedPage(CreationQuestionnairePage.class);

        String titre = "nouveau questionnaire";
        FormTester formTester =
tester.newFormTester("formCreationQuestionnaire");
        formTester.setValue("titre", titre);
        formTester.setValue("numero", "10");
        formTester.select("sexeDestinataire", 0);

        formTester.setValue("conteneurQuestions:question:1:texteQuestion",
"question 1");
        formTester.setValue("conteneurQuestions:question:1:legende",
"legende question 1");
        formTester.setValue("conteneurQuestions:question:1:uploadImage",
"/Users/mathildepellerin/Desktop/moto.JPG");
        formTester.submit();

        tester.assertErrorMessages(new String[]{"Question 1 : Image trop
volumineuse. La taille des images est limitée à 50k."});
    }

but onValidate() method of my validator is never called.
It's not an ajax form, and I can check error messages send by required
fields without any problem.
Is there something else to do to test our own validator?

Thanks.
M.

-- 
*Mathilde Pellerin*
Ingénieur en développement de logiciel

STATLIFE
tel : 01.42.11.64.88
mail : [email protected]

Reply via email to