# coding: utf-8

"""
    Coinbase Developer Platform APIs

    The Coinbase Developer Platform APIs - leading the world's transition onchain.

    The version of the OpenAPI document: 2.0.0
    Contact: cdp@coinbase.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from cdp.openapi_client.models.transfer import Transfer

class TestTransfer(unittest.TestCase):
    """Transfer unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> Transfer:
        """Test Transfer
            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 `Transfer`
        """
        model = Transfer()
        if include_optional:
            return Transfer(
                id = '8e03978e-40d5-43e8-bc93-6894a57f9324',
                source_type = 'payment_method',
                source = {"id":"8e03978e-40d5-43e8-bc93-6894a57f9324"},
                target_type = 'crypto_rail',
                target = {"currency":"USDC","network":"base","address":"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"},
                source_amount = '110.50',
                source_currency = 'USD',
                target_amount = '100',
                target_currency = 'USD',
                user_amount = '100',
                user_currency = 'USD',
                fees = [{"type":"exchange_fee","amount":"10.25","currency":"USD"},{"type":"network_fee","amount":"0.25","currency":"USD"}],
                status = 'created',
                created_at = '2021-01-01T00:00:00Z',
                updated_at = '2021-01-01T00:00:00Z',
                transaction_hash = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
            )
        else:
            return Transfer(
                id = '8e03978e-40d5-43e8-bc93-6894a57f9324',
                source_type = 'payment_method',
                source = {"id":"8e03978e-40d5-43e8-bc93-6894a57f9324"},
                target_type = 'crypto_rail',
                target = {"currency":"USDC","network":"base","address":"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"},
                source_amount = '110.50',
                source_currency = 'USD',
                target_amount = '100',
                target_currency = 'USD',
                user_amount = '100',
                user_currency = 'USD',
                fees = [{"type":"exchange_fee","amount":"10.25","currency":"USD"},{"type":"network_fee","amount":"0.25","currency":"USD"}],
                status = 'created',
                created_at = '2021-01-01T00:00:00Z',
                updated_at = '2021-01-01T00:00:00Z',
        )
        """

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

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