/*
 * 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.CustomerBrandDto;
import org.openapitools.client.model.CustomerCategoryDto;
import org.openapitools.client.model.CustomerDto;
import org.openapitools.client.model.CustomerSequenceDto;
import org.openapitools.client.model.CustomersResponseDto;
import org.openapitools.client.model.GenericSequenceDto;
import org.openapitools.client.model.GenericSequenceValueResponseDto;
import org.openapitools.client.model.GetCustomerCategoryResponseDto;
import org.openapitools.client.model.GetCustomerResponseDto;
import org.openapitools.client.model.PagingAndFiltering;
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 CustomerApi
 */
@Ignore
public class CustomerApiTest {

    private final CustomerApi api = new CustomerApi();

    
    /**
     *  Remove customer with a given code 
     *
     *  Remove customer with a given code 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void dELETECustomerCustomerCode1Test() throws ApiException {
        String customerCode = null;
        ActionStatus response = api.dELETECustomerCustomerCode1(customerCode);

        // TODO: test validations
    }
    
    /**
     *  Remove existing customer brand with a given brand code 
     *
     *  Remove existing customer brand with a given brand code 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void dELETECustomerRemoveBrandBrandCode1Test() throws ApiException {
        String brandCode = null;
        ActionStatus response = api.dELETECustomerRemoveBrandBrandCode1(brandCode);

        // TODO: test validations
    }
    
    /**
     *  Remove an existing customer category with a given category code 
     *
     *  Remove an existing customer category with a given category code 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void dELETECustomerRemoveCategoryCategoryCode1Test() throws ApiException {
        String categoryCode = null;
        ActionStatus response = api.dELETECustomerRemoveCategoryCategoryCode1(categoryCode);

        // TODO: test validations
    }
    
    /**
     *  Right to be forgotten
     *
     *  Right to be forgotten. This concerns listing of risky or grey/black listed customers and their data.   Upon request, they can require their data to be erased.   In such case, mandatory information (accounting, invoicing, payments) must be preserved but the data tables including the customer&#39;s data must be anonymize (firstname/name/emails/phones/addresses/etc) so if this person register back it will be treated as a new customer without history. 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCustomerAnonymizeGpdr1Test() throws ApiException {
        String customerCode = null;
        ActionStatus response = api.gETCustomerAnonymizeGpdr1(customerCode);

        // TODO: test validations
    }
    
    /**
     *  Search for a customer category with a given code  
     *
     *  Search for a customer category with a given code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCustomerCategoryCategoryCode1Test() throws ApiException {
        String categoryCode = null;
        GetCustomerCategoryResponseDto response = api.gETCustomerCategoryCategoryCode1(categoryCode);

        // TODO: test validations
    }
    
    /**
     *    Exports an account hierarchy given a specific customer selected in the GUI
     *
     *    Exports an account hierarchy given a specific customer selected in the GUI.   It includes Subscription, AccountOperation and Invoice details. It packaged the json output   as a zipped file along with the pdf invoices.      
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCustomerExportCustomerHierarchy1Test() throws ApiException {
        String customerCode = null;
        ActionStatus response = api.gETCustomerExportCustomerHierarchy1(customerCode);

        // TODO: test validations
    }
    
    /**
     *  List customers matching a given criteria 
     *
     *  List customers matching a given criteria 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCustomerList1Test() throws ApiException {
        String query = null;
        String fields = null;
        Integer offset = null;
        Integer limit = null;
        String sortBy = null;
        String sortOrder = null;
        String inheritCF = null;
        CustomersResponseDto response = api.gETCustomerList1(query, fields, offset, limit, sortBy, sortOrder, inheritCF);

        // TODO: test validations
    }
    
    /**
     *  Search for a customer with a given code 
     *
     *  Search for a customer with a given code 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCustomerSearch1Test() throws ApiException {
        String customerCode = null;
        String inheritCF = null;
        GetCustomerResponseDto response = api.gETCustomerSearch1(customerCode, inheritCF);

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

        // TODO: test validations
    }
    
    /**
     *  Create a new customer 
     *
     *  Create a new customer 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerCreate1Test() throws ApiException {
        CustomerDto customerDto = null;
        ActionStatus response = api.pOSTCustomerCreate1(customerDto);

        // TODO: test validations
    }
    
    /**
     *  Create a new customer brand 
     *
     *  Create a new customer brand 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerCreateBrand1Test() throws ApiException {
        CustomerBrandDto customerBrandDto = null;
        ActionStatus response = api.pOSTCustomerCreateBrand1(customerBrandDto);

        // TODO: test validations
    }
    
    /**
     *  Create a new customer category 
     *
     *  Create a new customer category 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerCreateCategory1Test() throws ApiException {
        CustomerCategoryDto customerCategoryDto = null;
        ActionStatus response = api.pOSTCustomerCreateCategory1(customerCategoryDto);

        // TODO: test validations
    }
    
    /**
     *  Create new or update existing customer 
     *
     *  Create new or update existing customer 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerCreateOrUpdate1Test() throws ApiException {
        CustomerDto customerDto = null;
        ActionStatus response = api.pOSTCustomerCreateOrUpdate1(customerDto);

        // TODO: test validations
    }
    
    /**
     *  Create new or update an existing customer brand 
     *
     *  Create new or update an existing customer brand 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerCreateOrUpdateBrand1Test() throws ApiException {
        CustomerBrandDto customerBrandDto = null;
        ActionStatus response = api.pOSTCustomerCreateOrUpdateBrand1(customerBrandDto);

        // TODO: test validations
    }
    
    /**
     *  Create new or update an existing customer category 
     *
     *  Create new or update an existing customer category 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerCreateOrUpdateCategory1Test() throws ApiException {
        CustomerCategoryDto customerCategoryDto = null;
        ActionStatus response = api.pOSTCustomerCreateOrUpdateCategory1(customerCategoryDto);

        // TODO: test validations
    }
    
    /**
     *    Calculates and returns the next value of the mandate number.      
     *
     *    Calculates and returns the next value of the mandate number.      
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerCustomerNumberSequence1Test() throws ApiException {
        GenericSequenceValueResponseDto response = api.pOSTCustomerCustomerNumberSequence1();

        // TODO: test validations
    }
    
    /**
     *  List customers matching a given criteria 
     *
     *  List customers matching a given criteria 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerList1Test() throws ApiException {
        PagingAndFiltering pagingAndFiltering = null;
        CustomersResponseDto response = api.pOSTCustomerList1(pagingAndFiltering);

        // TODO: test validations
    }
    
    /**
     *  Filters are: category, seller, brand and provider. 
     *
     *  Filters are: category, seller, brand and provider. 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerList471Test() throws ApiException {
        Integer firstRow = null;
        Integer numberOfRows = null;
        Integer offset = null;
        Integer limit = null;
        String sortBy = null;
        String sortOrder = null;
        CustomerDto customerDto = null;
        CustomersResponseDto response = api.pOSTCustomerList471(firstRow, numberOfRows, offset, limit, sortBy, sortOrder, customerDto);

        // TODO: test validations
    }
    
    /**
     *    Creates a new customer sequence.   
     *
     *    Creates a new customer sequence.   
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerSequence1Test() throws ApiException {
        CustomerSequenceDto customerSequenceDto = null;
        ActionStatus response = api.pOSTCustomerSequence1(customerSequenceDto);

        // TODO: test validations
    }
    
    /**
     *    Generates the next customer sequence number.   
     *
     *    Generates the next customer sequence number.   
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCustomerSequenceCodeNext1Test() throws ApiException {
        String code = null;
        GenericSequenceValueResponseDto response = api.pOSTCustomerSequenceCodeNext1(code);

        // TODO: test validations
    }
    
    /**
     *    Update the Provider&#39;s customer number sequence configuration.      
     *
     *    Update the Provider&#39;s customer number sequence configuration.      
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTCustomerCustomerNumberSequence1Test() throws ApiException {
        GenericSequenceDto genericSequenceDto = null;
        ActionStatus response = api.pUTCustomerCustomerNumberSequence1(genericSequenceDto);

        // TODO: test validations
    }
    
    /**
     *    Updates a new customer sequence with a given code.   
     *
     *    Updates a new customer sequence with a given code.   
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTCustomerSequence1Test() throws ApiException {
        CustomerSequenceDto customerSequenceDto = null;
        ActionStatus response = api.pUTCustomerSequence1(customerSequenceDto);

        // TODO: test validations
    }
    
    /**
     *  Update an existing customer 
     *
     *  Update an existing customer 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTCustomerUpdate1Test() throws ApiException {
        CustomerDto customerDto = null;
        ActionStatus response = api.pUTCustomerUpdate1(customerDto);

        // TODO: test validations
    }
    
    /**
     *  Update an existing customer brand 
     *
     *  Update an existing customer brand 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTCustomerUpdateBrand1Test() throws ApiException {
        CustomerBrandDto customerBrandDto = null;
        ActionStatus response = api.pUTCustomerUpdateBrand1(customerBrandDto);

        // TODO: test validations
    }
    
    /**
     *  Update an existing customer category 
     *
     *  Update an existing customer category 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTCustomerUpdateCategory1Test() throws ApiException {
        CustomerCategoryDto customerCategoryDto = null;
        ActionStatus response = api.pUTCustomerUpdateCategory1(customerCategoryDto);

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

        // TODO: test validations
    }
    
}
