Skip to content

Commit d34f587

Browse files
add missing test
1 parent 5cd5da5 commit d34f587

File tree

2 files changed

+43
-29
lines changed

2 files changed

+43
-29
lines changed

README.md

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -207,29 +207,6 @@ public class SimpleMindeeClient {
207207
}
208208
```
209209

210-
211-
## Further Reading
212-
Complete details on the working of the library are available in the following guides:
213-
214-
* [Getting started](https://developers.mindee.com/docs/java-ocr-getting-started)
215-
* [Java Generated APIs](https://developers.mindee.com/docs/java-generated-ocr)
216-
* [Java Custom APIs (API Builder - Deprecated)](https://developers.mindee.com/docs/java-api-builder)
217-
* [Java Invoice OCR](https://developers.mindee.com/docs/java-invoice-ocr)
218-
* [Java Receipt OCR](https://developers.mindee.com/docs/java-receipt-ocr)
219-
* [Java Financial Document OCR](https://developers.mindee.com/docs/java-financial-document-ocr)
220-
* [Java Passport OCR](https://developers.mindee.com/docs/java-passport-ocr)
221-
* [Java Resume OCR](https://developers.mindee.com/docs/java-resume-ocr)
222-
* [Java International Id OCR](https://developers.mindee.com/docs/java-international-id-ocr)
223-
* [Java FR Bank Account Detail OCR](https://developers.mindee.com/docs/java-fr-bank-account-details-ocr)
224-
* [Java FR Carte Grise OCR](https://developers.mindee.com/docs/java-fr-carte-grise-ocr)
225-
* [Java FR Health Card OCR](https://developers.mindee.com/docs/java-fr-health-card-ocr)
226-
* [Java FR ID Card OCR](https://developers.mindee.com/docs/java-fr-carte-nationale-didentite-ocr)
227-
* [Java US Bank Check OCR](https://developers.mindee.com/docs/java-us-bank-check-ocr)
228-
* [Java Barcode Reader API](https://developers.mindee.com/docs/java-barcode-reader-ocr)
229-
* [Java Cropper API](https://developers.mindee.com/docs/java-cropper-ocr)
230-
* [Java Invoice Splitter API](https://developers.mindee.com/docs/java-invoice-splitter-ocr)
231-
* [Java Multi Receipts Detector API](https://developers.mindee.com/docs/java-multi-receipts-detector-ocr)
232-
233210
You can view the source code on [GitHub](https://github.com/mindee/mindee-api-java).
234211

235212
You can also take a look at the

src/test/java/com/mindee/MindeeClientV2Test.java

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,16 @@
55
import com.mindee.http.MindeeApiV2;
66
import com.mindee.input.LocalInputSource;
77
import com.mindee.input.LocalResponse;
8-
import com.mindee.parsing.v2.CommonResponse;
98
import com.mindee.parsing.v2.InferenceResponse;
109
import com.mindee.parsing.v2.JobResponse;
1110
import java.io.File;
1211
import java.io.IOException;
12+
import org.apache.commons.io.FileUtils;
1313
import org.junit.jupiter.api.DisplayName;
1414
import org.junit.jupiter.api.Nested;
1515
import org.junit.jupiter.api.Test;
1616
import org.mockito.Mockito;
17+
1718
import static org.junit.jupiter.api.Assertions.*;
1819
import static org.mockito.ArgumentMatchers.*;
1920
import static org.mockito.Mockito.*;
@@ -53,11 +54,11 @@ void enqueue_post_async() throws IOException {
5354
}
5455

5556
@Nested
56-
@DisplayName("parseQueued()")
57-
class ParseQueued {
57+
@DisplayName("getJob()")
58+
class GetJob {
5859
@Test
5960
@DisplayName("hits the HTTP endpoint once and returns a non-null response")
60-
void document_getQueued_async() throws JsonProcessingException {
61+
void document_getJob_async() throws JsonProcessingException {
6162
MindeeApiV2 predictable = Mockito.mock(MindeeApiV2.class);
6263
String json = "{\"job\": {\"id\": \"dummy-id\", \"status\": \"Processing\"}}";
6364
ObjectMapper mapper = new ObjectMapper();
@@ -70,8 +71,44 @@ void document_getQueued_async() throws JsonProcessingException {
7071

7172
MindeeClientV2 mindeeClient = makeClientWithMockedApi(predictable);
7273

73-
CommonResponse response = mindeeClient.getJob("dummy-id");
74-
assertNotNull(response, "parseQueued() must return a response");
74+
JobResponse response = mindeeClient.getJob("dummy-id");
75+
assertNotNull(response, "getJob() must return a response");
76+
verify(predictable, atMostOnce()).reqGetJob(anyString());
77+
}
78+
}
79+
80+
81+
@Nested
82+
@DisplayName("getInference()")
83+
class GetInference {
84+
@Test
85+
@DisplayName("hits the HTTP endpoint once and returns a non-null response")
86+
void document_getInference_async() throws IOException {
87+
MindeeApiV2 predictable = Mockito.mock(MindeeApiV2.class);
88+
89+
String json = FileUtils.readFileToString(new File("src/test/resources/v2/products/financial_document/complete.json"));
90+
91+
ObjectMapper mapper = new ObjectMapper();
92+
mapper.findAndRegisterModules();
93+
94+
InferenceResponse processing = mapper.readValue(json, InferenceResponse.class);
95+
96+
when(predictable.reqGetInference(anyString()))
97+
.thenReturn(processing);
98+
99+
MindeeClientV2 mindeeClient = makeClientWithMockedApi(predictable);
100+
101+
InferenceResponse response = mindeeClient.getInference("12345678-1234-1234-1234-123456789abc");
102+
assertNotNull(response, "getInference() must return a response");
103+
assertEquals(
104+
21, response.getInference().getResult().getFields().size(),
105+
"Result must have one field"
106+
);
107+
assertEquals(
108+
"John Smith",
109+
response.getInference().getResult().getFields().get("supplier_name").getSimpleField().getValue(),
110+
"Result must deserialize fields properly."
111+
);
75112
verify(predictable, atMostOnce()).reqGetInference(anyString());
76113
}
77114
}

0 commit comments

Comments
 (0)