# coding: utf-8

"""
    easybill REST API

     The first version of the easybill REST API. [CHANGELOG](https://api.easybill.de/rest/v1/CHANGELOG.md)  ## Authentication  You can choose between two available methods: `Basic Auth` or `Bearer Token`.  In each HTTP request, one of the following HTTP headers is required:  ``` # Basic Auth Authorization: Basic base64_encode('<email>:<api_key>') # Bearer Token Authorization: Bearer <api_key> ```  ## Limitations  ### Request Limit  * PLUS: 10 requests per minute * BUSINESS: 60 requests per minute  If the limit is exceeded, you will receive the HTTP error: `429 Too Many Requests`  ### Result Limit  All result lists are limited to 100 by default. This limit can be increased by the query parameter `limit` to a maximum of 1000.  ## Query filter  Many list resources can be filtered. In `/documents` you can filter e.g. by number with `/documents?number=111028654`. If you want to filter multiple numbers, you can either enter them separated by commas `/documents?number=111028654,222006895` or as an array `/documents?number[]=111028654&number[]=222006895`.  **Warning**: The maximum size of an HTTP request line in bytes is 4094. If this limit is exceeded, you will receive the HTTP error: `414 Request-URI Too Large`  ### Escape commas in query  You can escape commans in query `name=Patrick\\, Peter` if you submit the header `X-Easybill-Escape: true` in your request.  ## Property login_id  This is the login of your admin or employee account.  ## Date and Date-Time format Please use the timezone `Europe/Berlin`. * **date** = *Y-m-d* = `2016-12-31` * **date-time** = *Y-m-d H:i:s* = `2016-12-31 03:13:37`  Date or datetime can be `null` because the attributes have been added later and the entry is older.

    The version of the OpenAPI document: 1.96.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from easybill_generated_async.models.customer import Customer

class TestCustomer(unittest.TestCase):
    """Customer unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> Customer:
        """Test Customer
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `Customer`
        """
        model = Customer()
        if include_optional:
            return Customer(
                acquire_options = 5,
                additional_groups_ids = [],
                bank_account = '123456789',
                bank_account_owner = 'Max Mustermann',
                bank_bic = 'DEUTDEFF',
                bank_code = '50070024',
                bank_iban = 'DE89370400440532013000',
                bank_name = 'Musterbank',
                birth_date = 'Sat Dec 31 00:00:00 UTC 2016',
                cash_allowance = 2.0,
                cash_allowance_days = 7,
                cash_discount = 3.0,
                cash_discount_type = 'PERCENT',
                city = 'Kaarst',
                state = 'NRW',
                company_name = 'easybill GmbH',
                country = 'DE',
                created_at = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(),
                updated_at = '',
                delivery_title = 'Dr.',
                delivery_city = 'Hamburg',
                delivery_state = 'NRW',
                delivery_company_name = 'Musterfirma Logistik GmbH',
                delivery_country = 'DE',
                delivery_first_name = 'Erika',
                delivery_last_name = 'Musterfrau',
                delivery_personal = False,
                delivery_salutation = 56,
                delivery_street = 'Lieferstraße 42',
                delivery_suffix_1 = 'Hinterhaus',
                delivery_suffix_2 = '3. Etage',
                delivery_zip_code = '20095',
                display_name = '',
                emails = [max.mustermann@easybill.de],
                fax = '+49 2154 89701 29',
                first_name = 'Max',
                grace_period = 14,
                due_in_days = 14,
                group_id = 1,
                id = 56,
                info_1 = 'Kundennummer: 12345',
                info_2 = 'Abteilung: Einkauf',
                internet = 'https://www.easybill.de',
                last_name = 'Mustermann',
                login_id = 56,
                mobile = '+49 170 1234567',
                note = 'Wichtiger Kunde, bevorzugte Betreuung',
                number = '',
                supplier_number = '',
                payment_options = 1,
                personal = False,
                phone_1 = '+49 2154 89701 20',
                phone_2 = '+49 2154 89701 21',
                postbox = 'Postfach 1234',
                postbox_city = 'Düsseldorf',
                postbox_state = 'NRW',
                postbox_country = 'DE',
                postbox_zip_code = '40213',
                sale_price_level = 'SALEPRICE3',
                salutation = 56,
                sepa_agreement = 'BASIC',
                sepa_agreement_date = 'Sat Jan 15 00:00:00 UTC 2022',
                sepa_mandate_reference = 'MANDAT-2022-0815',
                since_date = 'Sun Mar 01 00:00:00 UTC 2020',
                street = 'Düsselstr. 21',
                suffix_1 = 'c/o Musterfirma GmbH',
                suffix_2 = '2. Stock, links',
                tax_number = '21/815/08150',
                court = 'Berlin',
                court_registry_number = 'HRB XXXXX X',
                tax_options = 'IG',
                title = 'Dr.',
                archived = False,
                vat_identifier = 'DE814878557',
                zip_code = '41564',
                document_pdf_type = 'default',
                buyer_reference = '',
                foreign_supplier_number = ''
            )
        else:
            return Customer(
                company_name = 'easybill GmbH',
                last_name = 'Mustermann',
        )
        """

    def testCustomer(self):
        """Test Customer"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()
