# 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.get_invoice_response import GetInvoiceResponse

class TestGetInvoiceResponse(unittest.TestCase):
    """GetInvoiceResponse unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> GetInvoiceResponse:
        """Test GetInvoiceResponse
            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 `GetInvoiceResponse`
        """
        model = GetInvoiceResponse()
        if include_optional:
            return GetInvoiceResponse(
                invoice = 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'), )
            )
        else:
            return GetInvoiceResponse(
                invoice = 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'), ),
        )
        """

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

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