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 GeoJsonWebFluxConfigurerTest {
38
39 private GeoJsonWebFluxConfigurer newInstance() {
40
41 ObjectProvider<GeoJsonGeometryFactory> objectProvider = mock(ObjectProvider.class);
42 when(objectProvider.getIfAvailable(any())).thenReturn(new GeoJsonGeometryFactory());
43 return new GeoJsonWebFluxConfigurer(objectProvider);
44 }
45
46
47
48
49 @Test
50 void addFormatters() {
51 GeoJsonWebFluxConfigurer target = newInstance();
52 target.init();
53 FormatterRegistry formatterRegistry = mock(FormatterRegistry.class);
54 target.addFormatters(formatterRegistry);
55 int wantedNumberOfInvocations = GeometryConverters
56 .getConvertersToRegister(new GeoJsonGeometryFactory())
57 .size();
58 verify(formatterRegistry, times(wantedNumberOfInvocations))
59 .addConverter(any(Converter.class));
60 }
61 }