1+ package uk .nhs .adaptors .gp2gp .common .service ;
2+
3+ import ca .uhn .fhir .context .FhirContext ;
4+ import ca .uhn .fhir .parser .IParser ;
5+ import ca .uhn .fhir .parser .StrictErrorHandler ;
6+ import org .junit .jupiter .api .Test ;
7+ import org .junit .jupiter .api .extension .ExtendWith ;
8+ import org .mockito .ArgumentCaptor ;
9+ import org .mockito .InjectMocks ;
10+ import org .mockito .Mock ;
11+ import org .mockito .junit .jupiter .MockitoExtension ;
12+
13+ import static org .junit .jupiter .api .Assertions .assertNotNull ;
14+ import static org .mockito .Mockito .mock ;
15+ import static org .mockito .Mockito .times ;
16+ import static org .mockito .Mockito .verify ;
17+ import static org .mockito .Mockito .when ;
18+
19+ class FhirParseServiceTest {
20+
21+ private ArgumentCaptor <StrictErrorHandler > captor = ArgumentCaptor .forClass (StrictErrorHandler .class );
22+
23+ @ Test
24+ void fhirParseServiceInitializedWithStrictErrorHandlerAndNewJsonParserTest () {
25+
26+ FhirContext fhirContext = mock (FhirContext .class );
27+ IParser parser = mock (IParser .class );
28+ when (fhirContext .newJsonParser ()).thenReturn (parser );
29+
30+ FhirParseService service = new FhirParseService (fhirContext );
31+
32+ verify (fhirContext ).setParserErrorHandler (captor .capture ());
33+ StrictErrorHandler strictErrorHandler = captor .getValue ();
34+ assertNotNull (strictErrorHandler , "StrictErrorHandler should not be null" );
35+ verify (fhirContext , times (2 )).newJsonParser ();
36+ }
37+ }
0 commit comments