/** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mifosplatform.integrationtests.common.loans; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.HashMap; import org.mifosplatform.integrationtests.common.Utils; import com.jayway.restassured.specification.RequestSpecification; import com.jayway.restassured.specification.ResponseSpecification; @SuppressWarnings("rawtypes") public class LoanStatusChecker { public static void verifyLoanIsApproved(final HashMap loanStatusHashMap) { assertFalse(getStatus(loanStatusHashMap, "pendingApproval")); } public static void verifyLoanIsWaitingForDisbursal(final HashMap loanStatusHashMap) { assertTrue(getStatus(loanStatusHashMap, "waitingForDisbursal")); } public static void verifyLoanIsPending(final HashMap loanStatusHashMap) { assertTrue(getStatus(loanStatusHashMap, "pendingApproval")); } public static void verifyLoanIsActive(final HashMap loanStatusHashMap) { assertTrue(getStatus(loanStatusHashMap, "active")); } public static void verifyLoanAccountIsClosed(final HashMap loanStatusHashMap) { assertTrue(getStatus(loanStatusHashMap, "closed")); } public static void verifyLoanAccountIsNotActive(final HashMap loanStatusHashMap) { assertFalse(getStatus(loanStatusHashMap, "active")); } public static void verifyLoanAccountIsOverPaid(final HashMap loanStatusHashMap) { assertTrue(getStatus(loanStatusHashMap, "overpaid")); } public static HashMap<String, Object> getStatusOfLoan(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, final Integer loanID) { final String url = "/mifosng-provider/api/v1/loans/" + loanID + "?" + Utils.TENANT_IDENTIFIER; return Utils.performServerGet(requestSpec, responseSpec, url, "status"); } private static boolean getStatus(final HashMap loanStatusMap, final String nameOfLoanStatusString) { return (Boolean) loanStatusMap.get(nameOfLoanStatusString); } }