# coding=utf-8
from __future__ import unicode_literals
from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing

try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
    print(
        pod_dealing.comment_business(business_id=9371,
                                     comment="ثبت نظر تستی",
                                     sc_api_key=SC_API_KEY,
                                     sc_voucher_hash=SC_VOUCHER_HASH))
    # OUTPUT
    # 7842
except APIException as e:
    print("API Exception\nError {}\nReference Number : {}".format(
        e.message, e.reference_number))
except PodException as e:
    print("Pod Exception: ", e.message)
# coding=utf-8
from __future__ import unicode_literals
from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing

try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
    print(pod_dealing.rate_business(business_id=9371, rate=5, sc_api_key=SC_API_KEY,
                                    sc_voucher_hash=SC_VOUCHER_HASH))
    # OUTPUT
    # {
    #   "business": {
    #     "id": 9371,
    #     "name": "رضا استور شماره 7",
    #     "numOfProducts": 103,
    #     "rate": {
    #       "rate": 0,
    #       "rateCount": 0
    #     }
    #   },
    #   "apiToken": "a13f9xxxxxxxxxxxxxxxxxxxxxxxxc0f",
    #   "clientId": "9327xxxxxxxxxxxxxxxxxx76"
    # }
except APIException as e:
    print("API Exception\nError {}\nReference Number : {}".format(e.message, e.reference_number))
except PodException as e:
    print("Pod Exception: ", e.message)
# coding=utf-8
from __future__ import unicode_literals
from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing

try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
    params = {
        # "bizId": [14592, 14590, 14589],
        # "guildCode": ["API_GUILD", "CLOTHING_GUILD"],
        # "query": "پایتون",
        # "username": '******',
        "businessName": 'کسب و کار پایتونی 20200115133012',
        # "email": 'EMAIL',
        # "country": 'COUNTRY',
        # "state": 'STATE',
        # "city": 'CITY',
        # "active": True,
        # "size": 50,
        # "ssoId": 'SSO ID',  # شناسه sso کاربر
        # "sheba": 'SHEBA WITHOUT IR',
        # "nationalCode": 'CODE',
        # "economicCode": 'CODE',
        # "cellphone": '09120000000',
        # "tags": 'TAG1,TAG2',  # لیست تگ
        # "tagTrees": 'TREE1,TREE2',  # لیست درخت تگ
        # "sc_api_key": SC_API_KEY,
        # "sc_voucher_hash": SC_VOUCHER_HASH
    }
# coding=utf-8
from __future__ import unicode_literals
from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing

try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
    print(
        pod_dealing.dealing_product_permission_list(
            sc_api_key=SC_API_KEY, sc_voucher_hash=SC_VOUCHER_HASH))
    print("Total :", pod_dealing.total_items())
    # OUTPUT
    # [
    #  {
    #     "product": {
    #       "id": 0,
    #       "version": 68,
    #       "timelineId": 0,
    #       "entityId": 29990,
    #       "numOfLikes": 0,
    #       "numOfDisLikes": 0,
    #       "numOfFavorites": 0,
    #       "numOfComments": 0,
    #       "timestamp": 0,
    #       "enable": False,
    #       "hide": False,
    #       "business": {
    #         "id": 7867,
    #         "name": "شرکت رضا",
    #         "numOfProducts": 369,
Beispiel #5
0
# coding=utf-8
from __future__ import unicode_literals
from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing

try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
    print(pod_dealing.add_dealer_product_permission(dealer_biz_id=12006, product_id=45898, sc_api_key=SC_API_KEY,
                                                    sc_voucher_hash=SC_VOUCHER_HASH))
    # OUTPUT
    # {
    #   "product": {
    #     "id": 0,
    #     "version": 2,
    #     "timelineId": 0,
    #     "entityId": 45898,
    #     ...
    #     "preferredTaxRate": 0
    #   },
    #   "businessDealer": {
    #     "business": {
    #       "id": 7867,
    #       "name": "شرکت رضا",
    #       "numOfProducts": 369,
    #       "rate": {
    #         "rate": 8,
    #         "rateCount": 1
    #       },
    #       "sheba": "640170000000000000000007"
    #     },
import string
from datetime import datetime
from uuid import uuid4

