jakartaee / faces

Jakarta Faces
Other
109 stars 55 forks source link

TCK Challenge Spec1IT: f:validateWholeBean placement would be validated better in development mode, not production #1780

Closed volosied closed 1 year ago

volosied commented 1 year ago

Challenged Tests: ee.jakarta.tck.faces.test.javaee7.multiFieldValidation.Spec1IT#testFailingPreconditionsNotAfterAllInputComponents

TCK Version: Jakarta Faces 4.0.x

Tested Implementation: MyFaces 4.0 (MYFACES-4550 -- In Progress)

Description:

This test asserts that f:validateWholeBean is placed after all inputs. If not, it throws an exception is thrown which results in a 500 response.

The documentation specifies: This tag must be placed in the component tree after all of the fields that are to be included in the multi-field validation. If this precondition is not met, the results of applying this tag are unspecified.

The fix in MyFaces is not yet merged since we have community suggested that this check should only occur when the project stage is in development mode (via jakarta.faces.application.ProjectStage.Development, not production. This seems like a reasonable ask from our perspective, as this placement should be validated during the development phase.

volosied commented 1 year ago

This test was also affected by the buffer size, which I have a PR for here: https://github.com/jakartaee/faces/pull/1779

pnicolucci commented 1 year ago

@arjantijms @BalusC what do you think? This seems like a valid request by the MyFaces community. @volosied has created two PRs to address this challenge:

1) https://github.com/jakartaee/faces/pull/1779 -> Increase the FACELET_BUFFER_SIZE

2) https://github.com/jakartaee/faces/pull/1783 -> Set the Project Stage to Development

Any objections to accepting this challenge and merging both of the PRs?

BalusC commented 1 year ago

Accepted and both PRs merged.

pnicolucci commented 1 year ago

Added the accepted label