/*
 * 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.AccountHierarchyDto;
import org.openapitools.client.model.ActionStatus;
import org.openapitools.client.model.CRMAccountHierarchyDto;
import org.openapitools.client.model.CustomerHierarchyDto;
import org.openapitools.client.model.CustomerListResponse;
import org.openapitools.client.model.FindAccountHierachyRequestDto;
import org.openapitools.client.model.GetAccountHierarchyResponseDto;
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 AccountHierarchyApi
 */
@Ignore
public class AccountHierarchyApiTest {

    private final AccountHierarchyApi api = new AccountHierarchyApi();

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

        // TODO: test validations
    }
    
    /**
     *  Create account hierarchy.  
     *
     *  Create account hierarchy.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTAccountHierarchyCreate1Test() throws ApiException {
        AccountHierarchyDto accountHierarchyDto = null;
        ActionStatus response = api.pOSTAccountHierarchyCreate1(accountHierarchyDto);

        // TODO: test validations
    }
    
    /**
     *  Create a CRMAccountHerarchy. 
     *
     *  Create a CRMAccountHerarchy. 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTAccountHierarchyCreateCRMAccountHierarchy1Test() throws ApiException {
        CRMAccountHierarchyDto crMAccountHierarchyDto = null;
        ActionStatus response = api.pOSTAccountHierarchyCreateCRMAccountHierarchy1(crMAccountHierarchyDto);

        // TODO: test validations
    }
    
    /**
     *  Create or update Account Hierarchy based on code.  
     *
     *  Create or update Account Hierarchy based on code.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTAccountHierarchyCreateOrUpdate1Test() throws ApiException {
        AccountHierarchyDto accountHierarchyDto = null;
        ActionStatus response = api.pOSTAccountHierarchyCreateOrUpdate1(accountHierarchyDto);

        // TODO: test validations
    }
    
    /**
     *  Create or update a CRM Account Hierarchy. 
     *
     *  Create or update a CRM Account Hierarchy. 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTAccountHierarchyCreateOrUpdateCRMAccountHierarchy1Test() throws ApiException {
        CRMAccountHierarchyDto crMAccountHierarchyDto = null;
        ActionStatus response = api.pOSTAccountHierarchyCreateOrUpdateCRMAccountHierarchy1(crMAccountHierarchyDto);

        // TODO: test validations
    }
    
    /**
     *  This service allows to create / update (if exist already) and close / terminate (if termination date is set) a list of customer, customer accounts, billing accounts, user accounts, subscriptions, services, and access in one transaction
     *
     *  This service allows to create / update (if exist already) and close / terminate (if termination date is set) a list of customer, customer accounts, billing accounts, user accounts, subscriptions, services, and access in one transaction. It can activate and terminate subscription and service instance. Close customer account. Terminate billing and user account.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTAccountHierarchyCustomerHierarchyUpdate1Test() throws ApiException {
        CustomerHierarchyDto customerHierarchyDto = null;
        ActionStatus response = api.pOSTAccountHierarchyCustomerHierarchyUpdate1(customerHierarchyDto);

        // TODO: test validations
    }
    
    /**
     *  Search for a list of customer accounts given a set of filter. 
     *
     *  Search for a list of customer accounts given a set of filter. 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTAccountHierarchyFind1Test() throws ApiException {
        Boolean calculateBalances = null;
        AccountHierarchyDto accountHierarchyDto = null;
        CustomerListResponse response = api.pOSTAccountHierarchyFind1(calculateBalances, accountHierarchyDto);

        // TODO: test validations
    }
    
    /**
     *  Is an update of findAccountHierarchy wherein the user can search on 1 or multiple levels of the hierarchy in 1 search
     *
     *  Is an update of findAccountHierarchy wherein the user can search on 1 or multiple levels of the hierarchy in 1 search. These are the modes that can be combined by using bitwise - or |. Example: If we search on level&#x3D;BA for lastName&#x3D;legaspi and found a match, the search will return the hierarchy from BA to CUST. If we search on level&#x3D;UA for address1&#x3D;my_address and found a match, the search will return the hierarchy from UA to CUST., notes &#x3D; CUST &#x3D; 1, CA &#x3D; 2, BA &#x3D; 4, UA &#x3D; 8. 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTAccountHierarchyFindAccountHierarchy1Test() throws ApiException {
        FindAccountHierachyRequestDto findAccountHierachyRequestDto = null;
        GetAccountHierarchyResponseDto response = api.pOSTAccountHierarchyFindAccountHierarchy1(findAccountHierachyRequestDto);

        // TODO: test validations
    }
    
    /**
     *  Update a CRM Account HerarHierarchychy. 
     *
     *  Update a CRM Account HerarHierarchychy. 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTAccountHierarchyUpdateCRMAccountHierarchy1Test() throws ApiException {
        CRMAccountHierarchyDto crMAccountHierarchyDto = null;
        ActionStatus response = api.pOSTAccountHierarchyUpdateCRMAccountHierarchy1(crMAccountHierarchyDto);

        // TODO: test validations
    }
    
    /**
     *  Update account hierarchy.  
     *
     *  Update account hierarchy.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTAccountHierarchyUpdate1Test() throws ApiException {
        AccountHierarchyDto accountHierarchyDto = null;
        ActionStatus response = api.pUTAccountHierarchyUpdate1(accountHierarchyDto);

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

        // TODO: test validations
    }
    
}