from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing


def random_string(length=15):
    letters = string.ascii_lowercase[:12]
    return "".join(random.choice(letters) for i in range(length))


try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)

    username = "******".format(str(uuid4()).replace("-", "_"))
    email = "{}@pytest.pytest".format(random_string())
    national_code = "{}{}".format(random.randint(1000000, 9999999),
                                  random.randint(1000, 9999))
    business_name = "کسب و کار پایتونی {}".format(
        (datetime.now()).__format__("%Y%m%d%H%M%S"))

    params = {
        "firstName": "FIRST NAME",
        "lastName": "LAST NAME",
        "sheba": "980570100000000000000101",
        "nationalCode": national_code,
        "economicCode": "123",
        "registrationNumber": "1234fa",
Beispiel #7
0
 def create_dealing_dealer(self):
     self.__dealing = PodDealing(api_token=self.__dealer_api_token, server_type=SERVER_MODE)
# coding=utf-8
from __future__ import unicode_literals
from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing

try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
    print(pod_dealing.un_confirm_comment(comment_id=7841, sc_api_key=SC_API_KEY,
                                         sc_voucher_hash=SC_VOUCHER_HASH))

    # OUTPUT
    # True

except APIException as e:
    print("API Exception\nError {}\nReference Number : {}".format(e.message, e.reference_number))
except PodException as e:
    print("Pod Exception: ", e.message)
Beispiel #9
0
 def setUp(self):
     self.__dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
     self.__letters = string.ascii_lowercase[:12]
     self.__dealer_id = 14589  # default
Beispiel #10
0
class TestPodDealing(unittest.TestCase):
    __slots__ = ("__dealing", "__letters", "__dealer_id", "__dealer_api_token", "__dealing_dealer")

    def setUp(self):
        self.__dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
        self.__letters = string.ascii_lowercase[:12]
        self.__dealer_id = 14589  # default

    def __random_string(self, length=15):
        return "".join(random.choice(self.__letters) for i in range(length))

    def test_01_add_user_and_business_required_params(self):
        username = "******".format(str(uuid4()).replace("-", "_"))
        email = "{}@pytest.pytest".format(self.__random_string())
        business_name = "کسب و کار پایتونی {}".format((datetime.now()).__format__("%Y%m%d%H%M%S"))
        result = self.__dealing.add_user_and_business(username=username, agent_cellphone_number=AGENT_CELLPHONE_NUMBER,
                                                      agent_first_name=AGENT_FIRST_NAME,
                                                      agent_last_name=AGENT_LAST_NAME,
                                                      description="ایجاد توسط تست SDK پایتون", email=email,
                                                      guild_code=["API_GUILD", "CLOTHING_GUILD"],
                                                      business_name=business_name, country="ایران", state="خراسان رضوی",
                                                      city="مشهد", address="فناپ سافت مشهد")

        self.assertIsInstance(result, dict)

    def test_01_add_user_and_business_full_params(self):
        username = "******".format(str(uuid4()).replace("-", "_"))
        email = "{}@pytest.pytest".format(self.__random_string())
        business_name = "کسب و کار پایتونی {}".format((datetime.now()).__format__("%Y%m%d%H%M%S"))
        national_code = "{}{}".format(random.randint(1000000, 9999999), random.randint(1000, 9999))

        other_params = {
            "firstName": "FIRST NAME",
            "lastName": "LAST NAME",
            "sheba": "980570100680013557234101",
            "nationalCode": national_code,
            "economicCode": "123",
            "registrationNumber": "1234fa",
            "cellphone": "09150000000",
            "phone": "05132222222",
            "fax": "05133333333",
            "postalCode": "9185175673",
            "newsReader": True,
            "logoImage": "LOGO",
            "coverImage": "COVER",
            "tags": "TAG1,TAG2",
            # "tagTrees": "TestTagCategory5dbfefe86b953",
            # "tagTreeCategoryName": "TestTagCategory5dc12fabea220",
            "link": "LINK",
            "lat": 35.12345,
            "lng": 35.12345,
            "agentNationalCode": "1111221111",
        }

        result = self.__dealing.add_user_and_business(username=username, agent_cellphone_number=AGENT_CELLPHONE_NUMBER,
                                                      agent_first_name=AGENT_FIRST_NAME,
                                                      agent_last_name=AGENT_LAST_NAME,
                                                      description="ایجاد توسط تست SDK پایتون", email=email,
                                                      guild_code=["API_GUILD", "CLOTHING_GUILD"],
                                                      business_name=business_name, country="ایران", state="خراسان رضوی",
                                                      city="مشهد", address="فناپ سافت مشهد", **other_params
                                                      )

        self.assertIsInstance(result, dict)
        self.__dealer_id = result["id"]

    def test_01_add_user_and_business_validation_error(self):
        username = "******"
        email = "abcd"
        business_name = "کسب و کار پایتونی"

        with self.assertRaises(InvalidDataException, msg="خطای اعتبار سنجی"):
            self.__dealing.add_user_and_business(username=username, agent_cellphone_number=AGENT_CELLPHONE_NUMBER,
                                                 agent_first_name=AGENT_FIRST_NAME,
                                                 agent_last_name=AGENT_LAST_NAME,
                                                 description="ایجاد توسط تست SDK پایتون", email=email,
                                                 guild_code=["API_GUILD", "CLOTHING_GUILD"],
                                                 business_name=business_name, country="ایران", state="خراسان رضوی",
                                                 city="مشهد", address="فناپ سافت مشهد")

    def test_02_update_business_required_params(self):
        result = self.__dealing.update_business(self.__dealer_id, business_name="Edited",
                                                description="کسب و کار ویرایشی",
                                                guild_code=["API_GUILD", "CLOTHING_GUILD",
                                                            "INFORMATION_TECHNOLOGY_GUILD"],
                                                country="ایران", state="خراسان رضوی", city="مشهد",
                                                address="فناپ سافت مشهد - ویرایش شده")
        self.assertIsInstance(result, dict)

    def test_02_update_business_full_params(self):
        national_code = "{}{}".format(random.randint(1000000, 9999999), random.randint(1000, 9999))

        other_params = {
            "firstName": "FIRST NAME",
            "lastName": "LAST NAME",
            "email": "*****@*****.**",
            "companyName": "فناپ کشت گر",  # نام شرکت
            "sheba": "980570100680013557234101",
            "shopName": "فروشگاه مرکزی",
            "shopNameEn": "Shopping Center",  # نام انگلیسی فروشگاه
            "dateEstablishing": "1398/01/27",  # تاریخ شمسی تاسیس yyyy/mm/dd
            "website": "website",  # وبسایت
            "nationalCode": national_code,
            "economicCode": "123",
            "registrationNumber": "1234fa",
            "cellphone": "09150000000",
            "phone": "05132222222",
            "fax": "05133333333",
            "postalCode": "9185175673",
            "changeLogo": True,  # در صورتی که بخواهید تصویر لوگو را تغییر دهید True وارد کنید
            "changeCover": True,  # در صورتی که بخواهید تصویر کاور را تغییر دهید True وارد کنید
            "logoImage": "https://30secondsofknowledge.com/static/media/logo_light.b1bd345c.png",
            "coverImage": "https://30secondsofknowledge.com/static/media/mockup.71757ecc.jpg",
            "tags": "TAG1,TAG2",
            # "tagTrees"              : ["TestTagCategory5dbfefe86b953"],
            # "tagTreeCategoryName": "TestTagCategory5dc12fabea220",
            "link": "http://karthing.ir",
            "lat": 35.12345,
            "lng": 35.12345,
            "agentFirstName": "FIRST NAME",  # نام نماینده
            "agentLastName": "LAST NAME",  # نام خانوادگی نماینده
            "agentCellphoneNumber": "MOBILE",  # شماره تلفن نماینده
            "agentNationalCode": "1111221111"
        }

        result = self.__dealing.update_business(self.__dealer_id, business_name="Edited",
                                                description="کسب و کار ویرایشی",
                                                guild_code=["API_GUILD", "CLOTHING_GUILD",
                                                            "INFORMATION_TECHNOLOGY_GUILD"],
                                                country="ایران", state="خراسان رضوی", city="مشهد",
                                                address="فناپ سافت مشهد - ویرایش شده", **other_params)
        self.assertIsInstance(result, dict)

    def test_02_update_business_validation_error(self):
        with self.assertRaises(InvalidDataException):
            other_params = {
                "email": "abcde"
            }

            self.__dealing.update_business(self.__dealer_id, business_name="Edited",
                                           description="کسب و کار ویرایشی",
                                           guild_code=["API_GUILD", "CLOTHING_GUILD", "INFORMATION_TECHNOLOGY_GUILD"],
                                           country="ایران", state="خراسان رضوی", city="مشهد",
                                           address="فناپ سافت مشهد - ویرایش شده", **other_params)

    def test_03_list_user_created_business(self):
        businesses = self.__dealing.list_user_created_business()
        self.assertIsInstance(businesses, list)

    def test_03_list_user_created_business_filter_by_biz_id(self):
        params = {
            "bizId": [self.__dealer_id]
        }

        businesses = self.__dealing.list_user_created_business(**params)
        self.assertIsInstance(businesses, list)
        self.assertEqual(len(businesses), 1)
        self.assertEqual(businesses[0]["id"], self.__dealer_id)

    def test_03_list_user_created_business_filter_by_biz_id_not_exists(self):
        params = {
            "bizId": [-1]
        }

        businesses = self.__dealing.list_user_created_business(**params)
        self.assertIsInstance(businesses, list)
        self.assertEqual(len(businesses), 0)

    def test_03_list_user_created_business_validation_error(self):
        params = {
            "bizId": "this is a string"
        }

        with self.assertRaises(InvalidDataException):
            self.__dealing.list_user_created_business(**params)

    def test_04_get_api_token_for_created_business(self):
        result = self.__dealing.get_api_token_for_created_business(business_id=self.__dealer_id)
        self.assertIsInstance(result, dict)
        self.__dealer_api_token = result["apiToken"]

    def create_dealing_dealer(self):
        self.__dealing = PodDealing(api_token=self.__dealer_api_token, server_type=SERVER_MODE)

    def test_04_get_api_token_for_created_business_biz_id_not_exists(self):
        with self.assertRaises(APIException):
            self.__dealing.get_api_token_for_created_business(business_id=-1)

    def test_04_get_api_token_for_created_business_validation_error(self):
        with self.assertRaises(TypeError):
            self.__dealing.get_api_token_for_created_business()

    def test_05_favorite_business(self):
        self.assertEqual(self.__dealing.favorite_business(self.__dealer_id), True)

    def test_05_favorite_business_validation_error(self):
        with self.assertRaises(InvalidDataException):
            self.assertEqual(self.__dealing.favorite_business("biz id"), True)

    def test_05_favorite_business_biz_id_not_exists(self):
        with self.assertRaises(APIException):
            self.__dealing.favorite_business(-1)

    # def test_06_rate_business(self):
    #     self.assertEqual(self.__dealing.rate_business(self.__dealer_id, 5), True)

    def test_06_rate_business_validation_error(self):
        with self.assertRaises(InvalidDataException):
            self.assertEqual(self.__dealing.rate_business("biz id", 9), True)

    def test_06_rate_business_biz_id_not_exists(self):
        with self.assertRaises(APIException):
            self.__dealing.rate_business(-1, 5)

    def test_07_comment_business(self):
        self.assertGreaterEqual(self.__dealing.comment_business(self.__dealer_id, "این یک نظر از سمت تست پایتون است"),
                                1, msg="send comment : successful comment")

    def test_07_comment_business_validation_error(self):
        with self.assertRaises(InvalidDataException, msg="send comment : invalid param"):
            self.__dealing.comment_business(-1, 54654)

    def test_07_comment_business_biz_id_not_exists(self):
        with self.assertRaises(APIException, msg="send comment : business not exists"):
            self.__dealing.comment_business(-1, "این یک نظر از سمت تست پایتون است")

    def test_08_comment_business_list(self):
        result = self.__dealing.comment_business_list(self.__dealer_id)
        self.assertIsInstance(result, list, msg="comment list : check instance")
        self.assertGreaterEqual(len(result), 1, msg="comment list : check len")

    def test_08_comment_business_list_validation_error(self):
        with self.assertRaises(InvalidDataException, msg="comment list : invalid param"):
            self.__dealing.comment_business_list("biz id")

    def test_08_comment_business_list_required_params(self):
        with self.assertRaises(TypeError, msg="comment list : required params"):
            self.__dealing.comment_business_list()

    def test_08_comment_business_list_first_id(self):
        self.__dealing.comment_business_list(self.__dealer_id, firstId=0, msg="comment list : set first id")

    def test_08_comment_business_list_last_id(self):
        self.__dealing.comment_business_list(self.__dealer_id, lastId=0, msg="comment list : set last id")

    def test_09_confirm_comment(self):
        comments = self.__dealing.comment_business_list(BUSINESS_ID)
        self.assertEqual(self.__dealing.confirm_comment(comments[0]["id"]), True, msg="confirm comment : success")

    def test_09_confirm_comment_required_params(self):
        with self.assertRaises(TypeError, msg="confirm comment : require params"):
            self.__dealing.confirm_comment()

    def test_10_un_confirm_comment(self):
        comments = self.__dealing.comment_business_list(BUSINESS_ID)
        self.assertEqual(self.__dealing.un_confirm_comment(comments[0]["id"]), True, msg="unconfirm comment : success")

    def test_10_un_confirm_comment_required_params(self):
        with self.assertRaises(TypeError, msg="unconfirm comment : require params"):
            self.__dealing.un_confirm_comment()

    def test_11_dis_favorite_business(self):
        self.assertEqual(self.__dealing.dis_favorite_business(self.__dealer_id), True,
                         msg="dis favorite : successful dis favorite")

    def test_11_dis_favorite_business_validation_error(self):
        with self.assertRaises(TypeError, msg="dis favorite : invalid param"):
            self.__dealing.dis_favorite_business()

    def test_11_dis_favorite_business_biz_id_not_exists(self):
        with self.assertRaises(APIException, msg="dis favorite : business not exists"):
            self.__dealing.dis_favorite_business(-1)

    def test_12_user_business_infos(self):
        result = self.__dealing.user_business_infos([self.__dealer_id])
        self.assertIsInstance(result, list, msg="user business infos : check instance")
        self.assertEqual(len(result), 1, msg="user business infos : check len")

    def test_12_user_business_infos_required_params(self):
        with self.assertRaises(TypeError, msg="user business infos : required params"):
            self.__dealing.user_business_infos()

    def test_12_user_business_infos_validation_error_params(self):
        with self.assertRaises(InvalidDataException, msg="user business infos : invalid param"):
            self.__dealing.user_business_infos(["biz id1", "biz id2"])

    def test_12_user_business_infos_biz_id_not_exists(self):
        result = self.__dealing.user_business_infos([-1])
        self.assertIsInstance(result, list, msg="user business infos : not exists - check instance")
        self.assertEqual(len(result), 0, msg="user business infos : not exists - check len")

    def test_13_add_dealer(self):
        result = self.__dealing.add_dealer(dealer_biz_id=self.__dealer_id, all_product_allow=True)
        self.assertEqual(result["dealer"]["id"], self.__dealer_id, msg="add dealer : check business id dealer")
        self.assertEqual(result["allProductAllow"], True, msg="add dealer: check all product allow")

    def test_13_add_dealer_all_params(self):
        result = self.__dealing.add_dealer(dealer_biz_id=self.__dealer_id,
                                           all_product_allow=True,
                                           sc_api_key=SC_API_KEY,
                                           sc_voucher_hash=SC_VOUCHER_HASH)
        self.assertEqual(result["dealer"]["id"], self.__dealer_id,
                         msg="add dealer : check business id dealer (all params)")
        self.assertEqual(result["allProductAllow"], True, msg="add dealer: check all product allow (all params)")

    def test_13_add_dealer_validation_error(self):
        with self.assertRaises(InvalidDataException, msg="add dealer : validation error"):
            self.__dealing.add_dealer("biz id")

    def test_13_add_dealer_required_params(self):
        with self.assertRaises(TypeError, msg="add dealer : required params"):
            self.__dealing.add_dealer()

    def test_14_dealer_list(self):
        dealers = self.__dealing.dealer_list()
        self.assertIsInstance(dealers, list, msg="dealer list : check instance")
        self.assertGreaterEqual(len(dealers), 1, msg="dealer list : check len")

    def test_14_dealer_list_validation_error(self):
        with self.assertRaises(InvalidDataException):
            self.__dealing.dealer_list(dealerBizId="asdasd")

    def test_14_dealer_list_all_params(self):
        dealers = self.__dealing.dealer_list(page=1, size=50, enable=True, dealerBizId=self.__dealer_id)
        self.assertIsInstance(dealers, list, msg="dealer list : check instance")
        self.assertGreaterEqual(len(dealers), 0, msg="dealer list : check len")
        if len(dealers):
            self.assertGreaterEqual(dealers[0]["dealer"]["id"], self.__dealer_id,
                                    msg="dealer list : check dealer biz id")

    def test_15_enable_dealer(self):
        result = self.__dealing.enable_dealer(self.__dealer_id)
        self.assertIsInstance(result, dict, msg="enable dealer : check instance")
        self.assertEqual(result["dealer"]["id"], self.__dealer_id, msg="enable dealer : check dealer biz id")
        self.assertEqual(result["enable"], True, msg="disable dealer : check status")

    def test_15_enable_dealer_validation_error(self):
        with self.assertRaises(InvalidDataException, msg="enable dealer : validation error"):
            self.__dealing.enable_dealer("biz id")

    def test_15_enable_dealer_required_params(self):
        with self.assertRaises(TypeError, msg="enable dealer : required params"):
            self.__dealing.enable_dealer()

    def test_15_disable_dealer(self):
        result = self.__dealing.disable_dealer(self.__dealer_id)
        self.assertIsInstance(result, dict, msg="disable dealer : check instance")
        self.assertEqual(result["dealer"]["id"], self.__dealer_id, msg="disable dealer : check dealer biz id")
        self.assertEqual(result["enable"], False, msg="disable dealer : check status")

    def test_15_disable_dealer_validation_error(self):
        with self.assertRaises(InvalidDataException, msg="disable dealer : validation error"):
            self.__dealing.disable_dealer("biz id")

    def test_15_disable_dealer_required_params(self):
        with self.assertRaises(TypeError, msg="disable dealer : required params"):
            self.__dealing.disable_dealer()

    def test_16_business_dealing_list(self):
        dealings = self.__dealing.business_dealing_list()
        self.assertIsInstance(dealings, list, msg="business dealing list : check instance")
        self.assertGreaterEqual(len(dealings), 1, msg="business dealing list : check len")

    def test_16_business_dealing_list_all_params(self):
        dealings = self.__dealing.business_dealing_list(dealingBusinessId=self.__dealer_id, enable=True)
        self.assertIsInstance(dealings, list, msg="business dealing list : check instance")
        self.assertGreaterEqual(len(dealings), 0, msg="business dealing list : check len")

    def test_17_add_dealer_product_permission_validation_error(self):
        with self.assertRaises(InvalidDataException, msg="add dealer product permission : validation error"):
            self.__dealing.add_dealer_product_permission("biz id", "product id")

    def test_17_add_dealer_product_permission_required_params(self):
        with self.assertRaises(TypeError, msg="add dealer product permission : required params"):
            self.__dealing.add_dealer_product_permission()

    def test_18_dealer_product_permission_list(self):
        permissions = self.__dealing.dealer_product_permission_list()
        self.assertIsInstance(permissions, list, msg="dealer product permission list : check instance")
        self.assertGreaterEqual(len(permissions), 0, msg="dealer product permission list : check len")

    def test_18_dealer_product_permission_list_validation_error(self):
        with self.assertRaises(TypeError, msg="add dealer product permission : validation error"):
            self.__dealing.dealer_product_permission_list("page 1", "size 20")

        with self.assertRaises(InvalidDataException, msg="add dealer product permission : validation error"):
            self.__dealing.dealer_product_permission_list(dealerBizId="biz id")

    def test_19_enable_dealer_product_permission(self):
        permissions = self.__dealing.dealer_product_permission_list()
        if len(permissions) == 0:
            return

        result = self.__dealing.enable_dealer_product_permission(product_id=permissions[0]["product"]["entityId"],
                                                                 dealer_biz_id=
                                                                 permissions[0]["businessDealer"]["dealer"]["id"])

        self.assertIsInstance(result, dict, msg="enable dealer product permission : check instance")
        self.assertEqual(result["enable"], True, msg="enable dealer product permission : check status")

    def test_19_enable_dealer_product_permission_required_params(self):
        with self.assertRaises(TypeError, msg="enable dealer product permission : required params"):
            self.__dealing.enable_dealer_product_permission()

    def test_19_enable_dealer_product_permission_validation_error(self):
        with self.assertRaises(InvalidDataException, msg="enable dealer product permission : validation error"):
            self.__dealing.enable_dealer_product_permission(product_id="abcd", dealer_biz_id="biz id")

    def test_20_disable_dealer_product_permission(self):
        permissions = self.__dealing.dealer_product_permission_list()
        if len(permissions) == 0:
            return

        result = self.__dealing.disable_dealer_product_permission(product_id=permissions[0]["product"]["entityId"],
                                                                  dealer_biz_id=
                                                                  permissions[0]["businessDealer"]["dealer"]["id"])

        self.assertIsInstance(result, dict, msg="disable dealer product permission : check instance")
        self.assertEqual(result["enable"], False, msg="disable dealer product permission : check status")

    def test_20_disable_dealer_product_permission_required_params(self):
        with self.assertRaises(TypeError, msg="disable dealer product permission : required params"):
            self.__dealing.disable_dealer_product_permission()

    def test_20_disable_dealer_product_permission_validation_error(self):
        with self.assertRaises(InvalidDataException, msg="disable dealer product permission : validation error"):
            self.__dealing.disable_dealer_product_permission(product_id="abcd", dealer_biz_id="biz id")
# coding=utf-8
from __future__ import unicode_literals
from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing

try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
    print(
        pod_dealing.user_business_infos(business_ids=[9371],
                                        sc_api_key=SC_API_KEY,
                                        sc_voucher_hash=SC_VOUCHER_HASH))
    # OUTPUT
    # [
    #  {
    #   'id': 9371,
    #   'name': 'رضا استور شماره 7',
    #   'subscriptionCount': 7,
    #   'subscribed': False,
    #   'rate': {
    #       'rate': 0.0,
    #       'rateCount': 0
    #   },
    #   'favorite': False
    #   },
    # ...
    # ]
except APIException as e:
    print("API Exception\nError {}\nReference Number : {}".format(
        e.message, e.reference_number))
except PodException as e:
# coding=utf-8
from __future__ import unicode_literals
from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing

try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
    print(
        pod_dealing.enable_dealer(dealer_biz_id=8821,
                                  sc_api_key=SC_API_KEY,
                                  sc_voucher_hash=SC_VOUCHER_HASH))
    # OUTPUT
    # {
    #   "business": {
    #     "id": 7867,
    #     "name": "شرکت رضا",
    #     "numOfProducts": 369,
    #     "rate": {
    #       "rate": 8,
    #       "rateCount": 1
    #     },
    #     "sheba": "640170000000000000000007"
    #   },
    #   "dealer": {
    #     "id": 8821,
    #     "name": "خدمات رفاهی آوند",
    #     "image": "https://core.pod.ir:443/nzh/image/?imageId=...",
    #     "numOfProducts": 3,
    #     "rate": {
    #       "rate": 0,
# coding=utf-8
from __future__ import unicode_literals
from pod_base import APIException, PodException
from examples.config import *
from pod_dealing import PodDealing

try:
    pod_dealing = PodDealing(api_token=API_TOKEN, server_type=SERVER_MODE)
    print(
        pod_dealing.add_dealer(dealer_biz_id=12006,
                               all_product_allow=False,
                               sc_api_key=SC_API_KEY,
                               sc_voucher_hash=SC_VOUCHER_HASH))

    # OUTPUT
    # {
    #     "business": {
    #       "id": 7867,
    #       "name": "شرکت رضا",
    #       "numOfProducts": 369,
    #       "rate": {
    #         "rate": 8,
    #         "rateCount": 1
    #       },
    #       "sheba": "640170000000000000002007"
    #     },
    #     "dealer": {
    #       "id": 12006,
    #       "name": "Fanap",
    #       "image": "https://core.pod.ir:443/nzh/image/?imageId=...",
    #       "numOfProducts": 3,