# coding: utf-8

"""
    Allegro REST API

    https://developer.allegro.pl/about  # noqa: E501

    The version of the OpenAPI document: 2020.03.10
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import allegro_api
from allegro_api.models.initialize_refund import InitializeRefund  # noqa: E501
from allegro_api.rest import ApiException

class TestInitializeRefund(unittest.TestCase):
    """InitializeRefund unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test InitializeRefund
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = allegro_api.models.initialize_refund.InitializeRefund()  # noqa: E501
        if include_optional :
            return InitializeRefund(
                payment = allegro_api.models.refund_payment.RefundPayment(
                    id = 'a6bee8b2-8b4e-11e9-8918-07b31163120a', ), 
                reason = 'REFUND', 
                line_items = [
                    allegro_api.models.refund_line_item.RefundLineItem(
                        id = '09f0b4cc-7880-11e9-8f9e-2a86e4085a59', 
                        type = 'QUANTITY', 
                        quantity = 5, 
                        value = allegro_api.models.refund_line_item_value.RefundLineItem_value(
                            amount = '0', 
                            currency = '0', ), )
                    ], 
                delivery = allegro_api.models.initialize_refund_delivery.InitializeRefund_delivery(
                    value = null, ), 
                overpaid = allegro_api.models.initialize_refund_overpaid.InitializeRefund_overpaid(
                    value = null, ), 
                surcharges = [
                    allegro_api.models.payments_surcharge.PaymentsSurcharge(
                        id = '09f0b4cc-7880-11e9-8f9e-2a86e4085a59', 
                        value = null, )
                    ], 
                additional_services = allegro_api.models.initialize_refund_additional_services.InitializeRefund_additionalServices(
                    value = null, )
            )
        else :
            return InitializeRefund(
                payment = allegro_api.models.refund_payment.RefundPayment(
                    id = 'a6bee8b2-8b4e-11e9-8918-07b31163120a', ),
                reason = 'REFUND',
        )

    def testInitializeRefund(self):
        """Test InitializeRefund"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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