Fixed undocumented parts of the payload and license API docs code
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/BalanceSegmentSetApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/BalanceSegmentSetApiDocumentation.java
index 86eee87..892e1d4 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/BalanceSegmentSetApiDocumentation.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/BalanceSegmentSetApiDocumentation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.fineract.cn.portfolio;
import com.google.gson.Gson;
@@ -32,166 +50,166 @@
public class BalanceSegmentSetApiDocumentation extends AbstractPortfolioTest {
- @Rule
- public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-balancesegmentsets");
+ @Rule
+ public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-balancesegmentsets");
- @Autowired
- private WebApplicationContext context;
+ @Autowired
+ private WebApplicationContext context;
- private MockMvc mockMvc;
+ private MockMvc mockMvc;
- @Before
- public void setUp ( ) {
+ @Before
+ public void setUp() {
- this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
- .apply(documentationConfiguration(this.restDocumentation))
- .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
- .build();
- }
+ this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
+ .apply(documentationConfiguration(this.restDocumentation))
+ .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
+ .build();
+ }
- @Test
- public void documentCreateBalanceSegmentSet ( ) throws Exception {
+ @Test
+ public void documentCreateBalanceSegmentSet() throws Exception {
- final Product product = createProduct();
+ final Product product = createProduct();
- final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
- balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
- balanceSegmentSet.setSegments(Arrays.asList(
- BigDecimal.ZERO.setScale(5, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.TEN.setScale(5, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.valueOf(10_000_0000, 5)));
- balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("abc", "def", "ghi"));
+ final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
+ balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
+ balanceSegmentSet.setSegments(Arrays.asList(
+ BigDecimal.ZERO.setScale(5, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.TEN.setScale(5, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.valueOf(10_000_0000, 5)));
+ balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("abc", "def", "ghi"));
- Gson gson = new Gson();
- this.mockMvc.perform(post("/products/" +product.getIdentifier()+ "/balancesegmentsets/")
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .content(gson.toJson(balanceSegmentSet)))
- .andExpect(status().isAccepted())
- .andDo(document("document-create-balance-segment-set", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").description("Balance segment set's identifier"),
- fieldWithPath("segments").description("Balance segment set's given name"),
- fieldWithPath("segmentIdentifiers").description("Balance segment sets's segment identfiers"))));
+ Gson gson = new Gson();
+ this.mockMvc.perform(post("/products/" + product.getIdentifier() + "/balancesegmentsets/")
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .content(gson.toJson(balanceSegmentSet)))
+ .andExpect(status().isAccepted())
+ .andDo(document("document-create-balance-segment-set", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").description("Balance segment set's identifier"),
+ fieldWithPath("segments").description("Balance segment set's given name"),
+ fieldWithPath("segmentIdentifiers").description("Balance segment sets's segment identfiers"))));
- }
+ }
- @Test
- public void documentGetAllBalanceSegmentSets () throws Exception {
- final Product product = createProduct();
+ @Test
+ public void documentGetAllBalanceSegmentSets() throws Exception {
+ final Product product = createProduct();
- final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
- balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
- balanceSegmentSet.setSegments(Arrays.asList(
- BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.TEN.setScale(3, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.valueOf(10_000_0000, 3)));
- balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("how","are", "you"));
+ final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
+ balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
+ balanceSegmentSet.setSegments(Arrays.asList(
+ BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.TEN.setScale(3, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.valueOf(10_000_0000, 3)));
+ balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("how", "are", "you"));
- portfolioManager.createBalanceSegmentSet(product.getIdentifier(), balanceSegmentSet);
+ portfolioManager.createBalanceSegmentSet(product.getIdentifier(), balanceSegmentSet);
- this.mockMvc.perform(get("/products/" +product.getIdentifier()+ "/balancesegmentsets/")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-all-balance-segment-sets", preprocessRequest(prettyPrint()),
- responseFields(
- fieldWithPath("[]").description("An array of balance segment sets"),
- fieldWithPath("[].identifier").description("Balance segment set's identifier "),
- fieldWithPath("[].segments").description("Balance segment set's segments "),
- fieldWithPath("[].segmentIdentifiers").description("Balance segment set's segment identifier"))));
+ this.mockMvc.perform(get("/products/" + product.getIdentifier() + "/balancesegmentsets/")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-all-balance-segment-sets", preprocessRequest(prettyPrint()),
+ responseFields(
+ fieldWithPath("[]").description("An array of balance segment sets"),
+ fieldWithPath("[].identifier").description("Balance segment set's identifier "),
+ fieldWithPath("[].segments").description("Balance segment set's segments "),
+ fieldWithPath("[].segmentIdentifiers").description("Balance segment set's segment identifier"))));
- }
+ }
- @Test
- public void documentGetBalanceSegmentSet () throws Exception {
- final Product product = createProduct();
+ @Test
+ public void documentGetBalanceSegmentSet() throws Exception {
+ final Product product = createProduct();
- final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
- balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
- balanceSegmentSet.setSegments(Arrays.asList(
- BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.TEN.setScale(3, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.valueOf(10_000_0000, 3)));
- balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("how","are", "you"));
+ final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
+ balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
+ balanceSegmentSet.setSegments(Arrays.asList(
+ BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.TEN.setScale(3, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.valueOf(10_000_0000, 3)));
+ balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("how", "are", "you"));
- portfolioManager.createBalanceSegmentSet(product.getIdentifier(), balanceSegmentSet);
- this.eventRecorder.wait(EventConstants.POST_BALANCE_SEGMENT_SET, new BalanceSegmentSetEvent(product.getIdentifier(), balanceSegmentSet.getIdentifier()));
+ portfolioManager.createBalanceSegmentSet(product.getIdentifier(), balanceSegmentSet);
+ this.eventRecorder.wait(EventConstants.POST_BALANCE_SEGMENT_SET, new BalanceSegmentSetEvent(product.getIdentifier(), balanceSegmentSet.getIdentifier()));
- this.mockMvc.perform(get("/products/" +product.getIdentifier()+ "/balancesegmentsets/" +balanceSegmentSet.getIdentifier())
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-balance-segment-set", preprocessRequest(prettyPrint()),
- responseFields(
- fieldWithPath("identifier").description("Balance segment set's identifier"),
- fieldWithPath("segments").description("Balance segment set's given name"),
- fieldWithPath("segmentIdentifiers").description("Balance segment sets's segment identfiers"))));
+ this.mockMvc.perform(get("/products/" + product.getIdentifier() + "/balancesegmentsets/" + balanceSegmentSet.getIdentifier())
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-balance-segment-set", preprocessRequest(prettyPrint()),
+ responseFields(
+ fieldWithPath("identifier").description("Balance segment set's identifier"),
+ fieldWithPath("segments").description("Balance segment set's given name"),
+ fieldWithPath("segmentIdentifiers").description("Balance segment sets's segment identfiers"))));
- }
+ }
- @Test
- public void documentChangeBalanceSegmentSet () throws Exception {
- final Product product = createProduct();
+ @Test
+ public void documentChangeBalanceSegmentSet() throws Exception {
+ final Product product = createProduct();
- final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
- balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
- balanceSegmentSet.setSegments(Arrays.asList(
- BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.TEN.setScale(3, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.valueOf(10_000_0000, 3)));
- balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("how","are", "you"));
+ final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
+ balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
+ balanceSegmentSet.setSegments(Arrays.asList(
+ BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.TEN.setScale(3, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.valueOf(10_000_0000, 3)));
+ balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("how", "are", "you"));
- portfolioManager.createBalanceSegmentSet(product.getIdentifier(), balanceSegmentSet);
- this.eventRecorder.wait(EventConstants.POST_BALANCE_SEGMENT_SET, new BalanceSegmentSetEvent(product.getIdentifier(), balanceSegmentSet.getIdentifier()));
+ portfolioManager.createBalanceSegmentSet(product.getIdentifier(), balanceSegmentSet);
+ this.eventRecorder.wait(EventConstants.POST_BALANCE_SEGMENT_SET, new BalanceSegmentSetEvent(product.getIdentifier(), balanceSegmentSet.getIdentifier()));
- balanceSegmentSet.setSegments(Arrays.asList(
- BigDecimal.ZERO.setScale(6, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.valueOf(100_0000, 6),
- BigDecimal.valueOf(10_000_0000, 6)));
- balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("abc", "def", "ghi"));
+ balanceSegmentSet.setSegments(Arrays.asList(
+ BigDecimal.ZERO.setScale(6, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.valueOf(100_0000, 6),
+ BigDecimal.valueOf(10_000_0000, 6)));
+ balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("abc", "def", "ghi"));
- Gson gson = new Gson();
- this.mockMvc.perform(put("/products/" + product.getIdentifier()+ "/balancesegmentsets/" +balanceSegmentSet.getIdentifier())
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
- .content(gson.toJson(balanceSegmentSet)))
- .andExpect(status().isAccepted())
- .andDo(document(
- "document-change-balance-segment-set", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").description("Balance segment set's identifier"),
- fieldWithPath("segments").description("Balance segment set's given name"),
- fieldWithPath("segmentIdentifiers").description("Balance segment sets's segment identfiers"))));
+ Gson gson = new Gson();
+ this.mockMvc.perform(put("/products/" + product.getIdentifier() + "/balancesegmentsets/" + balanceSegmentSet.getIdentifier())
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
+ .content(gson.toJson(balanceSegmentSet)))
+ .andExpect(status().isAccepted())
+ .andDo(document(
+ "document-change-balance-segment-set", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").description("Balance segment set's identifier"),
+ fieldWithPath("segments").description("Balance segment set's given name"),
+ fieldWithPath("segmentIdentifiers").description("Balance segment sets's segment identfiers"))));
- }
+ }
- @Test
- public void documentDeleteBalanceSegmentSet() throws Exception {
- final Product product = createProduct();
+ @Test
+ public void documentDeleteBalanceSegmentSet() throws Exception {
+ final Product product = createProduct();
- final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
- balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
- balanceSegmentSet.setSegments(Arrays.asList(
- BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.TEN.setScale(3, BigDecimal.ROUND_HALF_EVEN),
- BigDecimal.valueOf(10_000_0000, 3)));
- balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("am","fine", "thanks"));
+ final BalanceSegmentSet balanceSegmentSet = new BalanceSegmentSet();
+ balanceSegmentSet.setIdentifier(testEnvironment.generateUniqueIdentifer("bss"));
+ balanceSegmentSet.setSegments(Arrays.asList(
+ BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.TEN.setScale(3, BigDecimal.ROUND_HALF_EVEN),
+ BigDecimal.valueOf(10_000_0000, 3)));
+ balanceSegmentSet.setSegmentIdentifiers(Arrays.asList("am", "fine", "thanks"));
- portfolioManager.createBalanceSegmentSet(product.getIdentifier(), balanceSegmentSet);
- this.mockMvc.perform(delete("/products/" + product.getIdentifier()+ "/balancesegmentsets/" +balanceSegmentSet.getIdentifier())
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .accept(MediaType.ALL_VALUE))
- .andExpect(status().isAccepted())
- .andDo(document("document-delete-balance-segment-set", preprocessResponse(prettyPrint())));
+ portfolioManager.createBalanceSegmentSet(product.getIdentifier(), balanceSegmentSet);
+ this.mockMvc.perform(delete("/products/" + product.getIdentifier() + "/balancesegmentsets/" + balanceSegmentSet.getIdentifier())
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .accept(MediaType.ALL_VALUE))
+ .andExpect(status().isAccepted())
+ .andDo(document("document-delete-balance-segment-set", preprocessResponse(prettyPrint())));
- }
+ }
}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/CaseDocumentsApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/CaseDocumentsApiDocumentation.java
index 2f01abc..856998a 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/CaseDocumentsApiDocumentation.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/CaseDocumentsApiDocumentation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.fineract.cn.portfolio;
import com.google.gson.Gson;
@@ -30,98 +48,98 @@
public class CaseDocumentsApiDocumentation extends AbstractPortfolioTest {
- @Rule
- public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-casedocuments");
+ @Rule
+ public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-casedocuments");
- @Autowired
- private WebApplicationContext context;
+ @Autowired
+ private WebApplicationContext context;
- private MockMvc mockMvc;
+ private MockMvc mockMvc;
- @Before
- public void setUp() {
+ @Before
+ public void setUp() {
- this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
- .apply(documentationConfiguration(this.restDocumentation))
- .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
- .build();
- }
+ this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
+ .apply(documentationConfiguration(this.restDocumentation))
+ .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
+ .build();
+ }
- @Test
- public void documentGetCaseDocuments() throws Exception {
+ @Test
+ public void documentGetCaseDocuments() throws Exception {
- final Product product = createAndEnableProduct();
+ final Product product = createAndEnableProduct();
- final Case customerCase = createCase(product.getIdentifier());
+ final Case customerCase = createCase(product.getIdentifier());
- final CaseCustomerDocuments caseDocuments = caseDocumentsManager.getCaseDocuments(
- product.getIdentifier(), customerCase.getIdentifier());
+ final CaseCustomerDocuments caseDocuments = caseDocumentsManager.getCaseDocuments(
+ product.getIdentifier(), customerCase.getIdentifier());
- final CaseCustomerDocuments.Document studentLoanDocument
- = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "student_loan_documents");
- final CaseCustomerDocuments.Document houseTitle
- = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "house_title");
- final CaseCustomerDocuments.Document workContract
- = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "work_contract");
+ final CaseCustomerDocuments.Document studentLoanDocument
+ = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "student_loan_documents");
+ final CaseCustomerDocuments.Document houseTitle
+ = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "house_title");
+ final CaseCustomerDocuments.Document workContract
+ = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "work_contract");
- caseDocuments.setDocuments(Arrays.asList(studentLoanDocument, houseTitle, workContract));
+ caseDocuments.setDocuments(Arrays.asList(studentLoanDocument, houseTitle, workContract));
- this.mockMvc.perform(get("/individuallending/products/" + product.getIdentifier() + "/cases/" + customerCase.getIdentifier() + "/documents")
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .accept(MediaType.ALL_VALUE))
- .andExpect(status().isOk())
- .andDo(document("document-get-case-documents", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- responseFields(
- fieldWithPath("documents").type("List<Document>").description("The case document +\n" +
- " +\n" +
- "_Document_ { +\n" +
- " *enum* _Type_ { +\n" +
- " customerId, +\n" +
- " documentId, +\n" +
- " } +"))));
+ this.mockMvc.perform(get("/individuallending/products/" + product.getIdentifier() + "/cases/" + customerCase.getIdentifier() + "/documents")
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .accept(MediaType.ALL_VALUE))
+ .andExpect(status().isOk())
+ .andDo(document("document-get-case-documents", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ responseFields(
+ fieldWithPath("documents").type("List<Document>").description("The case document +\n" +
+ " +\n" +
+ "_Document_ { +\n" +
+ " *enum* _Type_ { +\n" +
+ " customerId, +\n" +
+ " documentId, +\n" +
+ " } +"))));
- }
+ }
- @Test
- public void documentChangeCaseDocuments() throws Exception {
+ @Test
+ public void documentChangeCaseDocuments() throws Exception {
- final Product product = createAndEnableProduct();
+ final Product product = createAndEnableProduct();
- final Case customerCase = createCase(product.getIdentifier());
+ final Case customerCase = createCase(product.getIdentifier());
- final CaseCustomerDocuments caseDocuments = caseDocumentsManager.getCaseDocuments(
- product.getIdentifier(), customerCase.getIdentifier());
+ final CaseCustomerDocuments caseDocuments = caseDocumentsManager.getCaseDocuments(
+ product.getIdentifier(), customerCase.getIdentifier());
- final CaseCustomerDocuments.Document houseLoanDocument
- = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "house_loan_documents");
- final CaseCustomerDocuments.Document houseTitle
- = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "house_title");
- final CaseCustomerDocuments.Document workContract
- = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "work_contract");
+ final CaseCustomerDocuments.Document houseLoanDocument
+ = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "house_loan_documents");
+ final CaseCustomerDocuments.Document houseTitle
+ = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "house_title");
+ final CaseCustomerDocuments.Document workContract
+ = new CaseCustomerDocuments.Document(Fixture.CUSTOMER_IDENTIFIER, "work_contract");
- caseDocuments.setDocuments(Arrays.asList(houseLoanDocument, houseTitle, workContract));
+ caseDocuments.setDocuments(Arrays.asList(houseLoanDocument, houseTitle, workContract));
- caseDocumentsManager.changeCaseDocuments(product.getIdentifier(), customerCase.getIdentifier(), caseDocuments);
+ caseDocumentsManager.changeCaseDocuments(product.getIdentifier(), customerCase.getIdentifier(), caseDocuments);
- Gson gson = new Gson();
- this.mockMvc.perform(put("/individuallending/products/" + product.getIdentifier() + "/cases/" + customerCase.getIdentifier() + "/documents")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
- .content(gson.toJson(caseDocuments)))
- .andExpect(status().isAccepted())
- .andDo(document(
- "document-change-case-documents", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("documents").type("List<Document>").description("The case document +\n" +
- " +\n" +
- "_Document_ { +\n" +
- " *enum* _Type_ { +\n" +
- " customerId, +\n" +
- " documentId, +\n" +
- " } +"))));
- }
+ Gson gson = new Gson();
+ this.mockMvc.perform(put("/individuallending/products/" + product.getIdentifier() + "/cases/" + customerCase.getIdentifier() + "/documents")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
+ .content(gson.toJson(caseDocuments)))
+ .andExpect(status().isAccepted())
+ .andDo(document(
+ "document-change-case-documents", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("documents").type("List<Document>").description("The case document +\n" +
+ " +\n" +
+ "_Document_ { +\n" +
+ " *enum* _Type_ { +\n" +
+ " customerId, +\n" +
+ " documentId, +\n" +
+ " } +"))));
+ }
}
\ No newline at end of file
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/CasesApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/CasesApiDocumentation.java
index 00b1d6b..2470942 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/CasesApiDocumentation.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/CasesApiDocumentation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.fineract.cn.portfolio;
import com.google.gson.Gson;
@@ -15,8 +33,10 @@
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
+
import java.util.HashSet;
import java.util.Set;
+
import static org.apache.fineract.cn.lang.config.TenantHeaderFilter.TENANT_HEADER;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration;
@@ -31,78 +51,79 @@
public class CasesApiDocumentation extends AbstractPortfolioTest {
- @Rule
- public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-cases");
+ @Rule
+ public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-cases");
- @Autowired
- private WebApplicationContext context;
+ @Autowired
+ private WebApplicationContext context;
- private MockMvc mockMvc;
+ private MockMvc mockMvc;
- @Before
- public void setUp() {
+ @Before
+ public void setUp() {
- this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
- .apply(documentationConfiguration(this.restDocumentation))
- .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
- .build();
- }
+ this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
+ .apply(documentationConfiguration(this.restDocumentation))
+ .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
+ .build();
+ }
- @Test
- public void documentCreateCase () throws Exception {
+ @Test
+ public void documentCreateCase() throws Exception {
- final Product product = createAndEnableProduct();
+ final Product product = createAndEnableProduct();
- final Case caseInstance = createCase(product.getIdentifier());
- caseInstance.setIdentifier("case-v1");
+ final Case caseInstance = createCase(product.getIdentifier());
+ caseInstance.setIdentifier("case-v1");
- Gson gson = new Gson();
- this.mockMvc.perform(post("/products/"+product.getIdentifier()+"/cases/")
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .content(gson.toJson(caseInstance)))
- .andExpect(status().isAccepted())
- .andDo(document("document-create-case", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").description("Cases's identifier"),
- fieldWithPath("productIdentifier").description("Products's identifier"),
- fieldWithPath("interest").description("Cases's interest"),
- fieldWithPath("parameters").description("cases's parameters"),
- fieldWithPath("accountAssignments").description("Cases's account assignment"),
- fieldWithPath("currentState").description("Cases's current state"))));
+ Gson gson = new Gson();
+ this.mockMvc.perform(post("/products/" + product.getIdentifier() + "/cases/")
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .content(gson.toJson(caseInstance)))
+ .andExpect(status().isAccepted())
+ .andDo(document("document-create-case", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").description("Cases's identifier"),
+ fieldWithPath("productIdentifier").description("Products's identifier"),
+ fieldWithPath("interest").description("Cases's interest"),
+ fieldWithPath("parameters").description("cases's parameters"),
+ fieldWithPath("accountAssignments").description("Cases's account assignment"),
+ fieldWithPath("currentState").description("Cases's current state"))));
- }
+ }
- @Test
- public void documentChangeCase () throws Exception {
+ @Test
+ public void documentChangeCase() throws Exception {
- final Product product = createAndEnableProduct();
+ final Product product = createAndEnableProduct();
- final CaseParameters newCaseParameters = Fixture.createAdjustedCaseParameters(x -> {});
- final String originalParameters = new Gson().toJson(newCaseParameters);
- final Case caseInstance = createAdjustedCase(product.getIdentifier(), x -> x.setParameters(originalParameters));
+ final CaseParameters newCaseParameters = Fixture.createAdjustedCaseParameters(x -> {
+ });
+ final String originalParameters = new Gson().toJson(newCaseParameters);
+ final Case caseInstance = createAdjustedCase(product.getIdentifier(), x -> x.setParameters(originalParameters));
- final Set<AccountAssignment> accountAssignments = new HashSet<>();
- accountAssignments.add(new AccountAssignment(AccountDesignators.CUSTOMER_LOAN_GROUP, "002-011"));
- accountAssignments.add(new AccountAssignment(AccountDesignators.ENTRY, "002-012"));
- caseInstance.setAccountAssignments(accountAssignments);
+ final Set<AccountAssignment> accountAssignments = new HashSet<>();
+ accountAssignments.add(new AccountAssignment(AccountDesignators.CUSTOMER_LOAN_GROUP, "002-011"));
+ accountAssignments.add(new AccountAssignment(AccountDesignators.ENTRY, "002-012"));
+ caseInstance.setAccountAssignments(accountAssignments);
- Gson gson = new Gson();
- this.mockMvc.perform(put("/products/" + product.getIdentifier() + "/cases/" + caseInstance.getIdentifier())
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
- .content(gson.toJson(caseInstance)))
- .andExpect(status().isAccepted())
- .andDo(document(
- "document-change-case", preprocessRequest(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").description("Cases's identifier"),
- fieldWithPath("productIdentifier").description("Products's identifier"),
- fieldWithPath("interest").description("Cases's interest"),
- fieldWithPath("parameters").description("cases's parameters"),
- fieldWithPath("accountAssignments").description("Cases's account assignment"),
- fieldWithPath("currentState").description("Cases's current state"))));
+ Gson gson = new Gson();
+ this.mockMvc.perform(put("/products/" + product.getIdentifier() + "/cases/" + caseInstance.getIdentifier())
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
+ .content(gson.toJson(caseInstance)))
+ .andExpect(status().isAccepted())
+ .andDo(document(
+ "document-change-case", preprocessRequest(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").description("Cases's identifier"),
+ fieldWithPath("productIdentifier").description("Products's identifier"),
+ fieldWithPath("interest").description("Cases's interest"),
+ fieldWithPath("parameters").description("cases's parameters"),
+ fieldWithPath("accountAssignments").description("Cases's account assignment"),
+ fieldWithPath("currentState").description("Cases's current state"))));
- }
+ }
}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/ChargeDefinitionApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/ChargeDefinitionApiDocumentation.java
index 63da9d8..281d25d 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/ChargeDefinitionApiDocumentation.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/ChargeDefinitionApiDocumentation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.fineract.cn.portfolio;
import com.google.gson.Gson;
@@ -33,207 +51,207 @@
public class ChargeDefinitionApiDocumentation extends AbstractPortfolioTest {
- @Rule
- public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-chargedefinitions");
+ @Rule
+ public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-chargedefinitions");
- @Autowired
- private WebApplicationContext context;
+ @Autowired
+ private WebApplicationContext context;
- private MockMvc mockMvc;
+ private MockMvc mockMvc;
- @Before
- public void setUp() {
+ @Before
+ public void setUp() {
- this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
- .apply(documentationConfiguration(this.restDocumentation))
- .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
- .build();
- }
+ this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
+ .apply(documentationConfiguration(this.restDocumentation))
+ .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
+ .build();
+ }
- @Test
- public void documentGetAllChargeDefinitions ( ) throws Exception {
- final Product product = createProduct();
+ @Test
+ public void documentGetAllChargeDefinitions() throws Exception {
+ final Product product = createProduct();
- try {
- this.mockMvc.perform(get("/products/" +product.getIdentifier()+"/charges/")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-all-charge-definitions", preprocessRequest(prettyPrint()),
- responseFields(
+ try {
+ this.mockMvc.perform(get("/products/" + product.getIdentifier() + "/charges/")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-all-charge-definitions", preprocessRequest(prettyPrint()),
+ responseFields(
- fieldWithPath("identifier").description("Charge definition's identifier"),
- fieldWithPath("name").description("Charge definitions given name"),
- fieldWithPath("description").description("Charge definitions description"),
- fieldWithPath("accrueAction").description("Charge definitions accrue action"),
- fieldWithPath("proportionalTo").description("Charge definitions proportional to"),
- fieldWithPath("accrualAccountDesignator").description("Charge definitions accrual acion generatort"),
- fieldWithPath("forCycleSizeUnit").description("Charge definitions cycle size unit"),
- fieldWithPath("forSegmentSet").description("Charge definitions segment set"),
- fieldWithPath("fromSegment").description("Charge definitions from segment"),
- fieldWithPath("toSegment").description("Charge definitions to segment"),
- fieldWithPath("chargeOnTop").description("Charge definitions charge on top"),
- fieldWithPath("fromAccountDesignator").description("From account designator"),
- fieldWithPath("toAccountDesignator").description("To account designator"),
- fieldWithPath("amount").description("Charge definition's amount"),
- fieldWithPath("chargeMethod").description("Charge definitions charge method"),
- fieldWithPath("chargeAction").description("Charge definition's charge action"),
- fieldWithPath("description").description("Employee's middle name"),
- fieldWithPath("readOnly").description("Readability"))));
+ fieldWithPath("identifier").description("Charge definition's identifier"),
+ fieldWithPath("name").description("Charge definitions given name"),
+ fieldWithPath("description").description("Charge definitions description"),
+ fieldWithPath("accrueAction").description("Charge definitions accrue action"),
+ fieldWithPath("proportionalTo").description("Charge definitions proportional to"),
+ fieldWithPath("accrualAccountDesignator").description("Charge definitions accrual acion generatort"),
+ fieldWithPath("forCycleSizeUnit").description("Charge definitions cycle size unit"),
+ fieldWithPath("forSegmentSet").description("Charge definitions segment set"),
+ fieldWithPath("fromSegment").description("Charge definitions from segment"),
+ fieldWithPath("toSegment").description("Charge definitions to segment"),
+ fieldWithPath("chargeOnTop").description("Charge definitions charge on top"),
+ fieldWithPath("fromAccountDesignator").description("From account designator"),
+ fieldWithPath("toAccountDesignator").description("To account designator"),
+ fieldWithPath("amount").description("Charge definition's amount"),
+ fieldWithPath("chargeMethod").description("Charge definitions charge method"),
+ fieldWithPath("chargeAction").description("Charge definition's charge action"),
+ fieldWithPath("description").description("Employee's middle name"),
+ fieldWithPath("readOnly").description("Readability"))));
} catch (Exception e) {
- e.printStackTrace();
- }
-
+ e.printStackTrace();
}
-
- @Test
- public void documentCreateChargeDefinition() throws Exception {
-
- final Product product = createProduct();
-
- final ChargeDefinition chargeDefinition = new ChargeDefinition();
- chargeDefinition.setIdentifier("charge123");
- chargeDefinition.setName("core123");
- chargeDefinition.setFromAccountDesignator("Pembe");
- chargeDefinition.setToAccountDesignator("Miriam");
- chargeDefinition.setAmount(BigDecimal.ONE.setScale(3, BigDecimal.ROUND_UNNECESSARY));
- chargeDefinition.setChargeMethod(ChargeDefinition.ChargeMethod.FIXED);
- chargeDefinition.setChargeAction(Action.OPEN.name());
- chargeDefinition.setDescription("describe charge");
+ }
- Gson gson = new Gson();
- this.mockMvc.perform(post("/products/"+product.getIdentifier()+"/charges/")
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .content(gson.toJson(chargeDefinition)))
- .andExpect(status().isAccepted())
- .andDo(document("document-create-charge-definition", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").description("Charge definition's identifier"),
- fieldWithPath("name").description("Charge definitions given name"),
- fieldWithPath("fromAccountDesignator").description("From account designator"),
- fieldWithPath("toAccountDesignator").description("To account designator"),
- fieldWithPath("amount").description("Charge definition's amount"),
- fieldWithPath("chargeMethod").description("Charge definitions charge method"),
- fieldWithPath("chargeAction").description("Charge definition's charge action"),
- fieldWithPath("description").description("Employee's middle name"),
- fieldWithPath("readOnly").description("Readability"))));
+ @Test
+ public void documentCreateChargeDefinition() throws Exception {
- }
+ final Product product = createProduct();
- @Test
- public void documentChangeChargeDefinition() throws Exception {
-
- final Product product = createProduct();
-
- final ChargeDefinition chargeDefinition = new ChargeDefinition();
- chargeDefinition.setIdentifier("charge124");
- chargeDefinition.setName("core123");
- chargeDefinition.setFromAccountDesignator("Pembe");
- chargeDefinition.setToAccountDesignator("Miriam");
- chargeDefinition.setAmount(BigDecimal.ONE.setScale(3, BigDecimal.ROUND_UNNECESSARY));
- chargeDefinition.setChargeMethod(ChargeDefinition.ChargeMethod.FIXED);
- chargeDefinition.setChargeAction(Action.OPEN.name());
- chargeDefinition.setDescription("describe charge");
-
- portfolioManager.createChargeDefinition(product.getIdentifier(), chargeDefinition);
-
- chargeDefinition.setName("charge12345");
- chargeDefinition.setFromAccountDesignator("Paul");
- chargeDefinition.setToAccountDesignator("Motia");
-
- Gson gson = new Gson();
- this.mockMvc.perform(put("/products/" + product.getIdentifier() + "/charges/" + chargeDefinition.getIdentifier())
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
- .content(gson.toJson(chargeDefinition)))
- .andExpect(status().isAccepted())
- .andDo(document(
- "document-change-charge-definition", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").description("Charge definition's identifier"),
- fieldWithPath("name").description("Charge definitions given name"),
- fieldWithPath("fromAccountDesignator").description("From account designator"),
- fieldWithPath("toAccountDesignator").description("To account designator"),
- fieldWithPath("amount").description("Charge definition's amount"),
- fieldWithPath("chargeMethod").description("Charge definitions charge method"),
- fieldWithPath("chargeAction").description("Charge definition's charge action"),
- fieldWithPath("description").description("Employee's middle name"),
- fieldWithPath("readOnly").description("Readability"))));
- }
-
- @Test
- public void documentGetChargeDefinition() throws Exception {
-
- final Product product = createProduct();
-
- final ChargeDefinition chargeDefinition = new ChargeDefinition();
- chargeDefinition.setIdentifier("charge10");
- chargeDefinition.setName("core123");
- chargeDefinition.setFromAccountDesignator("pembe");
- chargeDefinition.setToAccountDesignator("miriam");
- chargeDefinition.setAmount(BigDecimal.ONE.setScale(3, BigDecimal.ROUND_UNNECESSARY));
- chargeDefinition.setChargeMethod(ChargeDefinition.ChargeMethod.FIXED);
- chargeDefinition.setChargeAction(Action.OPEN.name());
- chargeDefinition.setDescription("describe charge");
-
- portfolioManager.createChargeDefinition(product.getIdentifier(), chargeDefinition);
+ final ChargeDefinition chargeDefinition = new ChargeDefinition();
+ chargeDefinition.setIdentifier("charge123");
+ chargeDefinition.setName("core123");
+ chargeDefinition.setFromAccountDesignator("Pembe");
+ chargeDefinition.setToAccountDesignator("Miriam");
+ chargeDefinition.setAmount(BigDecimal.ONE.setScale(3, BigDecimal.ROUND_UNNECESSARY));
+ chargeDefinition.setChargeMethod(ChargeDefinition.ChargeMethod.FIXED);
+ chargeDefinition.setChargeAction(Action.OPEN.name());
+ chargeDefinition.setDescription("describe charge");
- this.mockMvc.perform(get("/products/" + product.getIdentifier() + "/charges/" + chargeDefinition.getIdentifier())
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .accept(MediaType.ALL_VALUE))
- .andExpect(status().isOk())
- .andDo(document("document-get-case-document", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- responseFields(
- fieldWithPath("identifier").description("Charge definition's identifier"),
- fieldWithPath("name").description("Charge definitions given name"),
- fieldWithPath("description").description("Charge definitions description"),
- fieldWithPath("accrueAction").description("Charge definitions accrue action"),
- fieldWithPath("proportionalTo").description("Charge definitions proportional to"),
- fieldWithPath("accrualAccountDesignator").description("Charge definitions accrual acion generatort"),
- fieldWithPath("forCycleSizeUnit").description("Charge definitions cycle size unit"),
- fieldWithPath("forSegmentSet").description("Charge definitions segment set"),
- fieldWithPath("fromSegment").description("Charge definitions from segment"),
- fieldWithPath("toSegment").description("Charge definitions to segment"),
- fieldWithPath("chargeOnTop").description("Charge definitions charge on top"),
- fieldWithPath("fromAccountDesignator").description("From account designator"),
- fieldWithPath("toAccountDesignator").description("To account designator"),
- fieldWithPath("amount").description("Charge definition's amount"),
- fieldWithPath("chargeMethod").description("Charge definitions charge method"),
- fieldWithPath("chargeAction").description("Charge definition's charge action"),
- fieldWithPath("description").description("Employee's middle name"),
- fieldWithPath("readOnly").description("Readability"))));
- }
+ Gson gson = new Gson();
+ this.mockMvc.perform(post("/products/" + product.getIdentifier() + "/charges/")
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .content(gson.toJson(chargeDefinition)))
+ .andExpect(status().isAccepted())
+ .andDo(document("document-create-charge-definition", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").description("Charge definition's identifier"),
+ fieldWithPath("name").description("Charge definitions given name"),
+ fieldWithPath("fromAccountDesignator").description("From account designator"),
+ fieldWithPath("toAccountDesignator").description("To account designator"),
+ fieldWithPath("amount").description("Charge definition's amount"),
+ fieldWithPath("chargeMethod").description("Charge definitions charge method"),
+ fieldWithPath("chargeAction").description("Charge definition's charge action"),
+ fieldWithPath("description").description("Employee's middle name"),
+ fieldWithPath("readOnly").description("Readability"))));
- @Test
- public void documentDeleteChargeDefinition () throws Exception{
+ }
- final Product product = createProduct();
+ @Test
+ public void documentChangeChargeDefinition() throws Exception {
- final ChargeDefinition chargeDefinitionToDelete = new ChargeDefinition();
- chargeDefinitionToDelete.setAmount(BigDecimal.TEN);
- chargeDefinitionToDelete.setIdentifier("random123");
- chargeDefinitionToDelete.setName("account");
- chargeDefinitionToDelete.setDescription("account charge definition");
- chargeDefinitionToDelete.setChargeAction(Action.APPROVE.name());
- chargeDefinitionToDelete.setChargeMethod(ChargeDefinition.ChargeMethod.FIXED);
- chargeDefinitionToDelete.setToAccountDesignator(AccountDesignators.GENERAL_LOSS_ALLOWANCE);
- chargeDefinitionToDelete.setFromAccountDesignator(AccountDesignators.INTEREST_ACCRUAL);
- portfolioManager.createChargeDefinition(product.getIdentifier(), chargeDefinitionToDelete);
- this.eventRecorder.wait(EventConstants.POST_CHARGE_DEFINITION,
- new ChargeDefinitionEvent(product.getIdentifier(), chargeDefinitionToDelete.getIdentifier()));
+ final Product product = createProduct();
- this.mockMvc.perform(delete("/products/"+product.getIdentifier()+"/charges/" + chargeDefinitionToDelete.getIdentifier())
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .accept(MediaType.ALL_VALUE))
- .andExpect(status().isAccepted())
- .andDo(document("document-delete-charge-definition", preprocessResponse(prettyPrint())));
- }
+ final ChargeDefinition chargeDefinition = new ChargeDefinition();
+ chargeDefinition.setIdentifier("charge124");
+ chargeDefinition.setName("core123");
+ chargeDefinition.setFromAccountDesignator("Pembe");
+ chargeDefinition.setToAccountDesignator("Miriam");
+ chargeDefinition.setAmount(BigDecimal.ONE.setScale(3, BigDecimal.ROUND_UNNECESSARY));
+ chargeDefinition.setChargeMethod(ChargeDefinition.ChargeMethod.FIXED);
+ chargeDefinition.setChargeAction(Action.OPEN.name());
+ chargeDefinition.setDescription("describe charge");
+
+ portfolioManager.createChargeDefinition(product.getIdentifier(), chargeDefinition);
+
+ chargeDefinition.setName("charge12345");
+ chargeDefinition.setFromAccountDesignator("Paul");
+ chargeDefinition.setToAccountDesignator("Motia");
+
+ Gson gson = new Gson();
+ this.mockMvc.perform(put("/products/" + product.getIdentifier() + "/charges/" + chargeDefinition.getIdentifier())
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
+ .content(gson.toJson(chargeDefinition)))
+ .andExpect(status().isAccepted())
+ .andDo(document(
+ "document-change-charge-definition", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").description("Charge definition's identifier"),
+ fieldWithPath("name").description("Charge definitions given name"),
+ fieldWithPath("fromAccountDesignator").description("From account designator"),
+ fieldWithPath("toAccountDesignator").description("To account designator"),
+ fieldWithPath("amount").description("Charge definition's amount"),
+ fieldWithPath("chargeMethod").description("Charge definitions charge method"),
+ fieldWithPath("chargeAction").description("Charge definition's charge action"),
+ fieldWithPath("description").description("Employee's middle name"),
+ fieldWithPath("readOnly").description("Readability"))));
+ }
+
+ @Test
+ public void documentGetChargeDefinition() throws Exception {
+
+ final Product product = createProduct();
+
+ final ChargeDefinition chargeDefinition = new ChargeDefinition();
+ chargeDefinition.setIdentifier("charge10");
+ chargeDefinition.setName("core123");
+ chargeDefinition.setFromAccountDesignator("pembe");
+ chargeDefinition.setToAccountDesignator("miriam");
+ chargeDefinition.setAmount(BigDecimal.ONE.setScale(3, BigDecimal.ROUND_UNNECESSARY));
+ chargeDefinition.setChargeMethod(ChargeDefinition.ChargeMethod.FIXED);
+ chargeDefinition.setChargeAction(Action.OPEN.name());
+ chargeDefinition.setDescription("describe charge");
+
+ portfolioManager.createChargeDefinition(product.getIdentifier(), chargeDefinition);
+
+
+ this.mockMvc.perform(get("/products/" + product.getIdentifier() + "/charges/" + chargeDefinition.getIdentifier())
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .accept(MediaType.ALL_VALUE))
+ .andExpect(status().isOk())
+ .andDo(document("document-get-case-document", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ responseFields(
+ fieldWithPath("identifier").description("Charge definition's identifier"),
+ fieldWithPath("name").description("Charge definitions given name"),
+ fieldWithPath("description").description("Charge definitions description"),
+ fieldWithPath("accrueAction").description("Charge definitions accrue action"),
+ fieldWithPath("proportionalTo").description("Charge definitions proportional to"),
+ fieldWithPath("accrualAccountDesignator").description("Charge definitions accrual acion generatort"),
+ fieldWithPath("forCycleSizeUnit").description("Charge definitions cycle size unit"),
+ fieldWithPath("forSegmentSet").description("Charge definitions segment set"),
+ fieldWithPath("fromSegment").description("Charge definitions from segment"),
+ fieldWithPath("toSegment").description("Charge definitions to segment"),
+ fieldWithPath("chargeOnTop").description("Charge definitions charge on top"),
+ fieldWithPath("fromAccountDesignator").description("From account designator"),
+ fieldWithPath("toAccountDesignator").description("To account designator"),
+ fieldWithPath("amount").description("Charge definition's amount"),
+ fieldWithPath("chargeMethod").description("Charge definitions charge method"),
+ fieldWithPath("chargeAction").description("Charge definition's charge action"),
+ fieldWithPath("description").description("Employee's middle name"),
+ fieldWithPath("readOnly").description("Readability"))));
+ }
+
+ @Test
+ public void documentDeleteChargeDefinition() throws Exception {
+
+ final Product product = createProduct();
+
+ final ChargeDefinition chargeDefinitionToDelete = new ChargeDefinition();
+ chargeDefinitionToDelete.setAmount(BigDecimal.TEN);
+ chargeDefinitionToDelete.setIdentifier("random123");
+ chargeDefinitionToDelete.setName("account");
+ chargeDefinitionToDelete.setDescription("account charge definition");
+ chargeDefinitionToDelete.setChargeAction(Action.APPROVE.name());
+ chargeDefinitionToDelete.setChargeMethod(ChargeDefinition.ChargeMethod.FIXED);
+ chargeDefinitionToDelete.setToAccountDesignator(AccountDesignators.GENERAL_LOSS_ALLOWANCE);
+ chargeDefinitionToDelete.setFromAccountDesignator(AccountDesignators.INTEREST_ACCRUAL);
+ portfolioManager.createChargeDefinition(product.getIdentifier(), chargeDefinitionToDelete);
+ this.eventRecorder.wait(EventConstants.POST_CHARGE_DEFINITION,
+ new ChargeDefinitionEvent(product.getIdentifier(), chargeDefinitionToDelete.getIdentifier()));
+
+ this.mockMvc.perform(delete("/products/" + product.getIdentifier() + "/charges/" + chargeDefinitionToDelete.getIdentifier())
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .accept(MediaType.ALL_VALUE))
+ .andExpect(status().isAccepted())
+ .andDo(document("document-delete-charge-definition", preprocessResponse(prettyPrint())));
+ }
}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/LossProvisionApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/LossProvisionApiDocumentation.java
index c297245..4673268 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/LossProvisionApiDocumentation.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/LossProvisionApiDocumentation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.fineract.cn.portfolio;
@@ -35,93 +53,95 @@
public class LossProvisionApiDocumentation extends AbstractPortfolioTest {
- @Rule
- public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-lossprovision");
+ @Rule
+ public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-lossprovision");
- @Autowired
- private WebApplicationContext context;
+ @Autowired
+ private WebApplicationContext context;
- private MockMvc mockMvc;
+ private MockMvc mockMvc;
- @Before
- public void setUp ( ) {
+ @Before
+ public void setUp() {
- this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
- .apply(documentationConfiguration(this.restDocumentation))
- .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
- .build();
+ this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
+ .apply(documentationConfiguration(this.restDocumentation))
+ .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
+ .build();
+ }
+
+ @Test
+ public void documentChangeLossProvisionConfiguration() throws Exception {
+ final Product product = createAdjustedProduct(x -> {
+ });
+
+
+ final List<LossProvisionStep> lossProvisionSteps = new ArrayList<>();
+ lossProvisionSteps.add(new LossProvisionStep(1, BigDecimal.valueOf(5_00, 2)));
+ final LossProvisionConfiguration lossProvisionConfiguration = new LossProvisionConfiguration(lossProvisionSteps);
+
+ individualLending.changeLossProvisionConfiguration(product.getIdentifier(), lossProvisionConfiguration);
+
+
+ Gson gson = new Gson();
+ this.mockMvc.perform(put("/individuallending/products/" + product.getIdentifier() + "/lossprovisionconfiguration")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
+ .content(gson.toJson(lossProvisionConfiguration)))
+ .andExpect(status().isAccepted())
+ .andDo(document(
+ "document-change-loss-provision-configuration", preprocessRequest(prettyPrint()),
+ requestFields(
+ fieldWithPath("lossProvisionSteps").type("List<LossProvisionSteps>").description("The loss provision configurations +\n" +
+ " +\n" +
+ "_LossProvisionSteps_ { +\n" +
+ " *enum* _Type_ { +\n" +
+ " daysLate, +\n" +
+ " percentProvision, +\n" +
+ " } +")
+ )
+ ));
+ }
+
+ @Test
+ public void documentGetLossProvisionConfiguration() throws Exception {
+
+ final Product product = createAdjustedProduct(x -> {
+ });
+
+ final List<LossProvisionStep> lossProvisionSteps1 = new ArrayList<>();
+ lossProvisionSteps1.add(new LossProvisionStep(0, BigDecimal.valueOf(1_00, 2)));
+ lossProvisionSteps1.add(new LossProvisionStep(1, BigDecimal.valueOf(9_00, 2)));
+ lossProvisionSteps1.add(new LossProvisionStep(30, BigDecimal.valueOf(35_00, 2)));
+ lossProvisionSteps1.add(new LossProvisionStep(60, BigDecimal.valueOf(55_00, 2)));
+ final LossProvisionConfiguration lossProvisionConfiguration = new LossProvisionConfiguration(lossProvisionSteps1);
+
+ individualLending.changeLossProvisionConfiguration(product.getIdentifier(), lossProvisionConfiguration);
+
+ try {
+ this.mockMvc.perform(get("/individuallending/products/" + product.getIdentifier() + "/lossprovisionconfiguration")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-loss-provision-configuration", preprocessRequest(prettyPrint()),
+ responseFields(
+ fieldWithPath("lossProvisionSteps").type("List<LossProvisionSteps>").description("The loss provision configurations +\n" +
+ " +\n" +
+ "_LossProvisionSteps_ { +\n" +
+ " *enum* _Type_ { +\n" +
+ " daysLate, +\n" +
+ " percentProvision, +\n" +
+ " } +")
+ )
+ ));
+ } catch (Exception e) {
+ e.printStackTrace();
}
- @Test
- public void documentChangeLossProvisionConfiguration ( ) throws Exception {
- final Product product = createAdjustedProduct(x -> {});
+ }
- final List<LossProvisionStep> lossProvisionSteps = new ArrayList<>();
- lossProvisionSteps.add(new LossProvisionStep(1, BigDecimal.valueOf(5_00, 2)));
- final LossProvisionConfiguration lossProvisionConfiguration = new LossProvisionConfiguration(lossProvisionSteps);
-
- individualLending.changeLossProvisionConfiguration(product.getIdentifier(), lossProvisionConfiguration);
-
-
- Gson gson = new Gson();
- this.mockMvc.perform(put("/individuallending/products/" + product.getIdentifier() + "/lossprovisionconfiguration")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
- .content(gson.toJson(lossProvisionConfiguration)))
- .andExpect(status().isAccepted())
- .andDo(document(
- "document-change-loss-provision-configuration", preprocessRequest(prettyPrint()),
- requestFields(
- fieldWithPath("lossProvisionSteps").type("List<LossProvisionSteps>").description("The loss provision configurations +\n" +
- " +\n" +
- "_LossProvisionSteps_ { +\n" +
- " *enum* _Type_ { +\n" +
- " daysLate, +\n" +
- " percentProvision, +\n" +
- " } +")
- )
- ));
- }
-
- @Test
- public void documentGetLossProvisionConfiguration ( ) throws Exception{
-
- final Product product = createAdjustedProduct(x -> {});
-
- final List<LossProvisionStep> lossProvisionSteps1 = new ArrayList<>();
- lossProvisionSteps1.add(new LossProvisionStep(0, BigDecimal.valueOf(1_00, 2)));
- lossProvisionSteps1.add(new LossProvisionStep(1, BigDecimal.valueOf(9_00, 2)));
- lossProvisionSteps1.add(new LossProvisionStep(30, BigDecimal.valueOf(35_00, 2)));
- lossProvisionSteps1.add(new LossProvisionStep(60, BigDecimal.valueOf(55_00, 2)));
- final LossProvisionConfiguration lossProvisionConfiguration = new LossProvisionConfiguration(lossProvisionSteps1);
-
- individualLending.changeLossProvisionConfiguration(product.getIdentifier(), lossProvisionConfiguration);
-
- try {
- this.mockMvc.perform(get("/individuallending/products/" + product.getIdentifier() + "/lossprovisionconfiguration")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-loss-provision-configuration", preprocessRequest(prettyPrint()),
- responseFields(
- fieldWithPath("lossProvisionSteps").type("List<LossProvisionSteps>").description("The loss provision configurations +\n" +
- " +\n" +
- "_LossProvisionSteps_ { +\n" +
- " *enum* _Type_ { +\n" +
- " daysLate, +\n" +
- " percentProvision, +\n" +
- " } +")
- )
- ));
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
-
-
- }
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/PatternApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/PatternApiDocumentation.java
index da82448..2d9c6a9 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/PatternApiDocumentation.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/PatternApiDocumentation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.fineract.cn.portfolio;
import org.junit.Before;
@@ -22,44 +40,44 @@
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
public class PatternApiDocumentation extends AbstractPortfolioTest {
- @Rule
- public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-pattern");
+ @Rule
+ public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-pattern");
- @Autowired
- private WebApplicationContext context;
+ @Autowired
+ private WebApplicationContext context;
- private MockMvc mockMvc;
+ private MockMvc mockMvc;
- @Before
- public void setUp ( ) {
+ @Before
+ public void setUp() {
- this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
- .apply(documentationConfiguration(this.restDocumentation))
- .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
- .build();
+ this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
+ .apply(documentationConfiguration(this.restDocumentation))
+ .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
+ .build();
+ }
+
+ @Test
+ public void documentGetPatterns() throws Exception {
+
+ try {
+ this.mockMvc.perform(get("/patterns/")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-patterns", preprocessRequest(prettyPrint()),
+ responseFields(
+ fieldWithPath("[].parameterPackage").description("Pattern's parameter package"),
+ fieldWithPath("[].accountAssignmentGroups").description("Pattern's groups"),
+ fieldWithPath("[].accountAssignmentsRequired").description("List of Pattern's account assignments")
+ )
+
+ ));
+ } catch (Exception e) {
+ e.printStackTrace();
}
-
- @Test
- public void documentGetPatterns ( ) throws Exception {
-
- try {
- this.mockMvc.perform(get("/patterns/")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-patterns", preprocessRequest(prettyPrint()),
- responseFields(
- fieldWithPath("parameterPackage").description("Pattern's parameter package"),
- fieldWithPath("accountAssignmentGroups").description("Pattern's groups"),
- fieldWithPath("accountAssignmentsRequired").description("Pattern's account assignment status")
- )
-
- ));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
+ }
}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/PlannedPaymentsApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/PlannedPaymentsApiDocumentation.java
index a3c3102..dee2c3a 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/PlannedPaymentsApiDocumentation.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/PlannedPaymentsApiDocumentation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.fineract.cn.portfolio;
import com.google.gson.Gson;
@@ -28,62 +46,62 @@
public class PlannedPaymentsApiDocumentation extends AbstractPortfolioTest {
- @Rule
- public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-plannedpayments");
+ @Rule
+ public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-plannedpayments");
- @Autowired
- private WebApplicationContext context;
+ @Autowired
+ private WebApplicationContext context;
- private MockMvc mockMvc;
+ private MockMvc mockMvc;
- @Before
- public void setUp() {
+ @Before
+ public void setUp() {
- this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
- .apply(documentationConfiguration(this.restDocumentation))
- .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
- .build();
- }
+ this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
+ .apply(documentationConfiguration(this.restDocumentation))
+ .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
+ .build();
+ }
- @Test
- public void documentGetPaymentScheduledForCase() throws Exception {
- final Product product = createAndEnableProduct();
- final Case caseInstance = createCase(product.getIdentifier());
+ @Test
+ public void documentGetPaymentScheduledForCase() throws Exception {
+ final Product product = createAndEnableProduct();
+ final Case caseInstance = createCase(product.getIdentifier());
- this.mockMvc.perform(get("/individuallending/products/" + product.getIdentifier() + "/cases/" + caseInstance.getIdentifier() + "/plannedpayments")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-payment-scheduled-for-case", preprocessRequest(prettyPrint()),
- responseFields(
- fieldWithPath("chargeNames").description("Charge names"),
- fieldWithPath("elements").description("Payments"),
- fieldWithPath("totalPages").description("Total number of pages "),
- fieldWithPath("totalElements").description("Total elements found"))));
+ this.mockMvc.perform(get("/individuallending/products/" + product.getIdentifier() + "/cases/" + caseInstance.getIdentifier() + "/plannedpayments")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-payment-scheduled-for-case", preprocessRequest(prettyPrint()),
+ responseFields(
+ fieldWithPath("chargeNames").description("Charge names"),
+ fieldWithPath("elements").description("Payments"),
+ fieldWithPath("totalPages").description("Total number of pages "),
+ fieldWithPath("totalElements").description("Total elements found"))));
- }
+ }
- @Test
- public void documentGetPaymentScheduledForParameters() throws Exception {
- final Product product = createAndEnableProduct();
- final Case caseInstance = createCase(product.getIdentifier());
+ @Test
+ public void documentGetPaymentScheduledForParameters() throws Exception {
+ final Product product = createAndEnableProduct();
+ final Case caseInstance = createCase(product.getIdentifier());
- Gson gson = new Gson();
- this.mockMvc.perform(post("/individuallending/products/" + product.getIdentifier() + "/plannedpayments")
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .content(gson.toJson(caseInstance)))
- .andExpect(status().isOk())
- .andDo(document("document-get-payment-scheduled-for-parameters", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").description("Cases's identifier"),
- fieldWithPath("productIdentifier").description("Products's identifier"),
- fieldWithPath("interest").description("Cases's interest"),
- fieldWithPath("parameters").description("cases's parameters"),
- fieldWithPath("accountAssignments").description("Cases's account assignment"),
- fieldWithPath("currentState").description("Cases's current state"))));
+ Gson gson = new Gson();
+ this.mockMvc.perform(post("/individuallending/products/" + product.getIdentifier() + "/plannedpayments")
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .content(gson.toJson(caseInstance)))
+ .andExpect(status().isOk())
+ .andDo(document("document-get-payment-scheduled-for-parameters", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").description("Cases's identifier"),
+ fieldWithPath("productIdentifier").description("Products's identifier"),
+ fieldWithPath("interest").description("Cases's interest"),
+ fieldWithPath("parameters").description("cases's parameters"),
+ fieldWithPath("accountAssignments").description("Cases's account assignment"),
+ fieldWithPath("currentState").description("Cases's current state"))));
- }
+ }
}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/ProductsApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/ProductsApiDocumentation.java
index 4675a03..e37237e 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/ProductsApiDocumentation.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/ProductsApiDocumentation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.fineract.cn.portfolio;
import com.google.gson.Gson;
@@ -27,210 +45,211 @@
public class ProductsApiDocumentation extends AbstractPortfolioTest {
- @Rule
- public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-product");
+ @Rule
+ public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-product");
- @Autowired
- private WebApplicationContext context;
+ @Autowired
+ private WebApplicationContext context;
- private MockMvc mockMvc;
+ private MockMvc mockMvc;
- @Before
- public void setUp() {
+ @Before
+ public void setUp() {
- this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
- .apply(documentationConfiguration(this.restDocumentation))
- .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
- .build();
- }
+ this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
+ .apply(documentationConfiguration(this.restDocumentation))
+ .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
+ .build();
+ }
- @Test
- public void documentCreateProduct() throws Exception {
- final Product product = createAdjustedProduct(x -> {});
- product.setIdentifier("agro11");
+ @Test
+ public void documentCreateProduct() throws Exception {
+ final Product product = createAdjustedProduct(x -> {
+ });
+ product.setIdentifier("agro11");
- Gson gson = new Gson();
- this.mockMvc.perform(post("/products/")
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .content(gson.toJson(product)))
- .andExpect(status().isAccepted())
- .andDo(document("document-create-product", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").description("Product's identifier"),
- fieldWithPath("name").description("Product's given name"),
- fieldWithPath("termRange").type("List<TermRange>").description("The term range +\n" +
- " +\n" +
- "_TermRange_ { +\n" +
- " *enum* _Type_ { +\n" +
- " temporalUnit, +\n" +
- " maximum, +\n" +
- " } +"),
- fieldWithPath("balanceRange").description("Product's balance range"),
- fieldWithPath("interestRange").description("Products interest Range"),
- fieldWithPath("interestBasis").description("Products's interest basis"),
- fieldWithPath("patternPackage").description("Product's pattern package"),
- fieldWithPath("description").description("product description"),
- fieldWithPath("currencyCode").description("Country currency code"),
- fieldWithPath("minorCurrencyUnitDigits").description("Country minor currency unit"),
- fieldWithPath("accountAssignments").description("Account Assignments"),
- fieldWithPath("parameters").description("Product's parameters"),
- fieldWithPath("enabled").description("Readability"))));
+ Gson gson = new Gson();
+ this.mockMvc.perform(post("/products/")
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .content(gson.toJson(product)))
+ .andExpect(status().isAccepted())
+ .andDo(document("document-create-product", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").description("Product's identifier"),
+ fieldWithPath("name").description("Product's given name"),
+ fieldWithPath("termRange").type("List<TermRange>").description("The term range +\n" +
+ " +\n" +
+ "_TermRange_ { +\n" +
+ " *enum* _Type_ { +\n" +
+ " temporalUnit, +\n" +
+ " maximum, +\n" +
+ " } +"),
+ fieldWithPath("balanceRange").description("Product's balance range"),
+ fieldWithPath("interestRange").description("Products interest Range"),
+ fieldWithPath("interestBasis").description("Products's interest basis"),
+ fieldWithPath("patternPackage").description("Product's pattern package"),
+ fieldWithPath("description").description("product description"),
+ fieldWithPath("currencyCode").description("Country currency code"),
+ fieldWithPath("minorCurrencyUnitDigits").description("Country minor currency unit"),
+ fieldWithPath("accountAssignments").description("Account Assignments"),
+ fieldWithPath("parameters").description("Product's parameters"),
+ fieldWithPath("enabled").description("Readability"))));
- }
+ }
- @Test
- public void documentGetProducts() throws Exception {
- final Product product = createAdjustedProduct(x -> {});
+ @Test
+ public void documentGetProducts() throws Exception {
+ final Product product = createAdjustedProduct(x -> {
+ });
- this.eventRecorder.wait(EventConstants.POST_PRODUCT, product.getIdentifier());
+ this.eventRecorder.wait(EventConstants.POST_PRODUCT, product.getIdentifier());
- try {
- this.mockMvc.perform(get("/products?pageIndex=0&size=200")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-products", preprocessRequest(prettyPrint()),
- responseFields(
- fieldWithPath("identifier").description("Product's identifier"),
- fieldWithPath("name").description("Product's given name"),
- fieldWithPath("termRange").type("List<TermRange>").description("The term range +\n" +
- " +\n" +
- "_TermRange_ { +\n" +
- " *enum* _Type_ { +\n" +
- " temporalUnit, +\n" +
- " maximum, +\n" +
- " } +"),
- fieldWithPath("balanceRange").description("Product's balance range"),
- fieldWithPath("interestRange").description("Products interest Range"),
- fieldWithPath("interestBasis").description("Products's interest basis"),
- fieldWithPath("patternPackage").description("Product's pattern package"),
- fieldWithPath("description").description("product description"),
- fieldWithPath("currencyCode").description("Country currency code"),
- fieldWithPath("minorCurrencyUnitDigits").description("Country minor currency unit"),
- fieldWithPath("accountAssignments").description("Account Assignments"),
- fieldWithPath("parameters").description("Product's parameters"),
- fieldWithPath("enabled").description("Readability"))));
+ try {
+ this.mockMvc.perform(get("/products?pageIndex=0&size=200")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-products", preprocessRequest(prettyPrint()),
+ responseFields(
+ fieldWithPath("identifier").description("Product's identifier"),
+ fieldWithPath("name").description("Product's given name"),
+ fieldWithPath("termRange").type("List<TermRange>").description("The term range +\n" +
+ " +\n" +
+ "_TermRange_ { +\n" +
+ " *enum* _Type_ { +\n" +
+ " temporalUnit, +\n" +
+ " maximum, +\n" +
+ " } +"),
+ fieldWithPath("balanceRange").description("Product's balance range"),
+ fieldWithPath("interestRange").description("Products interest Range"),
+ fieldWithPath("interestBasis").description("Products's interest basis"),
+ fieldWithPath("patternPackage").description("Product's pattern package"),
+ fieldWithPath("description").description("product description"),
+ fieldWithPath("currencyCode").description("Country currency code"),
+ fieldWithPath("minorCurrencyUnitDigits").description("Country minor currency unit"),
+ fieldWithPath("accountAssignments").description("Account Assignments"),
+ fieldWithPath("parameters").description("Product's parameters"),
+ fieldWithPath("enabled").description("Readability"))));
} catch (Exception e) {
- e.printStackTrace();
+ e.printStackTrace();
}
-}
+ }
- @Test
- public void documentDeleteProducts() throws Exception {
+ @Test
+ public void documentDeleteProducts() throws Exception {
- final Product product = createAdjustedProduct(x -> {
- });
+ final Product product = createAdjustedProduct(x -> {
+ });
- this.mockMvc.perform(delete("/products/" + product.getIdentifier())
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .accept(MediaType.ALL_VALUE))
- .andExpect(status().isAccepted())
- .andDo(document("document-delete-products", preprocessResponse(prettyPrint())));
+ this.mockMvc.perform(delete("/products/" + product.getIdentifier())
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .accept(MediaType.ALL_VALUE))
+ .andExpect(status().isAccepted())
+ .andDo(document("document-delete-products", preprocessResponse(prettyPrint())));
- }
+ }
- @Test
- public void documentGetProduct() throws Exception {
+ @Test
+ public void documentGetProduct() throws Exception {
- final Product product = createAdjustedProduct(x -> {
- });
+ final Product product = createAdjustedProduct(x -> {
+ });
- this.mockMvc.perform(get("/products/" + product.getIdentifier())
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-product", preprocessRequest(prettyPrint()),
- responseFields(
- fieldWithPath("identifier").description("Charge definition's identifier"),
- fieldWithPath("name").description("Charge definitions given name"),
- fieldWithPath("termRange").type("List<TermRange>").description("The term range +\n" +
- " +\n" +
- "_TermRange_ { +\n" +
- " *enum* _Type_ { +\n" +
- " temporalUnit, +\n" +
- " maximum, +\n" +
- " } +"),
- fieldWithPath("balanceRange").description("From account designator"),
- fieldWithPath("interestRange").description("To account designator"),
- fieldWithPath("interestBasis").description("Charge definition's amount"),
- fieldWithPath("patternPackage").description("Charge definitions charge method"),
- fieldWithPath("description").description("Charge definitions charge method"),
- fieldWithPath("currencyCode").description("Charge definition's charge action"),
- fieldWithPath("minorCurrencyUnitDigits").description("Employee's middle name"),
- fieldWithPath("accountAssignments").description("Readability"),
- fieldWithPath("parameters").description("Readability"),
- fieldWithPath("enabled").description("Readability"),
- fieldWithPath("createdOn").description("Readability"),
- fieldWithPath("createdBy").description("Readability"),
- fieldWithPath("lastModifiedOn").description("Readability"),
- fieldWithPath("lastModifiedBy").description("Readability"))));
+ this.mockMvc.perform(get("/products/" + product.getIdentifier())
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-product", preprocessRequest(prettyPrint()),
+ responseFields(
+ fieldWithPath("identifier").description("Charge definition's identifier"),
+ fieldWithPath("name").description("Charge definitions given name"),
+ fieldWithPath("termRange").type("List<TermRange>").description("The term range +\n" +
+ " +\n" +
+ "_TermRange_ { +\n" +
+ " *enum* _Type_ { +\n" +
+ " temporalUnit, +\n" +
+ " maximum, +\n" +
+ " } +"),
+ fieldWithPath("balanceRange").description("From account designator"),
+ fieldWithPath("interestRange").description("To account designator"),
+ fieldWithPath("interestBasis").description("Charge definition's amount"),
+ fieldWithPath("patternPackage").description("Charge definitions charge method"),
+ fieldWithPath("description").description("Charge definitions charge method"),
+ fieldWithPath("currencyCode").description("Charge definition's charge action"),
+ fieldWithPath("minorCurrencyUnitDigits").description("Employee's middle name"),
+ fieldWithPath("accountAssignments").description("Readability"),
+ fieldWithPath("parameters").description("Readability"),
+ fieldWithPath("enabled").description("Readability"),
+ fieldWithPath("createdOn").description("Readability"),
+ fieldWithPath("createdBy").description("Readability"),
+ fieldWithPath("lastModifiedOn").description("Readability"),
+ fieldWithPath("lastModifiedBy").description("Readability"))));
-}
+ }
- @Test
- public void documentChangeProduct() throws Exception {
+ @Test
+ public void documentChangeProduct() throws Exception {
- final Product product = createAdjustedProduct(x -> {});
- product.setName("akawo");
+ final Product product = createAdjustedProduct(x -> {
+ });
+ product.setName("akawo");
- Gson gson = new Gson();
- this.mockMvc.perform(put("/products/" + product.getIdentifier())
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
- .content(gson.toJson(product)))
- .andExpect(status().isAccepted())
- .andDo(document(
- "document-change-product", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").description("Charge definition's identifier"),
- fieldWithPath("name").description("Charge definitions given name"),
- fieldWithPath("termRange").type("List<TermRange>").description("The term range +\n" +
- " +\n" +
- "_TermRange_ { +\n" +
- " *enum* _Type_ { +\n" +
- " temporalUnit, +\n" +
- " maximum, +\n" +
- " } +"),
- fieldWithPath("balanceRange").description("From account designator"),
- fieldWithPath("interestRange").description("To account designator"),
- fieldWithPath("interestBasis").description("Charge definition's amount"),
- fieldWithPath("patternPackage").description("Charge definitions charge method"),
- fieldWithPath("description").description("Charge definitions charge method"),
- fieldWithPath("currencyCode").description("Charge definition's charge action"),
- fieldWithPath("minorCurrencyUnitDigits").description("Employee's middle name"),
- fieldWithPath("accountAssignments").description("Readability"),
- fieldWithPath("parameters").description("Readability"),
- fieldWithPath("enabled").description("Readability"))));
+ Gson gson = new Gson();
+ this.mockMvc.perform(put("/products/" + product.getIdentifier())
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
+ .content(gson.toJson(product)))
+ .andExpect(status().isAccepted())
+ .andDo(document(
+ "document-change-product", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").description("Charge definition's identifier"),
+ fieldWithPath("name").description("Charge definitions given name"),
+ fieldWithPath("termRange").type("List<TermRange>").description("The term range +\n" +
+ " +\n" +
+ "_TermRange_ { +\n" +
+ " *enum* _Type_ { +\n" +
+ " temporalUnit, +\n" +
+ " maximum, +\n" +
+ " } +"),
+ fieldWithPath("balanceRange").description("From account designator"),
+ fieldWithPath("interestRange").description("To account designator"),
+ fieldWithPath("interestBasis").description("Charge definition's amount"),
+ fieldWithPath("patternPackage").description("Charge definitions charge method"),
+ fieldWithPath("description").description("Charge definitions charge method"),
+ fieldWithPath("currencyCode").description("Charge definition's charge action"),
+ fieldWithPath("minorCurrencyUnitDigits").description("Employee's middle name"),
+ fieldWithPath("accountAssignments").description("Readability"),
+ fieldWithPath("parameters").description("Readability"),
+ fieldWithPath("enabled").description("Readability"))));
- }
+ }
- @Test
- public void documentGetIncompleteAccountAssignments () throws Exception {
+ @Test
+ public void documentGetIncompleteAccountAssignments() throws Exception {
- final Product product = createAdjustedProduct(x -> {});
+ final Product product = createAdjustedProduct(x -> {
+ });
- this.mockMvc.perform(get("/products/" + product.getIdentifier()+"/incompleteaccountassignments")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-incomplete-account-assignments", preprocessRequest(prettyPrint()),
- responseFields(
- )));
+ this.mockMvc.perform(get("/products/" + product.getIdentifier() + "/incompleteaccountassignments")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-incomplete-account-assignments", preprocessRequest(prettyPrint()),
+ responseFields(
+ )));
- }
-
-
-
+ }
}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/TaskDefinitionApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TaskDefinitionApiDocumentation.java
index ee2f358..a3d62ed 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/TaskDefinitionApiDocumentation.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TaskDefinitionApiDocumentation.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.fineract.cn.portfolio;
import com.google.gson.Gson;
@@ -27,140 +45,140 @@
public class TaskDefinitionApiDocumentation extends AbstractPortfolioTest {
- @Rule
- public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-taskdefinition");
+ @Rule
+ public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/doc/generated-snippets/test-taskdefinition");
- @Autowired
- private WebApplicationContext context;
+ @Autowired
+ private WebApplicationContext context;
- private MockMvc mockMvc;
+ private MockMvc mockMvc;
- @Before
- public void setUp ( ) {
+ @Before
+ public void setUp() {
- this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
- .apply(documentationConfiguration(this.restDocumentation))
- .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
- .build();
+ this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
+ .apply(documentationConfiguration(this.restDocumentation))
+ .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
+ .build();
+ }
+
+ @Test
+ public void documentListTaskDefinitions() throws Exception {
+ final Product product = createProduct();
+
+ try {
+ this.mockMvc.perform(get("/products/" + product.getIdentifier() + "/tasks/")
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-list-task-definitions", preprocessRequest(prettyPrint()),
+ responseFields(
+ fieldWithPath("identifier").type("String").description("task identifier's identifier"),
+ fieldWithPath("name").type("String").description("task identifier's name"),
+ fieldWithPath("description").type("String").description("task identifier's description"),
+ fieldWithPath("actions").description("The task definition action"),
+ fieldWithPath("fourEyes").type("String").description("task identifier's identifier"),
+ fieldWithPath("mandatory").type("String").description("task identifier's identifier")
+ )
+ ));
+ } catch (Exception e) {
+ e.printStackTrace();
}
- @Test
- public void documentListTaskDefinitions ( ) throws Exception {
- final Product product = createProduct();
+ }
- try {
- this.mockMvc.perform(get("/products/" +product.getIdentifier()+"/tasks/")
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-list-task-definitions", preprocessRequest(prettyPrint()),
- responseFields(
- fieldWithPath("identifier").type("String").description("task identifier's identifier"),
- fieldWithPath("name").type("String").description("task identifier's name"),
- fieldWithPath("description").type("String").description("task identifier's description"),
- fieldWithPath("actions").description("The task definition action"),
- fieldWithPath("fourEyes").type("String").description("task identifier's identifier"),
- fieldWithPath("mandatory").type("String").description("task identifier's identifier")
- )
- ));
- } catch (Exception e) {
- e.printStackTrace();
- }
+ @Test
+ public void documentGetTaskDefinition() throws Exception {
+ final Product product = createProduct();
+ final TaskDefinition taskDefinition = createTaskDefinition(product);
+
+ try {
+ this.mockMvc.perform(get("/products/" + product.getIdentifier() + "/tasks/" + taskDefinition.getIdentifier())
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
+ .andExpect(status().isOk())
+ .andDo(document(
+ "document-get-task-definition", preprocessRequest(prettyPrint()),
+ responseFields(
+ fieldWithPath("identifier").type("String").description("task identifier's identifier"),
+ fieldWithPath("name").type("String").description("task identifier's name"),
+ fieldWithPath("description").type("String").description("task identifier's description"),
+ fieldWithPath("actions").description("The task definition action"),
+ fieldWithPath("fourEyes").type("String").description("task identifier's identifier"),
+ fieldWithPath("mandatory").type("String").description("task identifier's identifier")
+ )
+ ));
+ } catch (Exception e) {
+ e.printStackTrace();
}
+ }
- @Test
- public void documentGetTaskDefinition ( ) throws Exception {
- final Product product = createProduct();
- final TaskDefinition taskDefinition = createTaskDefinition(product);
+ @Test
+ public void documentChangeTaskDefinition() throws Exception {
- try {
- this.mockMvc.perform(get("/products/" +product.getIdentifier()+"/tasks/" +taskDefinition.getIdentifier())
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
- .andExpect(status().isOk())
- .andDo(document(
- "document-get-task-definition", preprocessRequest(prettyPrint()),
- responseFields(
- fieldWithPath("identifier").type("String").description("task identifier's identifier"),
- fieldWithPath("name").type("String").description("task identifier's name"),
- fieldWithPath("description").type("String").description("task identifier's description"),
- fieldWithPath("actions").description("The task definition action"),
- fieldWithPath("fourEyes").type("String").description("task identifier's identifier"),
- fieldWithPath("mandatory").type("String").description("task identifier's identifier")
- )
- ));
- } catch (Exception e) {
- e.printStackTrace();
- }
+ final Product product = createProduct();
+ final TaskDefinition taskDefinition = createTaskDefinition(product);
+ taskDefinition.setDescription("Describe task definition");
+ taskDefinition.setFourEyes(false);
- }
+ Gson gson = new Gson();
+ this.mockMvc.perform(put("/products/" + product.getIdentifier() + "/tasks/" + taskDefinition.getIdentifier())
+ .accept(MediaType.APPLICATION_JSON_VALUE)
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
+ .content(gson.toJson(taskDefinition)))
+ .andExpect(status().isAccepted())
+ .andDo(document(
+ "document-change-task-definition", preprocessRequest(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").type("String").description("task identifier's identifier"),
+ fieldWithPath("name").type("String").description("task identifier's name"),
+ fieldWithPath("description").type("String").description("task identifier's description"),
+ fieldWithPath("actions").description("The task definition action"),
+ fieldWithPath("fourEyes").type("String").description("task identifier's identifier"),
+ fieldWithPath("mandatory").type("String").description("task identifier's identifier")
+ )
- @Test
- public void documentChangeTaskDefinition () throws Exception {
+ ));
- final Product product = createProduct();
- final TaskDefinition taskDefinition = createTaskDefinition(product);
- taskDefinition.setDescription("Describe task definition");
- taskDefinition.setFourEyes(false);
+ }
- Gson gson = new Gson();
- this.mockMvc.perform(put("/products/" + product.getIdentifier() + "/tasks/" +taskDefinition.getIdentifier() )
- .accept(MediaType.APPLICATION_JSON_VALUE)
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
- .content(gson.toJson(taskDefinition)))
- .andExpect(status().isAccepted())
- .andDo(document(
- "document-change-task-definition", preprocessRequest(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").type("String").description("task identifier's identifier"),
- fieldWithPath("name").type("String").description("task identifier's name"),
- fieldWithPath("description").type("String").description("task identifier's description"),
- fieldWithPath("actions").description("The task definition action"),
- fieldWithPath("fourEyes").type("String").description("task identifier's identifier"),
- fieldWithPath("mandatory").type("String").description("task identifier's identifier")
- )
+ @Test
+ public void documentAddTaskDefinition() throws Exception {
- ));
+ final Product product = createProduct();
+ final TaskDefinition taskDefinition = createTaskDefinition(product);
+ taskDefinition.setIdentifier("ask");
- }
+ Gson gson = new Gson();
+ this.mockMvc.perform(post("/products/" + product.getIdentifier() + "/tasks/")
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .content(gson.toJson(taskDefinition)))
+ .andExpect(status().isAccepted())
+ .andDo(document("document-add-task-definition", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
+ requestFields(
+ fieldWithPath("identifier").type("String").description("task identifier's identifier"),
+ fieldWithPath("name").type("String").description("task identifier's name"),
+ fieldWithPath("description").type("String").description("task identifier's description"),
+ fieldWithPath("actions").description("The task definition action"),
+ fieldWithPath("fourEyes").type("String").description("task identifier's identifier"),
+ fieldWithPath("mandatory").type("String").description("task identifier's identifier"))));
+ }
- @Test
- public void documentAddTaskDefinition () throws Exception {
+ @Test
+ public void documentDeleteTaskDefinition() throws Exception {
+ final Product product = createProduct();
+ final TaskDefinition taskDefinition = createTaskDefinition(product);
- final Product product = createProduct();
- final TaskDefinition taskDefinition = createTaskDefinition(product);
- taskDefinition.setIdentifier("ask");
-
- Gson gson = new Gson();
- this.mockMvc.perform(post("/products/"+product.getIdentifier()+"/tasks/")
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .content(gson.toJson(taskDefinition)))
- .andExpect(status().isAccepted())
- .andDo(document("document-add-task-definition", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
- requestFields(
- fieldWithPath("identifier").type("String").description("task identifier's identifier"),
- fieldWithPath("name").type("String").description("task identifier's name"),
- fieldWithPath("description").type("String").description("task identifier's description"),
- fieldWithPath("actions").description("The task definition action"),
- fieldWithPath("fourEyes").type("String").description("task identifier's identifier"),
- fieldWithPath("mandatory").type("String").description("task identifier's identifier"))));
- }
-
- @Test
- public void documentDeleteTaskDefinition () throws Exception {
- final Product product = createProduct();
- final TaskDefinition taskDefinition = createTaskDefinition(product);
-
- this.mockMvc.perform(delete("/products/"+product.getIdentifier()+"/tasks/" + taskDefinition.getIdentifier())
- .contentType(MediaType.APPLICATION_JSON_VALUE)
- .accept(MediaType.ALL_VALUE))
- .andExpect(status().isAccepted())
- .andDo(document("document-delete-task-definition", preprocessResponse(prettyPrint())));
- }
+ this.mockMvc.perform(delete("/products/" + product.getIdentifier() + "/tasks/" + taskDefinition.getIdentifier())
+ .contentType(MediaType.APPLICATION_JSON_VALUE)
+ .accept(MediaType.ALL_VALUE))
+ .andExpect(status().isAccepted())
+ .andDo(document("document-delete-task-definition", preprocessResponse(prettyPrint())));
+ }
}