# coding: utf-8

"""
    Vayu API

    The Vayu API is a RESTful API that allows you to submit events for processing and storage & manage billing related entities.           The API is secured using the Bearer Authentication scheme with JWT tokens.           To obtain a JWT token, please contact Vayu at team@withvayu.com

    The version of the OpenAPI document: 1.0.0
    Contact: dev@withvayu.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from openapi.models.list_invoices_response import ListInvoicesResponse

class TestListInvoicesResponse(unittest.TestCase):
    """ListInvoicesResponse unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> ListInvoicesResponse:
        """Test ListInvoicesResponse
            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 `ListInvoicesResponse`
        """
        model = ListInvoicesResponse()
        if include_optional:
            return ListInvoicesResponse(
                invoices = [
                    openapi.models.get_invoice_response_invoice.GetInvoiceResponse_invoice(
                        customer_id = '62ECB020842930cc01FFCCfe', 
                        contract_id = '62ECB020842930cc01FFCCfe', 
                        name = '0', 
                        billing_cycle = openapi.models.full_day_period.FullDayPeriod(
                            start_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            end_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), 
                        revenue_breakdown = openapi.models.get_invoice_response_invoice_revenue_breakdown.GetInvoiceResponse_invoice_revenueBreakdown(
                            total = 1.337, 
                            subtotal = 1.337, 
                            overage = 1.337, 
                            discount = 1.337, 
                            credits_used = 1.337, 
                            tax = 1.337, ), 
                        billing_status = 'None', 
                        payment_info = openapi.models.payment_info.PaymentInfo(
                            transaction_id = '', 
                            date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            payment_method = '', 
                            payment_method_id = '', 
                            amount = 1.337, 
                            currency = 'USD', 
                            status = '', 
                            note = '', 
                            customer_id = '', 
                            deposit_to = openapi.models.payment_info_deposit_to.PaymentInfo_depositTo(
                                id = '', 
                                name = '', ), ), 
                        due_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        account_id = '', 
                        line_items = [
                            openapi.models.line_item.LineItem(
                                invoice_id = '62ECB020842930cc01FFCCfe', 
                                revenue_breakdown = openapi.models.line_item_revenue_breakdown.LineItem_revenueBreakdown(
                                    total = 1.337, 
                                    subtotal = 1.337, 
                                    overage = 1.337, 
                                    discount = 1.337, 
                                    credits_used = 1.337, 
                                    tax = 1.337, ), )
                            ], 
                        amount = 1.337, 
                        id = '', 
                        created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), )
                    ],
                total = 1.337,
                has_more = True,
                next_cursor = ''
            )
        else:
            return ListInvoicesResponse(
                invoices = [
                    openapi.models.get_invoice_response_invoice.GetInvoiceResponse_invoice(
                        customer_id = '62ECB020842930cc01FFCCfe', 
                        contract_id = '62ECB020842930cc01FFCCfe', 
                        name = '0', 
                        billing_cycle = openapi.models.full_day_period.FullDayPeriod(
                            start_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            end_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), 
                        revenue_breakdown = openapi.models.get_invoice_response_invoice_revenue_breakdown.GetInvoiceResponse_invoice_revenueBreakdown(
                            total = 1.337, 
                            subtotal = 1.337, 
                            overage = 1.337, 
                            discount = 1.337, 
                            credits_used = 1.337, 
                            tax = 1.337, ), 
                        billing_status = 'None', 
                        payment_info = openapi.models.payment_info.PaymentInfo(
                            transaction_id = '', 
                            date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            payment_method = '', 
                            payment_method_id = '', 
                            amount = 1.337, 
                            currency = 'USD', 
                            status = '', 
                            note = '', 
                            customer_id = '', 
                            deposit_to = openapi.models.payment_info_deposit_to.PaymentInfo_depositTo(
                                id = '', 
                                name = '', ), ), 
                        due_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        account_id = '', 
                        line_items = [
                            openapi.models.line_item.LineItem(
                                invoice_id = '62ECB020842930cc01FFCCfe', 
                                revenue_breakdown = openapi.models.line_item_revenue_breakdown.LineItem_revenueBreakdown(
                                    total = 1.337, 
                                    subtotal = 1.337, 
                                    overage = 1.337, 
                                    discount = 1.337, 
                                    credits_used = 1.337, 
                                    tax = 1.337, ), )
                            ], 
                        amount = 1.337, 
                        id = '', 
                        created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), )
                    ],
                total = 1.337,
                has_more = True,
        )
        """

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

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