1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.bremersee.geojson.spring.boot.autoconfigure.web;
18
19 import static org.mockito.ArgumentMatchers.any;
20 import static org.mockito.Mockito.mock;
21 import static org.mockito.Mockito.times;
22 import static org.mockito.Mockito.verify;
23 import static org.mockito.Mockito.when;
24
25 import org.bremersee.geojson.GeoJsonGeometryFactory;
26 import org.bremersee.geojson.converter.GeometryConverters;
27 import org.junit.jupiter.api.Test;
28 import org.springframework.beans.factory.ObjectProvider;
29 import org.springframework.core.convert.converter.Converter;
30 import org.springframework.format.FormatterRegistry;
31
32
33
34
35
36
37 class GeoJsonWebMvcConfigurerTest {
38
39 private GeoJsonWebMvcConfigurer newInstance() {
40
41 ObjectProvider<GeoJsonGeometryFactory> objectProvider = mock(ObjectProvider.class);
42 when(objectProvider.getIfAvailable(any())).thenReturn(new GeoJsonGeometryFactory());
43 return new GeoJsonWebMvcConfigurer(objectProvider);
44 }
45
46
47
48
49 @Test
50 void init() {
51 GeoJsonWebMvcConfigurer target = newInstance();
52 target.init();
53 }
54
55
56
57
58 @Test
59 void addFormatters() {
60 GeoJsonWebMvcConfigurer target = newInstance();
61 FormatterRegistry formatterRegistry = mock(FormatterRegistry.class);
62 target.addFormatters(formatterRegistry);
63 int wantedNumberOfInvocations = GeometryConverters
64 .getConvertersToRegister(new GeoJsonGeometryFactory())
65 .size();
66 verify(formatterRegistry, times(wantedNumberOfInvocations))
67 .addConverter(any(Converter.class));
68 }
69 }