java/src/test/java/com/konfigthis/dojah/client/api/WalletApiTest.java
/*
 * DOJAH APIs
 * Use Dojah to verify, onboard and manage user identity across Africa!
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by Konfig (https://konfigthis.com).
 * Do not edit the class manually.
 */


package com.konfigthis.dojah.client.api;

import com.konfigthis.dojah.client.ApiException;
import com.konfigthis.dojah.client.ApiClient;
import com.konfigthis.dojah.client.ApiException;
import com.konfigthis.dojah.client.Configuration;
import com.konfigthis.dojah.client.model.CreateWalletRequest;
import com.konfigthis.dojah.client.model.CreateWalletResponse;
import com.konfigthis.dojah.client.model.CreditSubwalletRequest;
import com.konfigthis.dojah.client.model.CreditSubwalletResponse;
import com.konfigthis.dojah.client.model.GetTransactionResponse;
import com.konfigthis.dojah.client.model.GetWalletResponse;
import com.konfigthis.dojah.client.model.GetWalletsResponse;
import com.konfigthis.dojah.client.model.TransferFundsRequest;
import com.konfigthis.dojah.client.model.TransferFundsResponse;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeAll;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * API tests for WalletApi
 */
@Disabled
public class WalletApiTest {

    private static WalletApi api;

    
    @BeforeAll
    public static void beforeClass() {
        ApiClient apiClient = Configuration.getDefaultApiClient();
        api = new WalletApi(apiClient);
    }

    /**
     * Create NGN Wallet
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void createWalletTest() throws ApiException {
        String lastName = null;
        String firstName = null;
        String phoneNumber = null;
        String dob = null;
        String route = null;
        CreateWalletResponse response = api.createWallet()
                .lastName(lastName)
                .firstName(firstName)
                .phoneNumber(phoneNumber)
                .dob(dob)
                .route(route)
                .execute();
        // TODO: test validations
    }

    /**
     * Credit Sub-wallet
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void creditSubwalletTest() throws ApiException {
        String amount = null;
        String walletId = null;
        CreditSubwalletResponse response = api.creditSubwallet()
                .amount(amount)
                .walletId(walletId)
                .execute();
        // TODO: test validations
    }

    /**
     * Retrieve Transaction Details
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getTransactionTest() throws ApiException {
        String transactionId = null;
        GetTransactionResponse response = api.getTransaction()
                .transactionId(transactionId)
                .execute();
        // TODO: test validations
    }

    /**
     * Retrieve Wallet Details
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getWalletTest() throws ApiException {
        String walletId = null;
        GetWalletResponse response = api.getWallet()
                .walletId(walletId)
                .execute();
        // TODO: test validations
    }

    /**
     * Get Wallets
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getWalletsTest() throws ApiException {
        String appId = null;
        GetWalletsResponse response = api.getWallets()
                .appId(appId)
                .execute();
        // TODO: test validations
    }

    /**
     * Transfer Funds
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void transferFundsTest() throws ApiException {
        String amount = null;
        String recipientBankCode = null;
        String recipientAccountNumber = null;
        String walletId = null;
        TransferFundsResponse response = api.transferFunds()
                .amount(amount)
                .recipientBankCode(recipientBankCode)
                .recipientAccountNumber(recipientAccountNumber)
                .walletId(walletId)
                .execute();
        // TODO: test validations
    }

}
