# coding: utf-8

"""
    printnanny-api-client

    Official API client library for printnanny.ai  # noqa: E501

    The version of the OpenAPI document: 0.110.0
    Contact: leigh@printnanny.ai
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import printnanny_api_client
from printnanny_api_client.models.product import Product  # noqa: E501
from printnanny_api_client.rest import ApiException

class TestProduct(unittest.TestCase):
    """Product unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test Product
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = printnanny_api_client.models.product.Product()  # noqa: E501
        if include_optional :
            return Product(
                id = '', 
                djstripe_product = printnanny_api_client.models.dj_stripe_product.DjStripeProduct(
                    djstripe_id = 56, 
                    djstripe_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    djstripe_updated = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    id = '', 
                    livemode = True, 
                    created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    metadata = {
                        'key' : null
                        }, 
                    description = '', 
                    name = '', 
                    type = null, 
                    active = True, 
                    attributes = {
                        'key' : null
                        }, 
                    caption = '', 
                    deactivate_on = {
                        'key' : null
                        }, 
                    images = {
                        'key' : null
                        }, 
                    package_dimensions = {
                        'key' : null
                        }, 
                    shippable = True, 
                    url = '', 
                    statement_descriptor = '', 
                    unit_label = '', 
                    djstripe_owner_account = '', ), 
                prices = [
                    printnanny_api_client.models.dj_stripe_price.DjStripePrice(
                        djstripe_id = 56, 
                        billing_scheme = 'per_unit', 
                        human_readable_price = '', 
                        tiers_mode = 'graduated', 
                        djstripe_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        djstripe_updated = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        id = '', 
                        livemode = True, 
                        created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        metadata = {
                            'key' : null
                            }, 
                        description = '', 
                        active = True, 
                        currency = '', 
                        nickname = '', 
                        recurring = {
                            'key' : null
                            }, 
                        type = null, 
                        unit_amount = -9223372036854775808, 
                        unit_amount_decimal = '-8072888', 
                        lookup_key = '', 
                        tiers = {
                            'key' : null
                            }, 
                        transform_quantity = {
                            'key' : null
                            }, 
                        djstripe_owner_account = '', 
                        product = '', )
                    ], 
                deleted = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                created_dt = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                updated_dt = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                sku = '', 
                slug = '', 
                unit_label = '', 
                name = '', 
                description = '', 
                statement_descriptor = '', 
                images = [
                    ''
                    ], 
                is_active = True, 
                is_shippable = True, 
                is_preorder = True, 
                is_subscription = True, 
                stripe_price_lookup_key = '', 
                stripe_product_id = ''
            )
        else :
            return Product(
                djstripe_product = printnanny_api_client.models.dj_stripe_product.DjStripeProduct(
                    djstripe_id = 56, 
                    djstripe_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    djstripe_updated = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    id = '', 
                    livemode = True, 
                    created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    metadata = {
                        'key' : null
                        }, 
                    description = '', 
                    name = '', 
                    type = null, 
                    active = True, 
                    attributes = {
                        'key' : null
                        }, 
                    caption = '', 
                    deactivate_on = {
                        'key' : null
                        }, 
                    images = {
                        'key' : null
                        }, 
                    package_dimensions = {
                        'key' : null
                        }, 
                    shippable = True, 
                    url = '', 
                    statement_descriptor = '', 
                    unit_label = '', 
                    djstripe_owner_account = '', ),
                prices = [
                    printnanny_api_client.models.dj_stripe_price.DjStripePrice(
                        djstripe_id = 56, 
                        billing_scheme = 'per_unit', 
                        human_readable_price = '', 
                        tiers_mode = 'graduated', 
                        djstripe_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        djstripe_updated = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        id = '', 
                        livemode = True, 
                        created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        metadata = {
                            'key' : null
                            }, 
                        description = '', 
                        active = True, 
                        currency = '', 
                        nickname = '', 
                        recurring = {
                            'key' : null
                            }, 
                        type = null, 
                        unit_amount = -9223372036854775808, 
                        unit_amount_decimal = '-8072888', 
                        lookup_key = '', 
                        tiers = {
                            'key' : null
                            }, 
                        transform_quantity = {
                            'key' : null
                            }, 
                        djstripe_owner_account = '', 
                        product = '', )
                    ],
                deleted = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                created_dt = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                updated_dt = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                sku = '',
                slug = '',
                unit_label = '',
                name = '',
                description = '',
                statement_descriptor = '',
                is_shippable = True,
                is_preorder = True,
                is_subscription = True,
        )

    def testProduct(self):
        """Test Product"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)

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