77 */
88package org .seedstack .validation .internal ;
99
10- import org .seedstack .validation .ValidationException ;
11- import org .seedstack .validation .ValidationService ;
12- import org .seedstack .validation .internal .pojo .Pojo ;
13- import org .seedstack .validation .internal .pojo .PojoWithDeepValidation ;
1410import org .assertj .core .api .Assertions ;
1511import org .junit .Test ;
1612import org .junit .runner .RunWith ;
1713import org .seedstack .seed .it .SeedITRunner ;
14+ import org .seedstack .validation .internal .pojo .Bean ;
15+ import org .seedstack .validation .internal .pojo .MyImpl ;
16+ import org .seedstack .validation .internal .pojo .Pojo ;
17+ import org .seedstack .validation .internal .pojo .PojoWithDeepValidation ;
1818
1919import javax .inject .Inject ;
20- import javax .validation .ConstraintViolation ;
21- import java .util .Set ;
20+ import javax .validation .ConstraintViolationException ;
2221
2322import static org .assertj .core .api .Assertions .assertThat ;
2423
@@ -29,35 +28,54 @@ public class ValidationServiceIT {
2928 ValidationService validationService ;
3029
3130 @ Test
32- public void validation_service_is_well_injected () {
31+ public void validationServiceIsInjected () {
3332 assertThat (validationService ).isNotNull ();
3433 }
3534
3635 @ Test
37- public void validation_service_work_nominally () {
36+ public void throwsExceptionOnInvalidPojo () {
3837 try {
3938 validationService .staticallyHandle (new Pojo (Pojo .State .INVALID ));
40-
41- Assertions .failBecauseExceptionWasNotThrown (ValidationException .class );
42- } catch (ValidationException validationException ) {
43- validationException .printStackTrace ();
44- Set <ConstraintViolation <?>> constraintViolations = validationException .get (ValidationService .JAVAX_VALIDATION_CONSTRAINT_VIOLATIONS );
45-
46- assertThat (constraintViolations .size ()).isEqualTo (3 );
39+ Assertions .failBecauseExceptionWasNotThrown (ConstraintViolationException .class );
40+ } catch (ConstraintViolationException exception ) {
41+ assertThat (exception .getConstraintViolations ()).hasSize (3 );
4742 }
4843 }
4944
5045 @ Test
51- public void validation_on_cascade () {
46+ public void doNothingOnValidPojo () {
47+ validationService .staticallyHandle (new Pojo (Pojo .State .VALID ));
48+ }
49+
50+ @ Test
51+ public void throwsExceptionOnDeepValidation () {
5252 try {
5353 validationService .staticallyHandle (new PojoWithDeepValidation ());
54+ Assertions .failBecauseExceptionWasNotThrown (ConstraintViolationException .class );
55+ } catch (ConstraintViolationException exception ) {
56+ assertThat (exception .getConstraintViolations ()).hasSize (4 );
57+ }
58+ }
5459
55- Assertions .failBecauseExceptionWasNotThrown (ValidationException .class );
56- } catch (ValidationException validationException ) {
57- validationException .printStackTrace ();
58- Set <ConstraintViolation <?>> constraintViolations = validationException .get (ValidationService .JAVAX_VALIDATION_CONSTRAINT_VIOLATIONS );
60+ @ Test
61+ public void validationShouldWorkOnInterface () {
62+ try {
63+ validationService .staticallyHandle (new MyImpl ());
64+ Assertions .failBecauseExceptionWasNotThrown (ConstraintViolationException .class );
65+ } catch (ConstraintViolationException exception ) {
66+ assertThat (exception .getConstraintViolations ()).hasSize (1 );
67+ }
68+ }
5969
60- assertThat (constraintViolations .size ()).isEqualTo (4 );
70+ @ Test
71+ public void validationShouldWorkOnGetter () {
72+ try {
73+ Bean candidate = new Bean ();
74+ candidate .setHour (25 );
75+ validationService .staticallyHandle (candidate );
76+ Assertions .failBecauseExceptionWasNotThrown (ConstraintViolationException .class );
77+ } catch (ConstraintViolationException exception ) {
78+ assertThat (exception .getConstraintViolations ()).hasSize (1 );
6179 }
6280 }
6381}
0 commit comments