/*
 * 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.CreateBillingRunDto;
import org.openapitools.client.model.GetBillingAccountListInRunResponseDto;
import org.openapitools.client.model.GetBillingRunInfoResponseDto;
import org.openapitools.client.model.GetPostInvoicingReportsResponseDto;
import org.openapitools.client.model.GetPreInvoicingReportsResponseDto;
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 InvoicingApi
 */
@Ignore
public class InvoicingApiTest {

    private final InvoicingApi api = new InvoicingApi();

    
    /**
     *  Get version of application  
     *
     *  Get version of application  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETIBaseVersion37Test() throws ApiException {
        ActionStatus response = api.gETIBaseVersion37();

        // TODO: test validations
    }
    
    /**
     *  Cancels a billing run
     *
     *  Cancels a billing run. Sets RatedTransaction.status associated to billing run to OPEN. Remove aggregates and invoice associated to the billing run. Set billingAccount.billingRun to null.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTInvoicingCancelBillingRun1Test() throws ApiException {
        Long body = null;
        ActionStatus response = api.pOSTInvoicingCancelBillingRun1(body);

        // TODO: test validations
    }
    
    /**
     *  Create a new billing run  
     *
     *  Create a new billing run  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTInvoicingCreateBillingRun1Test() throws ApiException {
        CreateBillingRunDto createBillingRunDto = null;
        ActionStatus response = api.pOSTInvoicingCreateBillingRun1(createBillingRunDto);

        // TODO: test validations
    }
    
    /**
     *  Returns the list of billable billing accounts of a billing run  
     *
     *  Returns the list of billable billing accounts of a billing run  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTInvoicingGetBillingAccountListInRun1Test() throws ApiException {
        Long body = null;
        GetBillingAccountListInRunResponseDto response = api.pOSTInvoicingGetBillingAccountListInRun1(body);

        // TODO: test validations
    }
    
    /**
     *  Search for a billing run info with a given Id   
     *
     *  Search for a billing run info with a given Id   
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTInvoicingGetBillingRunInfo1Test() throws ApiException {
        Long body = null;
        GetBillingRunInfoResponseDto response = api.pOSTInvoicingGetBillingRunInfo1(body);

        // TODO: test validations
    }
    
    /**
     *  Returns the post-invoicing report for a given billing run Id  
     *
     *  Returns the post-invoicing report for a given billing run Id  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTInvoicingGetPostInvoicingReport1Test() throws ApiException {
        Long body = null;
        GetPostInvoicingReportsResponseDto response = api.pOSTInvoicingGetPostInvoicingReport1(body);

        // TODO: test validations
    }
    
    /**
     *  Returns the pre-invoicing report for a given billing run Id  
     *
     *  Returns the pre-invoicing report for a given billing run Id  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTInvoicingGetPreInvoicingReport1Test() throws ApiException {
        Long body = null;
        GetPreInvoicingReportsResponseDto response = api.pOSTInvoicingGetPreInvoicingReport1(body);

        // TODO: test validations
    }
    
    /**
     *  Depending on the status of the billing run, produce the pre-invoicing report, the post-Invoicing report or validates a billing run
     *
     *  Depending on the status of the billing run, produce the pre-invoicing report, the post-Invoicing report or validates a billing run. Sets the next invoice date of a billing account to the next calendar date.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTInvoicingValidateBillingRun1Test() throws ApiException {
        Long body = null;
        ActionStatus response = api.pOSTInvoicingValidateBillingRun1(body);

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

        // TODO: test validations
    }
    
}
