/*
 * 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.GetListOfferTemplateResponseDto;
import org.openapitools.client.model.GetOfferTemplateResponseDto;
import org.openapitools.client.model.OfferTemplateDto;
import org.threeten.bp.OffsetDateTime;
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 OfferTemplateApi
 */
@Ignore
public class OfferTemplateApiTest {

    private final OfferTemplateApi api = new OfferTemplateApi();

    
    /**
     *  Remove offer template with a given code and validity dates
     *
     *  Remove offer template with a given code and validity dates. If no validity dates are provided, an offer template valid on a current date will be deleted.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void dELETEOfferTemplateOfferTemplateCode1Test() throws ApiException {
        String offerTemplateCode = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        ActionStatus response = api.dELETEOfferTemplateOfferTemplateCode1(offerTemplateCode, validFrom, validTo);

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

        // TODO: test validations
    }
    
    /**
     *  List Offer templates matching filtering and query criteria or code and validity dates
     *
     *  List Offer templates matching filtering and query criteria or code and validity dates.  If neither date is provided, validity dates will not be considered. If only validFrom is provided, a search will return offers valid on a given date. If only validTo date is provided, a search will return offers valid from today to a given date. 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETOfferTemplateList1Test() throws ApiException {
        String offerTemplateCode = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        String query = null;
        String fields = null;
        Integer offset = null;
        Integer limit = null;
        String sortBy = null;
        String sortOrder = null;
        String inheritCF = null;
        GetListOfferTemplateResponseDto response = api.gETOfferTemplateList1(offerTemplateCode, validFrom, validTo, query, fields, offset, limit, sortBy, sortOrder, inheritCF);

        // TODO: test validations
    }
    
    /**
     *  Search offer template with a given code and validity dates
     *
     *  Search offer template with a given code and validity dates. If no validity dates are provided, an offer template valid on a current date will be returned.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETOfferTemplateSearch1Test() throws ApiException {
        String offerTemplateCode = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        String inheritCF = null;
        Boolean loadOfferServiceTemplate = null;
        Boolean loadOfferProductTemplate = null;
        Boolean loadServiceChargeTemplate = null;
        Boolean loadProductChargeTemplate = null;
        Boolean loadAllowedDiscountPlan = null;
        GetOfferTemplateResponseDto response = api.gETOfferTemplateSearch1(offerTemplateCode, validFrom, validTo, inheritCF, loadOfferServiceTemplate, loadOfferProductTemplate, loadServiceChargeTemplate, loadProductChargeTemplate, loadAllowedDiscountPlan);

        // TODO: test validations
    }
    
    /**
     *  Disable a Offer template with a given code  
     *
     *  Disable a Offer template with a given code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTOfferTemplateCodeDisable1Test() throws ApiException {
        String code = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        ActionStatus response = api.pOSTOfferTemplateCodeDisable1(code, validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  Enable a Offer template with a given code  
     *
     *  Enable a Offer template with a given code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTOfferTemplateCodeEnable1Test() throws ApiException {
        String code = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        ActionStatus response = api.pOSTOfferTemplateCodeEnable1(code, validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  Create offer template.  
     *
     *  Create offer template.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTOfferTemplateCreate1Test() throws ApiException {
        OfferTemplateDto offerTemplateDto = null;
        ActionStatus response = api.pOSTOfferTemplateCreate1(offerTemplateDto);

        // TODO: test validations
    }
    
    /**
     *  Create or update offer template based on a given code.  
     *
     *  Create or update offer template based on a given code.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTOfferTemplateCreateOrUpdate1Test() throws ApiException {
        OfferTemplateDto offerTemplateDto = null;
        ActionStatus response = api.pOSTOfferTemplateCreateOrUpdate1(offerTemplateDto);

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

        // TODO: test validations
    }
    
    /**
     *  Update offer template.  
     *
     *  Update offer template.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTOfferTemplateUpdate1Test() throws ApiException {
        OfferTemplateDto offerTemplateDto = null;
        ActionStatus response = api.pUTOfferTemplateUpdate1(offerTemplateDto);

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

        // TODO: test validations
    }
    
}
