/*
 * Swagger of Opencellsoft Api
 * @#Introduction
 *
 * The version of the OpenAPI document: 7.3.1-SNAPSHOT
 * Contact: contact@opencellsoft.fr
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package org.openapitools.client.api;

import org.openapitools.client.ApiException;
import org.openapitools.client.model.ActionStatus;
import org.openapitools.client.model.FindWalletOperationsDto;
import org.openapitools.client.model.FindWalletOperationsResponseDto;
import org.openapitools.client.model.GetWalletTemplateResponseDto;
import org.openapitools.client.model.PagingAndFiltering;
import org.openapitools.client.model.WalletBalanceDto;
import org.openapitools.client.model.WalletBalanceResponseDto;
import org.openapitools.client.model.WalletOperationDto;
import org.openapitools.client.model.WalletReservationDto;
import org.openapitools.client.model.WalletTemplateDto;
import org.junit.Test;
import org.junit.Ignore;

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

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

    private final WalletApi api = new WalletApi();

    
    /**
     *  Cancel a reservation given an id.  
     *
     *  Cancel a reservation given an id.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void dELETEWalletReservationReservationId091Test() throws ApiException {
        Long reservationId = null;
        ActionStatus response = api.dELETEWalletReservationReservationId091(reservationId);

        // TODO: test validations
    }
    
    /**
     *  Remove an existing wallet template with a given code  
     *
     *  Remove an existing wallet template with a given code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void dELETEWalletTemplateWalletTemplateCode1Test() throws ApiException {
        String walletTemplateCode = null;
        ActionStatus response = api.dELETEWalletTemplateWalletTemplateCode1(walletTemplateCode);

        // TODO: test validations
    }
    
    /**
     *  Get version of application  
     *
     *  Get version of application  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETIBaseVersion32Test() throws ApiException {
        ActionStatus response = api.gETIBaseVersion32();

        // TODO: test validations
    }
    
    /**
     *  List wallet operations matching a given criteria  
     *
     *  List wallet operations matching a given criteria  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETWalletOperationList1Test() throws ApiException {
        String query = null;
        String fields = null;
        Integer offset = null;
        Integer limit = null;
        String sortBy = null;
        String sortOrder = null;
        Boolean withRTs = null;
        FindWalletOperationsResponseDto response = api.gETWalletOperationList1(query, fields, offset, limit, sortBy, sortOrder, withRTs);

        // TODO: test validations
    }
    
    /**
     *  Search for a wallet template with a given code  
     *
     *  Search for a wallet template with a given code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETWalletTemplate1Test() throws ApiException {
        String walletTemplateCode = null;
        GetWalletTemplateResponseDto response = api.gETWalletTemplate1(walletTemplateCode);

        // TODO: test validations
    }
    
    /**
     *  Gets the current (open or reserved) wallet balance amount at a given level and date period. In wallet operation, status&#x3D;&#39;OPEN OR RESERVED&#39;.  
     *
     *  Gets the current (open or reserved) wallet balance amount at a given level and date period. In wallet operation, status&#x3D;&#39;OPEN OR RESERVED&#39;.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletBalanceCurrent1Test() throws ApiException {
        WalletBalanceDto walletBalanceDto = null;
        WalletBalanceResponseDto response = api.pOSTWalletBalanceCurrent1(walletBalanceDto);

        // TODO: test validations
    }
    
    /**
     *  Gets the open wallet balance amount at a given level and date period. In wallet operation, status&#x3D;&#39;OPEN&#39;.  
     *
     *  Gets the open wallet balance amount at a given level and date period. In wallet operation, status&#x3D;&#39;OPEN&#39;.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletBalanceOpen1Test() throws ApiException {
        WalletBalanceDto walletBalanceDto = null;
        WalletBalanceResponseDto response = api.pOSTWalletBalanceOpen1(walletBalanceDto);

        // TODO: test validations
    }
    
    /**
     *  Gets the reserved wallet balance amount at a given level and date period. In wallet operation, status&#x3D;&#39;RESERVED&#39;.  
     *
     *  Gets the reserved wallet balance amount at a given level and date period. In wallet operation, status&#x3D;&#39;RESERVED&#39;.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletBalanceReserved1Test() throws ApiException {
        WalletBalanceDto walletBalanceDto = null;
        WalletBalanceResponseDto response = api.pOSTWalletBalanceReserved1(walletBalanceDto);

        // TODO: test validations
    }
    
    /**
     *  Create a new operation  
     *
     *  Create a new operation  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletOperation1Test() throws ApiException {
        WalletOperationDto walletOperationDto = null;
        ActionStatus response = api.pOSTWalletOperation1(walletOperationDto);

        // TODO: test validations
    }
    
    /**
     *  Search for an operation with a given (example) code. Deprecated in v.4.7.2  
     *
     *  Search for an operation with a given (example) code. Deprecated in v.4.7.2  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletOperationFind1Test() throws ApiException {
        Integer offset = null;
        Integer limit = null;
        String sortBy = null;
        String sortOrder = null;
        FindWalletOperationsDto findWalletOperationsDto = null;
        FindWalletOperationsResponseDto response = api.pOSTWalletOperationFind1(offset, limit, sortBy, sortOrder, findWalletOperationsDto);

        // TODO: test validations
    }
    
    /**
     *  List wallet operations matching a given criteria  
     *
     *  List wallet operations matching a given criteria  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletOperationList1Test() throws ApiException {
        Boolean withRTs = null;
        PagingAndFiltering pagingAndFiltering = null;
        FindWalletOperationsResponseDto response = api.pOSTWalletOperationList1(withRTs, pagingAndFiltering);

        // TODO: test validations
    }
    
    /**
     *  Create reservation for a given offer, user account, seller, provider and date.  
     *
     *  Create reservation for a given offer, user account, seller, provider and date.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletReservation1Test() throws ApiException {
        WalletReservationDto walletReservationDto = null;
        ActionStatus response = api.pOSTWalletReservation1(walletReservationDto);

        // TODO: test validations
    }
    
    /**
     *  Confirm a reservation given an id.  
     *
     *  Confirm a reservation given an id.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletReservationConfirm1Test() throws ApiException {
        WalletReservationDto walletReservationDto = null;
        ActionStatus response = api.pOSTWalletReservationConfirm1(walletReservationDto);

        // TODO: test validations
    }
    
    /**
     *  Create a new wallet template  
     *
     *  Create a new wallet template  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletTemplate1Test() throws ApiException {
        WalletTemplateDto walletTemplateDto = null;
        ActionStatus response = api.pOSTWalletTemplate1(walletTemplateDto);

        // TODO: test validations
    }
    
    /**
     *  Create new or update an existing wallet template  
     *
     *  Create new or update an existing wallet template  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTWalletTemplateCreateOrUpdate1Test() throws ApiException {
        WalletTemplateDto walletTemplateDto = null;
        ActionStatus response = api.pOSTWalletTemplateCreateOrUpdate1(walletTemplateDto);

        // TODO: test validations
    }
    
    /**
     *  Updates a reservation. Same as create we just need to pass the id of the reservation.  
     *
     *  Updates a reservation. Same as create we just need to pass the id of the reservation.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTWalletReservation1Test() throws ApiException {
        WalletReservationDto walletReservationDto = null;
        ActionStatus response = api.pUTWalletReservation1(walletReservationDto);

        // TODO: test validations
    }
    
    /**
     *  Update an existing wallet template  
     *
     *  Update an existing wallet template  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTWalletTemplate1Test() throws ApiException {
        WalletTemplateDto walletTemplateDto = null;
        ActionStatus response = api.pUTWalletTemplate1(walletTemplateDto);

        // TODO: test validations
    }
    
    /**
     * 
     *
     * 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void user16Test() throws ApiException {
        ActionStatus response = api.user16();

        // TODO: test validations
    }
    
}
