little precision : it the same thing for file size validation.
I have a maxSize to my form :
        form.setMaxSize(Bytes.kilobytes(50));

when I test it manually, I have error message, but not when I test it by
wicketTester and formTester...
I don't understand what I forgot or what I doing wrong in my test.



2011/8/18 Mathilde Pellerin <mathilde.pelle...@statlife.fr>

> 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 : mathilde.pelle...@statlife.fr
>
>
>
>


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

STATLIFE
tel : 01.42.11.64.88
mail : mathilde.pelle...@statlife.fr

Reply via email to