# coding: utf-8

"""
    マネーフォワード クラウド経費API

    このページは[マネーフォワード クラウド経費](https://expense.moneyforward.com)（クラウド型の経費精算・ワークフローサービス）のAPIドキュメントです。ご利用開始の手順については、[github](https://github.com/moneyforward/expense-api-doc) をご覧ください。バグ報告や改善要望はgithub上からissue登録をして頂ければ幸いです。このドキュメントは[Swagger](http://swagger.io)の仕様で作成されています。実際にこのページでAPIの試打を行うことができます。試打を行いたい場合は、APIを利用するアプリケーションの登録の際に、Redirect URIを`https://expense.moneyforward.com/api/oauth2-redirect.html`に指定してお試しください。  # noqa: E501

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


from __future__ import absolute_import

import unittest
import datetime

import moneyforward_ex
from moneyforward_ex.models.office_member import OfficeMember  # noqa: E501
from moneyforward_ex.rest import ApiException

class TestOfficeMember(unittest.TestCase):
    """OfficeMember unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test OfficeMember
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = moneyforward_ex.models.office_member.OfficeMember()  # noqa: E501
        if include_optional :
            return OfficeMember(
                id = '0',
                identification_code = '0',
                number = '0',
                name = '0',
                created_at = 2020-03-03T19:47:44.570+09:00,
                updated_at = 2020-03-03T19:47:44.570+09:00,
                ex_activated_at = null,
                is_ex_user = True,
                is_ex_authorizer = True,
                is_ex_administrator = True,
                ex_office_member_setting = moneyforward_ex.models.ex_office_member_setting.ExOfficeMemberSetting(
                    id = '0',
                    use_agent = True,
                    approving_priority = 1,
                    default_cr_item = moneyforward_ex.models.item.Item(
                        id = '0',
                        excise_id = '0',
                        name = '勘定科目名称',
                        code = 'item-code-xxx', ),
                    default_cr_sub_item = moneyforward_ex.models.sub_item.SubItem(
                        id = '0',
                        item_id = '0',
                        excise_id = '0',
                        name = '補助勘定科目名称',
                        code = 'sub-item-code-xxx', ),
                    default_transportation_ex_item = moneyforward_ex.models.ex_item.ExItem(
                        id = '0',
                        name = '経費科目名称',
                        code = '0',
                        is_active = True,
                        item_id = '0',
                        sub_item_id = '0',
                        default_excise_id = '0',
                        item = moneyforward_ex.models.item.Item(
                            id = '0',
                            excise_id = '0',
                            name = '勘定科目名称',
                            code = 'item-code-xxx', ),
                        sub_item = moneyforward_ex.models.sub_item.SubItem(
                            id = '0',
                            item_id = '0',
                            excise_id = '0',
                            name = '補助勘定科目名称',
                            code = 'sub-item-code-xxx', ),
                        default_dr_excise = moneyforward_ex.models.excise.Excise(
                            id = '0',
                            long_name = '課税仕入 8%',
                            code = '税区分コード',
                            rate = 0.08, ), ),
                    default_driving_expense_ex_item = moneyforward_ex.models.ex_item.ExItem(
                        id = '0',
                        name = '経費科目名称',
                        code = '0',
                        is_active = True,
                        item_id = '0',
                        sub_item_id = '0',
                        default_excise_id = '0', ),
                    default_project_code = moneyforward_ex.models.dept.Dept(
                        id = '0',
                        name = '営業部',
                        memo = '0',
                        code = '0',
                        disp_order = 56,
                        is_active = True,
                        parent_id = '0',
                        root_id = '0', ), ),
                reimburse_bank_account = moneyforward_ex.models.reimburse_bank_account.ReimburseBankAccount(
                    id = '0',
                    account_type = 1,
                    number = '1234567',
                    holder_name = '山田　太郎',
                    holder_name_kana = 'ﾔﾏﾀﾞ ﾀﾛｳ',
                    bank = moneyforward_ex.models.bank.Bank(
                        code = '0001',
                        name = 'みずほ銀行',
                        name_kana = 'ﾐｽﾞﾎ', ),
                    bank_branch = moneyforward_ex.models.bank_branch.BankBranch(
                        code = '093',
                        name = '本店',
                        name_kana = 'ﾎﾝﾃﾝ', ), ),
                position = moneyforward_ex.models.position.Position(
                    id = '0',
                    name = '部長',
                    is_authorizer = True,
                    priority = 1, ),
                depts = [
                    moneyforward_ex.models.dept.Dept(
                        id = '0',
                        name = '営業部',
                        memo = '0',
                        code = '0',
                        disp_order = 56,
                        is_active = True,
                        parent_id = '0',
                        root_id = '0', )
                    ]
            )
        else :
            return OfficeMember(
                id = '0',
        )

    def testOfficeMember(self):
        """Test OfficeMember"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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