Esempio n. 1
0
class getMerchList(unittest.TestCase):

    UserShop = eData('TmlShop')
    DealMgr = eData('DealMager')
    Merch1 = eData('Merch1')
    Merch2 = eData('Merch2')

    # S1.获取所有商品列表
    def test_getMerchList_all(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        allMerchList = ws.getMerchList(rows='99999')
        self.assertEqual(allMerchList.model['success'], '0')
        #numMerchList = select_int('select count(*) from dl_goods.dl_goods_area_buyer_type where area_code = \'CHNP035C345D2998\' and buyer_type = \'S011\'')
        #self.assertEqual(len(allMerchList.model['merchList']), numMerchList)
        flag = False
        for i in range(0,len(allMerchList.model['merchList'])):
            if allMerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

    # S2.根据商品名搜索商品列表——错误 #5244  暂不修改
    def test_getMerchList_searchName(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getMerchList(merchName=self.Merch1.fullName.encode('utf-8'),rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

    # S3.根据类目筛选商品
    def test_getMerchList_filterCategory(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        # 筛选白酒
        MerchList1 = ws.getMerchList(merchCategoryCode='C01L0101',rows='999')
        self.assertEqual(MerchList1.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList1.model['merchList'])):
            if MerchList1.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

        # 筛选葡萄酒
        MerchList2 = ws.getMerchList(merchCategoryCode='C01L0102',rows='999')
        self.assertEqual(MerchList2.model['success'], '0')
        for i in range(0,len(MerchList2.model['merchList'])):
            if MerchList2.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not wine, but can find it.')

        # 筛选洋酒
        MerchList3 = ws.getMerchList(merchCategoryCode='C01L0103',rows='999')
        self.assertEqual(MerchList3.model['success'], '0')
        for i in range(0,len(MerchList3.model['merchList'])):
            if MerchList3.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not foreign wine, but can find it.')

        # 筛选啤酒
        MerchList4 = ws.getMerchList(merchCategoryCode='C01L0104',rows='999')
        self.assertEqual(MerchList4.model['success'], '0')
        for i in range(0,len(MerchList4.model['merchList'])):
            if MerchList4.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not beer, but can find it.')

        # 筛选其他饮品
        MerchList = ws.getMerchList(merchCategoryCode='C01X0101',rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not drink, but can find it.')

    # S4.筛选茶类茶种
    def test_getMerchList_filterTea(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        # 筛选茶
        MerchList = ws.getMerchList(merchCategoryCode='C01T01',rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')

        # 筛选绿茶——merch为红茶,故判断找不到
        MerchList = ws.getMerchList(merchCategoryCode='C01T0101',rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch2.fullName + ' is red tea, but can find it in green tea.')

        # 筛选红茶
        MerchList = ws.getMerchList(merchCategoryCode='C01T0102',rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found.')


    # S5.筛选商品属性
    def test_getMerchList_filterProperty(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)

        # 筛选白酒香型
        MerchList = ws.getMerchList(merchPropertyValueCodeList=["PL20103_split_PL20103V01_split_酱香型"],rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

        # 筛选茶种——祁门红茶
        MerchList = ws.getMerchList(merchCategoryCode="C01T0102",merchPropertyValueCodeList=["PT20201_split_PT20201V01_split_祁门红茶"],rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')


    # S6.筛选商品品牌
    def test_getMerchList_brand(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        # 筛选白酒品牌
        MerchList = ws.getMerchList(merchBrandId="B00003",rows='999')
        flag = False
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = False
                break
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

        # 筛选茶品牌
        MerchList = ws.getMerchList(merchBrandId=self.Merch2.brandId,rows='999')
        flag = False
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
                break
        self.assertEqual(flag, True, self.Merch2.fullName.encode('utf-8') + ' is not found')

    # S7.根据卖家ID筛选
    def test_getMerchList_sellerId(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getMerchList(sellerId=self.DealMgr.companyId,rows='999')
        flag = False
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')


    # S8.筛选价格区间_商品1在价格区间,商品2不在
    def test_getMerchList_priceRange(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getMerchList(lowPrice="11900",highPrice="12100",rows='999')
        flag = False
        # 商品1在价格区间
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

        # 商品2不在价格区间
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')

    # S9.筛选价格上限
    def test_getMerchList_priceLimitUpper(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getMerchList(highPrice="12100",rows='999')
        flag = False
        # 商品1在价格区间
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName.encode('utf-8') + ' is not found')

        # 商品2不在价格区间
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')

    # S10.筛选价格下限
    def test_getMerchList_priceLimitLower(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getMerchList(lowPrice="99900",rows='999')
        flag = False
        # 商品2在价格区间
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')

        # 商品1不在价格区间
        for i in range(0,len(MerchList.model['merchList'])):
            if MerchList.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')


    # S11.商品列表排序
    def test_getMerchList_sort(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)

        # 名称升序排列
        MerchListNameAsc = ws.getMerchList(sellerId=self.DealMgr.companyId,sortField="0",sortType="0",rows='999')
        self.assertEqual(MerchListNameAsc.model['merchList'][0]['merchName'].encode('utf-8'),self.Merch1.fullName)
        self.assertEqual(MerchListNameAsc.model['merchList'][1]['merchName'].encode('utf-8'),self.Merch2.fullName)

        # 名称降序排列
        MerchListNameDesc = ws.getMerchList(sellerId=self.DealMgr.companyId,sortField="0",sortType="1",rows='999')
        self.assertEqual(MerchListNameDesc.model['merchList'][0]['merchName'].encode('utf-8'),self.Merch2.fullName)
        self.assertEqual(MerchListNameDesc.model['merchList'][1]['merchName'].encode('utf-8'),self.Merch1.fullName)

        # 价格升序排列
        MerchListPriceAsc = ws.getMerchList(sellerId=self.DealMgr.companyId,sortField="1",sortType="0",rows='999')
        self.assertEqual(MerchListPriceAsc.model['merchList'][0]['merchName'].encode('utf-8'),self.Merch1.fullName)
        self.assertEqual(MerchListPriceAsc.model['merchList'][1]['merchName'].encode('utf-8'),self.Merch2.fullName)

        # 价格降序排列
        MerchListPriceDesc = ws.getMerchList(sellerId=self.DealMgr.companyId,sortField="1",sortType="1",rows='999')
        self.assertEqual(MerchListPriceDesc.model['merchList'][0]['merchName'].encode('utf-8'),self.Merch2.fullName)
        self.assertEqual(MerchListPriceDesc.model['merchList'][1]['merchName'].encode('utf-8'),self.Merch1.fullName)


    # S12.商品分页——判断商品数量是否正确,判断商品是否有重复
    def test_getMerchList_page(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        allMerchList = ws.getMerchList(rows='999')
        numMerch = len(allMerchList.model['merchList'])

        time = 0
        for r in range(1,numMerch/15+2):
            MerchListPage = ws.getMerchList(page=r)
            # 判断商品1是否存在,如果存在time +1
            for i in range(0,len(MerchListPage.model['merchList'])):
                if MerchListPage.model['merchList'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                    time+=1
            if r == numMerch/15+1:
                self.assertEqual(len(MerchListPage.model['merchList']),numMerch%15,"The last page is wrong")
            else:
                self.assertEqual(len(MerchListPage.model['merchList']),15,"Every page is wrong")

        self.assertEqual(time,1,self.Merch1.fullName+" is not once.")


    # S13.没有商品时返回为空
    def test_getMerchList_null(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getMerchList(merchName="NotExist")
        self.assertEqual(MerchList.model['merchList'],[],"The merch list is not null.")
Esempio n. 2
0
class delShoppingcartByProductIds(unittest.TestCase):

    UserShop = eData('TmlShop')
    UserShop2 = eData('TmlShop2')
    Merch1 = eData('Merch1')
    Merch2 = eData('Merch2')
    Merch4 = eData('Merch4')

    def setUp(self):
        update(
            'delete from danlu_cd_database.dl_shoppingcart where user_id = ?',
            self.UserShop.userId)

    # S1.删除购物车中商品
    def test_delShoppingcartByProductIds_one(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = ws.toShoppingcart()
        shopcartId = shopcart.model['sellerList'][0]['merchList'][0]['id']
        delMerch = ws.delShoppingcartByProductIds(
            delList=[{
                "shoppingCartId": shopcartId,
                "merchId": self.Merch1.goodsId
            }])
        self.assertEqual(delMerch.model['success'], '0')
        shopNum = select_int(
            'select count(*) from danlu_cd_database.dl_shoppingcart where user_id = ?',
            self.UserShop.userId)
        self.assertEqual(shopNum, 0)

    # S2.删除多个购物车中商品
    def test_delShoppingcartByProductIds_many(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        ws.addShoppingcar(merchId=self.Merch2.goodsId,
                          merchCount='1',
                          sellerId=self.Merch2.seller_store_id,
                          sellerName=self.Merch2.sellerName)
        #ws.addShoppingcar(merchId=self.Merch4.goodsId, merchCount='1', sellerId=self.Merch4.seller_store_id, sellerName=self.Merch4.sellerName)
        shopcart = ws.toShoppingcart()
        shopcartId1 = None
        shopcartId2 = None
        if shopcart.model['sellerList'][0]['merchList'][0][
                'merchId'] == self.Merch1.goodsId:
            shopcartId1 = shopcart.model['sellerList'][0]['merchList'][0]['id']
            shopcartId2 = shopcart.model['sellerList'][0]['merchList'][1]['id']
        elif shopcart.model['sellerList'][0]['merchList'][0][
                'merchId'] == self.Merch2.goodsId:
            shopcartId1 = shopcart.model['sellerList'][0]['merchList'][1]['id']
            shopcartId2 = shopcart.model['sellerList'][0]['merchList'][0]['id']
        list1 = {"shoppingCartId": shopcartId1, "merchId": self.Merch1.goodsId}
        list2 = {"shoppingCartId": shopcartId2, "merchId": self.Merch2.goodsId}
        delMerch = ws.delShoppingcartByProductIds(delList=[list1, list2])
        self.assertEqual(delMerch.model['success'], '0')
        shopNum = select_int(
            'select count(*) from danlu_cd_database.dl_shoppingcart where user_id = ?',
            self.UserShop.userId)
        self.assertEqual(shopNum, 0)

    # S3.删除其他用户的购物车——错误 #5423
    def test_delShoppingcartByProductIds_other(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = ws.toShoppingcart()
        shopcartId = shopcart.model['sellerList'][0]['merchList'][0]['id']
        ws.login(self.UserShop2.username, self.UserShop2.password)
        delMerch = ws.delShoppingcartByProductIds(
            delList=[{
                "shoppingCartId": shopcartId,
                "merchId": self.Merch1.goodsId
            }])
        self.assertEqual(delMerch.model['success'], '1')

    # S4.删除不存在的购物车
    def test_delShoppingcartByProductIds_notExist(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        delMerch = ws.delShoppingcartByProductIds(
            delList=[{
                "shoppingCartId": 'NotExist',
                "merchId": 'NotExist'
            }])
        self.assertEqual(delMerch.model['success'], '1')

    # S5.删除购物车时购物车ID和商品ID不匹配——错误 #5427 不做修改
    # def test_delShoppingcartByProductIds_notMatch(self):
    #     ws = webservice()
    #     ws.login(self.UserShop.username, self.UserShop.password)
    #     ws.addShoppingcar(merchId=self.Merch1.goodsId, merchCount='1', sellerId=self.Merch1.seller_store_id, sellerName=self.Merch1.sellerName)
    #     shopcart = ws.toShoppingcart()
    #     shopcartId = shopcart.model['sellerList'][0]['merchList'][0]['id']
    #     delMerch = ws.delShoppingcartByProductIds(delList=[{"shoppingCartId":shopcartId,"merchId":self.Merch2.goodsId}])
    #     self.assertEqual(delMerch.model['success'], '1')

    def tearDown(self):
        update(
            'delete from danlu_cd_database.dl_shoppingcart where user_id = ?',
            self.UserShop.userId)
Esempio n. 3
0
class deliverChangePrice(unittest.TestCase):
    UserShop = eData('TmlShop')
    UserShop2 = eData('TmlShop2')
    Merch1 = eData('Merch1')

    #货到付款订单减价
    def test_ReduceChangeOrderPrice_cashondelivery(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        # 货到付款订单减价调用接口
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)
        self.assertEquals(ChangePriceRst.code, 200)
        self.assertEquals(ChangePriceRst.model['success'], '0')

        # 检验订单减价后是否修改成功
        RstDb1 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        self.assertEquals(RstDb1.order_amount, RstDb.order_retail_amount - 100)
        update(
            'update dlorder.dl_order_orderinfo set order_amount = ? where order_no = ?',
            RstDb.order_retail_amount, self.UserShop.orderNo)

    #货到付款订单加价
    def test_AddChangeOrderPrice_cashondelivery(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        # 货到付款订单加价调用接口
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop.orderNo,
            orderDiscountAmount='-100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) + 100),
            orderStatus=RstDb.order_status)
        self.assertEquals(ChangePriceRst.code, 200)
        self.assertEquals(ChangePriceRst.model['success'], '0')

        # 检验订单加价后是否修改成功
        RstDb1 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        self.assertEquals(RstDb1.order_amount, RstDb.order_retail_amount + 100)
        update(
            'update dlorder.dl_order_orderinfo set order_amount = ? where order_no = ?',
            RstDb.order_retail_amount, self.UserShop.orderNo)

    #货到付款订单改价(减价后再加价)
    def test_changeOrderPrice_cashondelivery(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        # 货到付款订单减价调用接口
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)
        self.assertEquals(ChangePriceRst.code, 200)
        self.assertEquals(ChangePriceRst.model['success'], '0')

        # 检验订单减价后是否修改成功
        RstDb1 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        self.assertEquals(RstDb1.order_amount, RstDb.order_retail_amount - 100)

        #货到付款订单加价
        ChangePriceRst1 = ws.changeOrderPrice(
            orderNo=self.UserShop.orderNo,
            orderDiscountAmount='-200',
            orderChangeAmount=str(RstDb1.order_retail_amount + 200),
            orderStatus=RstDb1.order_status)

        self.assertEquals(ChangePriceRst1.code, 200)
        self.assertEquals(ChangePriceRst1.model['success'], '0')

        #检验订单加价
        RstDb2 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        self.assertEquals(RstDb2.order_amount, RstDb.order_amount + 200)
        update(
            'update dlorder.dl_order_orderinfo set order_amount = ? where order_no = ?',
            RstDb.order_retail_amount, self.UserShop.orderNo)

    #货到付款(已完成)订单改价
    def test_AlreadypaidChangeOrderPrice_cashondelivery(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)

        # 从数据库中修改订单状态为已完成(C019)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C019', self.UserShop.orderNo)
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)

        #校验已完成的订单改价失败
        self.assertEquals(ChangePriceRst.model['success'], '1')
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C020', self.UserShop.orderNo)

    #货到付款(已取消)订单改价
    def test_AlreadCancelChangeOrderPrice_cashondelivery(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)

        # 从数据库中修改订单状态为已取消(C012)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C012', self.UserShop.orderNo)
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)

        #校验已取消的订单改价失败
        self.assertEquals(ChangePriceRst.model['success'], '1')
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C020', self.UserShop.orderNo)

    #货到付款订单减价后恢复原价
    def test_RestoreOriginalPrice_cashondelivery(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        # 货到付款订单减价调用接口
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)
        self.assertEquals(ChangePriceRst.code, 200)
        self.assertEquals(ChangePriceRst.model['success'], '0')

        # 检验订单减价后是否修改成功
        RstDb1 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        self.assertEquals(RstDb1.order_amount, RstDb.order_retail_amount - 100)

        #减价后恢复原价
        ChangePriceRst1 = ws.changeOrderPrice(orderNo=self.UserShop.orderNo,
                                              orderDiscountAmount='0',
                                              orderChangeAmount=str(
                                                  RstDb1.order_retail_amount),
                                              orderStatus=RstDb1.order_status)
        self.assertEquals(ChangePriceRst1.code, 200)
        self.assertEquals(ChangePriceRst1.model['success'], '0')
        #检验是否恢复原价
        RstDb2 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop.orderNo)
        self.assertEquals(RstDb2.order_amount, RstDb.order_amount)

    #在线支付(未付款)订单减价
    def test_ReduceChangeOrderPrice_Onlinepayment(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        # 在线支付订单减价调用接口
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop2.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)
        self.assertEquals(ChangePriceRst.code, 200)
        self.assertEquals(ChangePriceRst.model['success'], '0')

        # 检验订单减价后是否修改成功
        RstDb1 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        self.assertEquals(RstDb1.order_amount, RstDb.order_retail_amount - 100)
        update(
            'update dlorder.dl_order_orderinfo set order_amount = ? where order_no = ?',
            RstDb.order_retail_amount, self.UserShop2.orderNo)

    #在线支付(未付款)订单加价
    def test_AddChangeOrderPrice_Onlinepayment(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C011', self.UserShop2.orderNo)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        # 在线支付订单加价调用接口
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop2.orderNo,
            orderDiscountAmount='-100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) + 100),
            orderStatus=RstDb.order_status)
        self.assertEquals(ChangePriceRst.code, 200)
        self.assertEquals(ChangePriceRst.model['success'], '0')

        # 检验订单加价后是否修改成功
        RstDb1 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        self.assertEquals(RstDb1.order_amount, RstDb.order_retail_amount + 100)
        update(
            'update dlorder.dl_order_orderinfo set order_amount = ? where order_no = ?',
            RstDb.order_retail_amount, self.UserShop2.orderNo)

    #在线支付(未付款)订单改价(减价后再加价)
    def test_changeOrderPrice_Onlinepayment(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C011', self.UserShop2.orderNo)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        # 在线支付订单减价调用接口
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop2.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)
        self.assertEquals(ChangePriceRst.code, 200)
        self.assertEquals(ChangePriceRst.model['success'], '0')

        # 检验订单减价后是否修改成功
        RstDb1 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        self.assertEquals(RstDb1.order_amount, RstDb.order_retail_amount - 100)

        # 在线支付订单加价
        ChangePriceRst1 = ws.changeOrderPrice(
            orderNo=self.UserShop2.orderNo,
            orderDiscountAmount='-200',
            orderChangeAmount=str(RstDb1.order_retail_amount + 200),
            orderStatus=RstDb1.order_status)

        self.assertEquals(ChangePriceRst1.code, 200)
        self.assertEquals(ChangePriceRst1.model['success'], '0')

        # 检验订单加价
        RstDb2 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        self.assertEquals(RstDb2.order_amount, RstDb.order_amount + 200)
        update(
            'update dlorder.dl_order_orderinfo set order_amount = ? where order_no = ?',
            RstDb.order_retail_amount, self.UserShop2.orderNo)

    #在线支付(交易已完成)订单改价
    def test_AlreadypaidChangeOrderPrice_Onlinepayment(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C011', self.UserShop2.orderNo)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)

        # 从数据库中修改订单状态为已付款(C019)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C019', self.UserShop2.orderNo)
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop2.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)

        # 校验已完成的订单改价失败
        self.assertEquals(ChangePriceRst.model['success'], '1')
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C011', self.UserShop2.orderNo)

    #在线支付(待发货)订单改价
    def test_DeliverGoodsChangeOrderPrice_Onlinepayment(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)

        # 从数据库中修改订单状态为待发货(C020)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C020', self.UserShop2.orderNo)
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop2.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)

        # 校验待发货的订单改价失败
        self.assertEquals(ChangePriceRst.model['success'], '1')
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C011', self.UserShop2.orderNo)

    #在线支付(待收货)订单改价
    def test_ReceivedGoodsChangeOrderPrice_Onlinepayment(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)

        # 从数据库中修改订单状态为待收货(C017)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C017', self.UserShop2.orderNo)
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop2.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)

        # 校验待收货的订单改价失败
        self.assertEquals(ChangePriceRst.model['success'], '1')
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C011', self.UserShop2.orderNo)

    #在线支付(已取消)订单改价
    def test_AlreadCancelChangeOrderPrice_Onlinepayment(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)

        # 从数据库中修改订单状态为已取消(C012)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C012', self.UserShop2.orderNo)
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop2.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)

        # 校验已取消的订单改价失败
        self.assertEquals(ChangePriceRst.model['success'], '1')
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C011', self.UserShop2.orderNo)

    #在线支付(未付款)减价后恢复原价
    def test_RestoreOriginalPrice_Onlinepayment(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        update(
            'update dlorder.dl_order_orderinfo set order_status = ? where order_no = ?',
            'C011', self.UserShop2.orderNo)
        RstDb = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        # 在线支付订单减价调用接口
        ChangePriceRst = ws.changeOrderPrice(
            orderNo=self.UserShop2.orderNo,
            orderDiscountAmount='100',
            orderChangeAmount=str(int(RstDb.order_retail_amount) - 100),
            orderStatus=RstDb.order_status)
        self.assertEquals(ChangePriceRst.code, 200)
        self.assertEquals(ChangePriceRst.model['success'], '0')

        # 检验订单减价后是否修改成功
        RstDb1 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        self.assertEquals(RstDb1.order_amount, RstDb.order_retail_amount - 100)

        # 减价后恢复原价
        ChangePriceRst1 = ws.changeOrderPrice(orderNo=self.UserShop2.orderNo,
                                              orderDiscountAmount='0',
                                              orderChangeAmount=str(
                                                  RstDb1.order_retail_amount),
                                              orderStatus=RstDb1.order_status)
        self.assertEquals(ChangePriceRst1.code, 200)
        self.assertEquals(ChangePriceRst1.model['success'], '0')
        # 检验是否恢复原价
        RstDb2 = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            self.UserShop2.orderNo)
        self.assertEquals(RstDb2.order_amount, RstDb.order_amount)
Esempio n. 4
0
class toChangeOrderPricePage(unittest.TestCase):
    UserShop = eData('TmlShop')
    UserShop2 = eData('TmlShop2')
    Merch1 = eData('Merch1')

    # 获取已经存在的订单页面展示信息
    def test_getChangeOrderPricePage_exist(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = Shoppingcart.find_first(
            'where user_id = ? and goods_id = ?', self.UserShop.userId,
            self.Merch1.goodsId)
        invoice = {
            "invoiceId": self.UserShop.invoiceId,
            "invoiceType": "N011",
            "needInvoice": "0",
            "invoiceHeader": self.UserShop.invoiceHeader
        }
        deliverAddress = {
            "deliverAddress": self.UserShop.deliverAddress,
            "deliverMobile": self.UserShop.deliverMobile,
            "deliverPerson": self.UserShop.deliverPerson
        }
        sellerList = []
        sellerList.append({
            "sellerId":
            self.Merch1.shopcartSellerId,
            "sellerName":
            self.Merch1.sellerName,
            "isYijipayAccount":
            self.Merch1.isYijipayAccount,
            "codFlag":
            self.Merch1.codFlag,
            "supportVatInvoice":
            self.Merch1.supportVatInvoice,
            "comment":
            "createOrderByShoppingcart comment.",
            "merchList": [{
                "id": shopcart.id,
                "merchId": self.Merch1.goodsId,
                "merchBarCode": self.Merch1.productBarCode
            }]
        })
        order = ws.createOrderByShoppingcart(payWay='2',
                                             invoice=invoice,
                                             deliverAddress=deliverAddress,
                                             sellerList=sellerList)
        OrderPricePageRst = ws.getChangeOrderPricePage(
            orderNo=order.model['createOrderInfoModel']
            ['cashOnDeliveryModelList'][0]['orderNo'])
        self.assertEqual(OrderPricePageRst.code, 200)
        self.assertEquals(OrderPricePageRst.model["success"], '0')
        self.assertEquals(OrderPricePageRst.model["orderMessage"]["buyerName"],
                          self.UserShop.fullName)
        self.assertEquals(
            OrderPricePageRst.model["orderMessage"]["orderStatus"], 'C020')

    #获取其他账户的订单信息——bug#
    def test_getChangeOrderPricePage_OtherUser(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        OrderPricePageRst = ws.getChangeOrderPricePage(
            orderNo=self.UserShop2.orderNo)
        self.assertEqual(OrderPricePageRst.code, 200)
        self.assertEquals(OrderPricePageRst.model["success"], '0')

    #获取不存在的订单页面信息
    def test_getChangeOrderPricePage_notexist(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        OrderPricePageRst = ws.getChangeOrderPricePage(orderNo='123456789')
        self.assertEqual(OrderPricePageRst.code, 500)

    def tearDown(self):
        update(
            'update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?',
            self.Merch1.onHandInventory, self.Merch1.goodsId)
Esempio n. 5
0
class deliver(unittest.TestCase):
    UserShop = eData('TmlShop')
    UserShop2 = eData('TmlShop2')
    DealMgr = eData('DealMager')
    DealMgr2 = eData('DealMager2')
    DealSaler = eData('DealSaler')
    DealBuyer = eData('DealBuyer')
    UserDealSed = eData('DealSeder')
    UserDealFin = eData('DealFiner')
    Merch1 = eData('Merch1')

    # S1.货到付款订单发货
    def test_deliver_cod(self):
        order = createOrder(self.UserShop, self.Merch1)
        ws = webservice()
        ws.login(self.DealMgr.username, self.DealMgr.password)
        deliverOrder = ws.deliver(orderNo=order.orderNo)
        self.assertEqual(deliverOrder.model['success'], '0')

    # S2.在线支付订单发货

    # S3.重复发货
    def test_deliver_codAgain(self):
        order = createOrder(self.UserShop, self.Merch1)
        ws = webservice()
        ws.login(self.DealMgr.username, self.DealMgr.password)
        deliverOrder = ws.deliver(orderNo=order.orderNo)
        self.assertEqual(deliverOrder.model['success'], '0')
        deliverOrderAgain = ws.deliver(orderNo=order.orderNo)
        self.assertEqual(deliverOrderAgain.model['success'], '1')

    # S4.发不存在的订单
    def test_deliver_notExist(self):
        ws = webservice()
        ws.login(self.DealMgr.username, self.DealMgr.password)
        deliverOrder = ws.deliver(orderNo='12345678901234')
        self.assertEqual(deliverOrder.code, 500)

    # S5.发其他用户的订单
    def test_deliver_other(self):
        ws = webservice()
        ws.login(self.DealMgr2.username, self.DealMgr2.password)
        deliverOrder = ws.deliver(
            orderNo=self.UserShop.orderCodWaitDeliver.orderNo)
        self.assertEqual(deliverOrder.model['success'], '1')

    # S6.token错误或不存在发货
    def test_deliver_token(self):
        order = createOrder(self.UserShop, self.Merch1)
        ws = webservice()
        ws.login(self.DealMgr2.username, self.DealMgr2.password)
        deliverOrder = ws.deliver(orderNo=order.orderNo, token='null')
        self.assertEqual(deliverOrder.code, 600)
        deliverOrder = ws.deliver(orderNo=order.orderNo, token='ErrorToken')
        self.assertEqual(deliverOrder.code, 100)

    # S7.销售员发货
    def test_deliver_saler(self):
        order = createOrder(self.UserShop, self.Merch1)
        ws = webservice()
        ws.login(self.DealSaler.username, self.DealSaler.password)
        deliverOrder = ws.deliver(orderNo=order.orderNo)
        self.assertEqual(deliverOrder.model['success'], '0')

    # S8.无权限用户发货
    def test_deliver_noRight(self):
        ws = webservice()
        ws.login(self.DealBuyer.username, self.DealBuyer.password)
        deliverOrder = ws.deliver(
            orderNo=self.UserShop.orderCodWaitDeliver.orderNo)
        self.assertEqual(deliverOrder.code, 300)
        ws.login(self.UserDealSed.username, self.UserDealSed.password)
        deliverOrder = ws.deliver(
            orderNo=self.UserShop.orderCodWaitDeliver.orderNo)
        self.assertEqual(deliverOrder.code, 300)
        ws.login(self.UserDealFin.username, self.UserDealFin.password)
        deliverOrder = ws.deliver(
            orderNo=self.UserShop.orderCodWaitDeliver.orderNo)
        self.assertEqual(deliverOrder.code, 300)

    # S9.不在待发货状态订单发货
    def test_deliver_errorStatus(self):
        #对待付款订单发货
        ws = webservice()
        ws.login(self.DealMgr.username, self.DealMgr.password)
        deliverOrder = ws.deliver(
            orderNo=self.UserShop.orderOnlineWaitPay.orderNo)
        self.assertEqual(deliverOrder.model['success'], '1')

        #对交易完成订单发货
        deliverOrder = ws.deliver(
            orderNo=self.UserShop.orderCodComplete.orderNo)
        self.assertEqual(deliverOrder.model['success'], '1')
Esempio n. 6
0
class getSellerOrderList(unittest.TestCase):
    UserShop = eData('TmlShop')
    DealMgr = eData('DealMager')
    DealMgr2 = eData('DealMager2')
    Merch1 = eData('Merch1')
    DealSaler = eData('DealSaler')
    DealBuyer = eData('DealBuyer')

    wsDealMager = webservice()
    wsDealMager.login(DealMgr.username, DealMgr.password)
    wsDealMager2 = webservice()
    wsDealMager2.login(DealMgr2.username, DealMgr2.password)
    wsDealSaler = webservice()
    wsDealSaler.login(DealSaler.username, DealSaler.password)
    wsDealBuyer = webservice()
    wsDealBuyer.login(DealBuyer.username, DealBuyer.password)
    wsTmlShop = webservice()
    wsTmlShop.login(UserShop.username, UserShop.password)

    # S1.经销商管理员获取经销商卖家全部订单
    def test_getSellerOrderList_all(self):
        sellerOrderList = self.wsDealMager.getSellerOrderList(orderStatus='0',
                                                              page=1,
                                                              rows=999999)
        self.assertEqual(sellerOrderList.model['success'], '0')
        orderCount = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_seller_detail where seller_id = ?)',
            self.DealMgr.companyId)
        self.assertEqual(len(sellerOrderList.model['paymentOrderList']),
                         orderCount)
        self.assertOrderList(sellerOrderList,
                             self.UserShop.orderCodWaitDeliver, self.Merch1)

    # S2.订单数量为空时获取订单列表
    def test_getSellerOrderList_null(self):
        sellerOrderList = self.wsDealMager2.getSellerOrderList(
            orderStatus='C011', page=1, rows=999999, endTime='1900-01-01')
        self.assertEqual(sellerOrderList.model['success'], '0')
        self.assertEqual(sellerOrderList.model['paymentOrderList'], [])

    # S3.获取待付款订单列表(C011)
    def test_getSellerOrderList_waitPay(self):
        sellerOrderList = self.wsDealMager.getSellerOrderList(
            orderStatus='C011', page=1, rows=999999)
        self.assertEqual(sellerOrderList.model['success'], '0')
        orderCount = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_seller_detail where seller_id = ?) and order_status = ?',
            self.DealMgr.companyId, 'C011')
        self.assertEqual(len(sellerOrderList.model['paymentOrderList']),
                         orderCount)
        self.assertOrderList(sellerOrderList,
                             self.UserShop.orderOnlineWaitPay,
                             self.Merch1,
                             payType='1',
                             paymentOrderButtomList='00010',
                             buttomList='0000001')

    # S4.获取待发货订单列表(C020)
    def test_getSellerOrderList_waitDeliver(self):
        sellerOrderList = self.wsDealMager.getSellerOrderList(
            orderStatus='C020', page=1, rows=999999)
        self.assertEqual(sellerOrderList.model['success'], '0')
        orderCount = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_seller_detail where seller_id = ?) and order_status = ?',
            self.DealMgr.companyId, 'C020')
        self.assertEqual(len(sellerOrderList.model['paymentOrderList']),
                         orderCount)
        self.assertOrderList(sellerOrderList,
                             self.UserShop.orderCodWaitDeliver, self.Merch1)

    # S5.获取待收货订单列表(C017)
    def test_getSellerOrderList_waitReceive(self):
        sellerOrderList = self.wsDealMager.getSellerOrderList(
            orderStatus='C017', page=1, rows=999999)
        self.assertEqual(sellerOrderList.model['success'], '0')
        orderCount = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_seller_detail where seller_id = ?) and order_status = ?',
            self.DealMgr.companyId, 'C017')
        self.assertEqual(len(sellerOrderList.model['paymentOrderList']),
                         orderCount)
        self.assertOrderList(sellerOrderList,
                             self.UserShop.orderCodWaitReceive,
                             self.Merch1,
                             paymentOrderButtomList='00030',
                             buttomList='0000001')

    # S6.获取货到付款交易完成订单列表(C019)
    def test_getSellerOrderList_complete(self):
        sellerOrderList = self.wsDealMager.getSellerOrderList(
            orderStatus='C019', page=1, rows=999999)
        self.assertEqual(sellerOrderList.model['success'], '0')
        orderCount = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_seller_detail where seller_id = ?) and order_status = ?',
            self.DealMgr.companyId, 'C019')
        self.assertEqual(len(sellerOrderList.model['paymentOrderList']),
                         orderCount)
        self.assertOrderList(sellerOrderList,
                             self.UserShop.orderCodComplete,
                             self.Merch1,
                             payWay='01',
                             receiveStatus='1',
                             buttomList='0000000')

    # S7.获取货到付款交易取消订单列表(C012)
    def test_getSellerOrderList_cancel(self):
        sellerOrderList = self.wsDealMager.getSellerOrderList(
            orderStatus='C012', page=1, rows=999999)
        self.assertEqual(sellerOrderList.model['success'], '0')
        orderCount = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_seller_detail where seller_id = ?) and order_status = ?',
            self.DealMgr.companyId, 'C012')
        self.assertEqual(len(sellerOrderList.model['paymentOrderList']),
                         orderCount)
        self.assertOrderList(sellerOrderList,
                             self.UserShop.orderOnlienCancel,
                             self.Merch1,
                             paymentOrderButtomList='00000',
                             buttomList='0000000',
                             payType='1')
        self.assertOrderList(sellerOrderList,
                             self.UserShop.orderCodCancel,
                             self.Merch1,
                             paymentOrderButtomList='00000',
                             buttomList='0000000')

    # S11.根据时间查询订单列表
    def test_getSellerOrderList_time(self):
        import datetime
        nowtime = datetime.datetime.now().strftime("%Y-%m-%d")
        sellerOrderList = self.wsDealMager.getSellerOrderList(
            orderStatus='0', startTime=nowtime, endTime=nowtime, rows=9999)
        self.assertEqual(sellerOrderList.model['success'], '0')
        for i in range(0, len(sellerOrderList.model['paymentOrderList'])):
            self.assertIn(
                nowtime,
                sellerOrderList.model['paymentOrderList'][i]['placeOrderTime'])

    # S12.分页查询订单列表
    def test_getSellerOrderList_page(self):
        orderCount = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_seller_detail where seller_id = ?)',
            self.DealMgr.companyId)
        page = orderCount / 15
        flag = 0
        for i in range(1, page + 2):
            sellerOrderList = self.wsDealMager.getSellerOrderList(
                orderStatus='0', page=i, rows=15)
            for j in range(0, len(sellerOrderList.model['paymentOrderList'])):
                if sellerOrderList.model['paymentOrderList'][j][
                        'paymentNo'] == self.UserShop.orderCodWaitDeliver.paymentNo:
                    flag += 1
            if i == page + 1:
                self.assertEqual(
                    len(sellerOrderList.model['paymentOrderList']),
                    orderCount % 15, "The last page is wrong")
            else:
                self.assertEqual(
                    len(sellerOrderList.model['paymentOrderList']), 15,
                    "Every page is wrong")

        self.assertEqual(
            flag, 1,
            self.UserShop.orderCodWaitDeliver.paymentNo + ' is not once ')

    # S13.终端店获取卖家全部订单
    def test_getSellerOrderList_shop(self):
        sellerOrderList = self.wsTmlShop.getSellerOrderList(orderStatus='0',
                                                            page=1,
                                                            rows=999999)
        self.assertEqual(sellerOrderList.code, 300)

    # S14.经销商销售员获取卖家全部订单
    def test_getSellerOrderList_saler(self):
        sellerOrderList = self.wsDealSaler.getSellerOrderList(orderStatus='0',
                                                              page=1,
                                                              rows=999999)
        self.assertEqual(sellerOrderList.model['success'], '0')
        orderCount = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_seller_detail where seller_id = ?)',
            self.DealMgr.companyId)
        self.assertEqual(len(sellerOrderList.model['paymentOrderList']),
                         orderCount)
        self.assertOrderList(sellerOrderList,
                             self.UserShop.orderCodWaitDeliver,
                             self.Merch1,
                             buttomList='0100000')

    # S15.经销商采购员获取卖家全部订单
    def test_getSellerOrderList_buyer(self):
        sellerOrderList = self.wsDealBuyer.getSellerOrderList(orderStatus='0',
                                                              page=1,
                                                              rows=999999)
        self.assertEqual(sellerOrderList.code, 300)

    def assertOrderList(self,
                        rsq,
                        order,
                        merch,
                        payType='2',
                        paymentOrderButtomList='00020',
                        buttomList='0100001',
                        payWay=None,
                        receiveStatus='0'):
        #paymentOrder = select('select * from dlpay.dl_payment_order where pay_no = ?', order.paymentNo)
        #orderDetail = select('select * from dlorder.dl_order_orderdetail where order_no =', order.orderNo)
        orderInfo = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            order.orderNo)
        orderItem = select_one(
            'select * from dlorder.dl_order_orderitem where order_no = ?',
            order.orderNo)
        flag = 0
        for i in range(0, len(rsq.model['paymentOrderList'])):
            if rsq.model['paymentOrderList'][i][
                    'paymentNo'] == order.paymentNo:
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['placeOrderTime'],
                    str(orderInfo.gmt_created))
                self.assertEqual(rsq.model['paymentOrderList'][i]['payType'],
                                 payType)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['paymentOrderMerchCount'],
                    str(orderItem.num))
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['paymentOrderTotalPrice'],
                    str(orderItem.amount))
                self.assertIsNone(
                    rsq.model['paymentOrderList'][i]['paymentOrderButtomList'])
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['paymentPayStatus'],
                    orderInfo.pay_status)
                self.assertIsNone(
                    rsq.model['paymentOrderList'][i]['payStatus2Middle'])
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['orderId'], orderInfo.id)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['orderNo'], order.orderNo)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['paymentNo'], order.paymentNo)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['payType'], orderInfo.pay_type)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]['payWay'],
                    payWay)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['errorStatus'], '1')
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['cancelStatus'], '0')
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['receiveStatus'], receiveStatus)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['buttomList'], buttomList)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['orderStatus'], orderInfo.order_status)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['totalPrice'], str(orderInfo.order_retail_amount))
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['orderRetailAmount'], str(orderInfo.order_retail_amount))
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['isUseCoupon'], '1')
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['couponFeeCount'], '000')
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['orderMerchCount'], str(orderItem.num))
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['sellerId'], merch.sellerId)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['sellerName'], merch.sellerName)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['isYijipayAccount'], merch.isYijipayAccount)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['promotionList'], [])
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['merchList'][0]['merchId'], orderItem.merchandise_id)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['merchList'][0]['merchName'], orderItem.merchandise_name)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['merchList'][0]['merchBarCode'],
                    orderItem.merchandise_barcode)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['merchList'][0]['merchCount'], str(orderItem.num))
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['merchList'][0]['picUrl'], merch.picUrl)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['merchList'][0]['merchSpec'], merch[u'包装规格'])
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['merchList'][0]['costPrice'], merch.unitPrice)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['merchList'][0]['unitPrice'], merch.unitPrice)
                self.assertEqual(
                    rsq.model['paymentOrderList'][i]['orderList'][0]
                    ['merchList'][0]['promotionType'], '-1')
                flag += 1
        self.assertEqual(flag, 1, 'order is not found or is found twice')
Esempio n. 7
0
class getNewMerchList(unittest.TestCase):

    UserShop = eData('TmlShop')
    DealMgr = eData('DealMager')
    Merch1 = eData('Merch1')
    Merch2 = eData('Merch2')

    # S1.获取所有商品列表
    def test_getNewMerchList_all(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        allMerchList = ws.getNewMerchList(rows='99999')
        self.assertMerchList(allMerchList, self.Merch1)

    # S2.根据商品名(全名)搜索商品列表——错误 #5244  暂不修改
    def test_getNewMerchList_searchName(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getNewMerchList(merchName=self.Merch1.fullName.encode('utf-8'),rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

    # S3.搜索商品名称
    def test_getNewMerchList_searchGoodsName(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getNewMerchList(merchName=self.Merch1.goodsName.encode('utf-8'),rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

    # S4.搜索产品名称
    def test_getNewMerchList_searchProductName(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getNewMerchList(merchName=self.Merch1.productName.encode('utf-8'),rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

    # S5.根据类目筛选商品
    def test_getNewMerchList_filterCategory(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        # 筛选白酒
        MerchList1 = ws.getNewMerchList(merchCategoryCode='C01L0101',rows='999')
        self.assertEqual(MerchList1.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList1.model['newMerchListModel'])):
            if MerchList1.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

        # 筛选葡萄酒
        MerchList2 = ws.getNewMerchList(merchCategoryCode='C01L0102',rows='999')
        self.assertEqual(MerchList2.model['success'], '0')
        for i in range(0,len(MerchList2.model['newMerchListModel'])):
            if MerchList2.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not wine, but can find it.')

        # 筛选洋酒
        MerchList3 = ws.getNewMerchList(merchCategoryCode='C01L0103',rows='999')
        self.assertEqual(MerchList3.model['success'], '0')
        for i in range(0,len(MerchList3.model['newMerchListModel'])):
            if MerchList3.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not foreign wine, but can find it.')

        # 筛选啤酒
        MerchList4 = ws.getNewMerchList(merchCategoryCode='C01L0104',rows='999')
        self.assertEqual(MerchList4.model['success'], '0')
        for i in range(0,len(MerchList4.model['newMerchListModel'])):
            if MerchList4.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not beer, but can find it.')

        # 筛选其他饮品
        MerchList = ws.getNewMerchList(merchCategoryCode='C01X0101',rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not drink, but can find it.')

    # S6.筛选茶类茶种
    def test_getNewMerchList_filterTea(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        # 筛选茶
        MerchList = ws.getNewMerchList(merchCategoryCode='C01T01',rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')

        # 筛选绿茶——merch为红茶,故判断找不到
        MerchList = ws.getNewMerchList(merchCategoryCode='C01T0101',rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch2.fullName + ' is red tea, but can find it in green tea.')

        # 筛选红茶
        MerchList = ws.getNewMerchList(merchCategoryCode='C01T0102',rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found.')


    # S7.筛选商品属性
    def test_getNewMerchList_filterProperty(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)

        # 筛选白酒香型
        MerchList = ws.getNewMerchList(merchPropertyValueCodeList=["PL20103_split_PL20103V01_split_酱香型"],rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

        # 筛选茶种——祁门红茶
        MerchList = ws.getNewMerchList(merchCategoryCode="C01T0102",merchPropertyValueCodeList=["PT20201_split_PT20201V01_split_祁门红茶"],rows='999')
        self.assertEqual(MerchList.model['success'], '0')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')


    # S8.筛选商品品牌
    def test_getNewMerchList_brand(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        # 筛选白酒品牌
        MerchList = ws.getNewMerchList(merchBrandId="B00003",rows='999')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = False
                break
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

        # 筛选茶品牌
        MerchList = ws.getNewMerchList(merchBrandId=self.Merch2.brandId,rows='999')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
                break
        self.assertEqual(flag, True, self.Merch2.fullName.encode('utf-8') + ' is not found')

    # S9.根据卖家ID筛选
    def test_getNewMerchList_sellerId(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getNewMerchList(sellerId=self.DealMgr.companyId,rows='999')
        flag = False
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')


    # S10.筛选价格区间_商品1在价格区间,商品2不在
    def test_getNewMerchList_priceRange(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getNewMerchList(lowPrice="11900",highPrice="12100",rows='999')
        flag = False
        # 商品1在价格区间
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')

        # 商品2不在价格区间
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')

    # S11.筛选价格上限
    def test_getNewMerchList_priceLimitUpper(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getNewMerchList(highPrice="12100",rows='999')
        flag = False
        # 商品1在价格区间
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch1.fullName.encode('utf-8') + ' is not found')

        # 商品2不在价格区间
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')

    # S12.筛选价格下限
    def test_getNewMerchList_priceLimitLower(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getNewMerchList(lowPrice="99900",rows='999')
        flag = False
        # 商品2在价格区间
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch2.fullName:
                flag = True
        self.assertEqual(flag, True, self.Merch2.fullName + ' is not found')

        # 商品1不在价格区间
        for i in range(0,len(MerchList.model['newMerchListModel'])):
            if MerchList.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                flag = False
        self.assertEqual(flag, True, self.Merch1.fullName + ' is not found')


    # S13.商品列表排序
    def test_getNewMerchList_sort(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)

        # 名称升序排列
        MerchListNameAsc = ws.getNewMerchList(sellerId=self.DealMgr.companyId,sortField="0",sortType="0",rows='999')
        self.assertEqual(MerchListNameAsc.model['newMerchListModel'][0]['merchName'].encode('utf-8'),self.Merch1.fullName)
        self.assertEqual(MerchListNameAsc.model['newMerchListModel'][1]['merchName'].encode('utf-8'),self.Merch2.fullName)

        # 名称降序排列
        MerchListNameDesc = ws.getNewMerchList(sellerId=self.DealMgr.companyId,sortField="0",sortType="1",rows='999')
        self.assertEqual(MerchListNameDesc.model['newMerchListModel'][0]['merchName'].encode('utf-8'),self.Merch2.fullName)
        self.assertEqual(MerchListNameDesc.model['newMerchListModel'][1]['merchName'].encode('utf-8'),self.Merch1.fullName)

        # 价格升序排列
        MerchListPriceAsc = ws.getNewMerchList(sellerId=self.DealMgr.companyId,sortField="1",sortType="0",rows='999')
        self.assertEqual(MerchListPriceAsc.model['newMerchListModel'][0]['merchName'].encode('utf-8'),self.Merch1.fullName)
        self.assertEqual(MerchListPriceAsc.model['newMerchListModel'][1]['merchName'].encode('utf-8'),self.Merch2.fullName)

        # 价格降序排列
        MerchListPriceDesc = ws.getNewMerchList(sellerId=self.DealMgr.companyId,sortField="1",sortType="1",rows='999')
        self.assertEqual(MerchListPriceDesc.model['newMerchListModel'][0]['merchName'].encode('utf-8'),self.Merch2.fullName)
        self.assertEqual(MerchListPriceDesc.model['newMerchListModel'][1]['merchName'].encode('utf-8'),self.Merch1.fullName)


    # S14.商品分页——判断商品数量是否正确,判断商品是否有重复
    def test_getNewMerchList_page(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        allMerchList = ws.getNewMerchList(rows='999')
        numMerch = len(allMerchList.model['newMerchListModel'])
        rows = numMerch/15

        time = 0
        for r in range(1,numMerch/15+2):
            MerchListPage = ws.getNewMerchList(page=r)
            # 判断商品1是否存在,如果存在time +1
            for i in range(0,len(MerchListPage.model['newMerchListModel'])):
                if MerchListPage.model['newMerchListModel'][i]['merchName'].encode('utf-8') == self.Merch1.fullName:
                    time+=1
            if r == numMerch/15+1:
                self.assertEqual(len(MerchListPage.model['newMerchListModel']),numMerch%15,"The last page is wrong")
            else:
                self.assertEqual(len(MerchListPage.model['newMerchListModel']),15,"Every page is wrong")

        self.assertEqual(time,1,self.Merch1.fullName+" is not once.")


    # S15.没有商品时返回为空
    def test_getNewMerchList_null(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        MerchList = ws.getNewMerchList(merchName="NotExist")
        self.assertEqual(MerchList.model['newMerchListModel'],[],"The merch list is not null.")

    def assertMerchList(self, rsp, merch, code = 200, success = '0',isPromotion='0',isRecommended='0'):
        self.assertEqual(rsp.code, code)
        self.assertEqual(rsp.model['success'], success)
        if rsp.model['totalRecord'] == '0':
            self.assertEqual(True, False, merch.fullName +"is not found")
        else:
            self.assertEqual(rsp.model['totalRecord'], str(len(rsp.model['newMerchListModel'])))
        flag = False
        for i in range(0, len(rsp.model['newMerchListModel'])):
            if rsp.model['newMerchListModel'][i]['merchId'] == merch.goodsId:
                flag = True
                self.assertEqual(rsp.model['newMerchListModel'][i]['merchName'],  merch.fullName)
                self.assertEqual(rsp.model['newMerchListModel'][i]['sellerId'],  merch.seller_store_id)
                self.assertEqual(rsp.model['newMerchListModel'][i]['sellerName'],  merch.sellerName)
                self.assertEqual(rsp.model['newMerchListModel'][i]['retailPrice'],  merch.priceRetail)
                self.assertEqual(rsp.model['newMerchListModel'][i]['danluPrice'],  merch.priceDanlu)
                self.assertEqual(rsp.model['newMerchListModel'][i]['goodsPromotionInfo'],  merch.propagandaInfo)
                self.assertEqual(rsp.model['newMerchListModel'][i]['merchStatus'],  merch.merchStatus)
                self.assertEqual(rsp.model['newMerchListModel'][i]['isPromotion'],  merch.isPromotion)
                self.assertEqual(rsp.model['newMerchListModel'][i]['isRecommended'],  merch.isRecommended)
                self.assertEqual(rsp.model['newMerchListModel'][i]['minSaleNumber'],  merch.saleQuantityS1)
                # for j in range(0,len(rsp.model['newMerchListModel'][i]['promotionList'])):
                #     self.assertEqual(rsp.model['newMerchListModel'][i]['promotionList'][j],  merch['promotionList'+str(j+1)].decode('utf-8'))

                for j in range(0, len(rsp.model['newMerchListModel'][i]['promotionList'])):
                    flag = False
                    for k in range(1, len(rsp.model['newMerchListModel'][i]['promotionList'])+1):
                        if rsp.model['newMerchListModel'][i]['promotionList'][j] == merch['promotionList'+str(k)].decode('utf-8'):
                            flag = True
                            break
                        if k == 6:
                            self.assertEqual(flag, True, rsp.model['newMerchListModel'][i]['promotionList'][j] + "is not found!")

                self.assertEqual(rsp.model['newMerchListModel'][i]['merchSpec'],  merch.merchSpec)
                self.assertEqual(rsp.model['newMerchListModel'][i]['picUrl'],  merch.picUrl)
        self.assertEqual(flag, True, merch.fullName +"is not found")
Esempio n. 8
0
class markAsRead(unittest.TestCase):
    UserShop = eData('TmlShop')
    DealMager = eData('DealMager')
    Merch1 = eData('Merch1')

    def setUp(self):
        update('update dlsms.dl_message set read_status = ? where id = ? ',
               '01', '00DCEE2C6A5942BBA097C3ACFFC47A8A')
        update('update dlsms.dl_message set read_status = ? where id = ? ',
               '01', '1FAFB941460847F0B96A9FFEA182A28F')
        update('update dlsms.dl_message set read_status = ? where id = ? ',
               '01', '0001486CC5724CD7A9B1B4AA085B3B69')
        update('update dlsms.dl_message set read_status = ? where id = ? ',
               '01', '09CCB8DBF42E41E583C9B76423941271')

    #标记采购订单信息已读
    def test_markAsRead_PurchaseOrder(self):
        ws = webservice()
        unreadPurchaseOrderNum = select(
            'select * from dlsms.dl_message where receiver_id = ? and read_status = ? and type like ?',
            self.UserShop.companyId, '01', 'T02%')
        for i in range(0, len(unreadPurchaseOrderNum)):
            markAsReadRst = ws.markAsRead(
                msgIds=unreadPurchaseOrderNum[i]['id'])
            self.assertEquals(markAsReadRst.code, 200)
            self.assertEqual(markAsReadRst.model['success'], '0')
            readRst = select('select * from dlsms.dl_message  where id = ? ',
                             unreadPurchaseOrderNum[i]['id'])
            self.assertEquals(readRst[0].read_status, '02')

    #标记销售订单信息已读
    def test_markAsRead_SellOrder(self):
        ws = webservice()
        unreadSellOrderNum = select(
            'select * from dlsms.dl_message where receiver_id = ? and read_status = ?  and type like ?',
            self.DealMager.companyId, '01', 'T02%')
        for i in range(0, len(unreadSellOrderNum)):
            markAsReadRst = ws.markAsRead(msgIds=unreadSellOrderNum[i]['id'])
            self.assertEquals(markAsReadRst.code, 200)
            self.assertEqual(markAsReadRst.model['success'], '0')
            readRst = select('select * from dlsms.dl_message  where id = ? ',
                             unreadSellOrderNum[i]['id'])
            self.assertEquals(readRst[0].read_status, '02')

    #标记审批审批信息已读
    def test_markAsRead_Approval(self):
        ws = webservice()
        unreadApprovalNum = select(
            'select * from dlsms.dl_message where receiver_id = ? and read_status = ? and type like ?',
            self.DealMager.userId, '01', 'T01%')
        for i in range(0, len(unreadApprovalNum)):
            markAsReadRst = ws.markAsRead(msgIds=unreadApprovalNum[i]['id'])
            self.assertEquals(markAsReadRst.code, 200)
            self.assertEqual(markAsReadRst.model['success'], '0')
            readRst = select('select * from dlsms.dl_message  where id = ? ',
                             unreadApprovalNum[i]['id'])
            self.assertEquals(readRst[0].read_status, '02')

    #标记红包消息已读
    def test_markAsRead_Coupon(self):
        ws = webservice()
        unreadCouponNum = select(
            'select * from dlsms.dl_message where receiver_id = ? and read_status = ?  and type like ?',
            self.UserShop.companyId, '01', 'T05%')
        for i in range(0, len(unreadCouponNum)):
            markAsReadRst = ws.markAsRead(msgIds=unreadCouponNum[i]['id'])
            self.assertEquals(markAsReadRst.code, 200)
            self.assertEqual(markAsReadRst.model['success'], '0')
            readRst = select('select * from dlsms.dl_message  where id = ? ',
                             unreadCouponNum[i]['id'])
            self.assertEquals(readRst[0].read_status, '02')

    #标记其他消息已读
    def test_markAsRead_Other(self):
        ws = webservice()
        unreadOtherNum = select(
            'select * from dlsms.dl_message where receiver_id = ? and read_status = ? and type like ?',
            self.UserShop.companyId, '01', 'T04%')
        for i in range(0, len(unreadOtherNum)):
            markAsReadRst = ws.markAsRead(msgIds=unreadOtherNum[i]['id'])
            self.assertEquals(markAsReadRst.code, 200)
            self.assertEqual(markAsReadRst.model['success'], '0')
            readRst = select('select * from dlsms.dl_message  where id = ? ',
                             unreadOtherNum[i]['id'])
            self.assertEquals(readRst[0].read_status, '02')

    def tearDown(self):
        update('update dlsms.dl_message set read_status = ? where id = ? ',
               '01', '00DCEE2C6A5942BBA097C3ACFFC47A8A')
        update('update dlsms.dl_message set read_status = ? where id = ? ',
               '01', '1FAFB941460847F0B96A9FFEA182A28F')
        update('update dlsms.dl_message set read_status = ? where id = ? ',
               '01', '0001486CC5724CD7A9B1B4AA085B3B69')
        update('update dlsms.dl_message set read_status = ? where id = ? ',
               '01', '09CCB8DBF42E41E583C9B76423941271')
Esempio n. 9
0
class getMyCouponList(unittest.TestCase):
    UserShop = eData('TmlShop')
    Merch1 = eData('Merch1')

    #获取未使用的优惠券数量(部分显示)
    def test_getMyCouponList_NotUsePart(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        getMyCouponListRst = ws.getMyCouponList(
            companyId=self.UserShop.companyId,
            couponStatus='01',
            page='1',
            rows='5')
        self.assertEquals(getMyCouponListRst.code, 200)
        self.assertEquals(getMyCouponListRst.model['success'], '0')
        self.assertEquals(len(getMyCouponListRst.model['couponList']), 5)

    #获取未使用的优惠券数量(全部显示)
    def test_getMyCouponList_NotUseAll(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        getMyCouponListRst = ws.getMyCouponList(
            companyId=self.UserShop.companyId,
            couponStatus='01',
            page='1',
            rows='15')
        self.assertEquals(getMyCouponListRst.code, 200)
        self.assertEquals(getMyCouponListRst.model['success'], '0')
        self.assertEquals(len(getMyCouponListRst.model['couponList']), 12)

    #获取已使用的优惠券数量
    def test_getMyCouponList_UseAll(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        getMyCouponListRst = ws.getMyCouponList(
            companyId=self.UserShop.companyId,
            couponStatus='02',
            page='1',
            rows='10')
        self.assertEquals(getMyCouponListRst.code, 200)
        self.assertEquals(getMyCouponListRst.model['success'], '0')
        self.assertEquals(len(getMyCouponListRst.model['couponList']), 1)

    #获取锁定的优惠券数量
    def test_getMyCouponList_Locking(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        getMyCouponListRst = ws.getMyCouponList(
            companyId=self.UserShop.companyId,
            couponStatus='03',
            page='1',
            rows='10')
        self.assertEquals(getMyCouponListRst.code, 200)
        self.assertEquals(getMyCouponListRst.model['success'], '0')
        self.assertEquals(len(getMyCouponListRst.model['couponList']), 1)

    #获取已过期的优惠券数量
    def test_getMyCouponList_Overdue(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        getMyCouponListRst = ws.getMyCouponList(
            companyId=self.UserShop.companyId,
            couponStatus='04',
            page='1',
            rows='10')
        self.assertEquals(getMyCouponListRst.code, 200)
        self.assertEquals(getMyCouponListRst.model['success'], '0')
        self.assertEquals(len(getMyCouponListRst.model['couponList']), 5)
Esempio n. 10
0
class addShoppingcart(unittest.TestCase):

    UserShop = eData('TmlShop')
    UserShop2 = eData('TmlShop2')
    Merch1 = eData('Merch1')
    Merch2 = eData('Merch2')
    Merch4 = eData('Merch4')

    def setUp(self):
        update(
            'delete from danlu_cd_database.dl_shoppingcart where user_id = ?',
            self.UserShop.userId)
        update(
            'update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?',
            self.Merch1.onHandInventory, self.Merch1.goodsId)

    # S1.添加商品进入购物车
    def test_addShoppingcart_addMerch(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        addMerch = ws.addShoppingcar(merchId=self.Merch1.goodsId,
                                     merchCount='1',
                                     sellerId=self.Merch1.seller_store_id,
                                     sellerName=self.Merch1.sellerName)
        self.assertEqual(addMerch.code, 200)
        self.assertEqual(addMerch.model['success'], '0')
        shopcart = Shoppingcart.find_first(
            'where user_id = ? and goods_id = ?', self.UserShop.userId,
            self.Merch1.goodsId)
        self.assertEqual(shopcart.goods_quantity, 1)

    # S2.多次添加同样商品进入购物车
    def test_addShoppingcart_addMerchAgain(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='10',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='100',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = Shoppingcart.find_first(
            'where user_id = ? and goods_id = ?', self.UserShop.userId,
            self.Merch1.goodsId)
        self.assertEqual(shopcart.goods_quantity, 111)

    # S3.添加不同的商品进入购物车
    def test_addShoppingcart_addMerchDiff(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        ws.addShoppingcar(merchId=self.Merch2.goodsId,
                          merchCount='1',
                          sellerId=self.Merch2.seller_store_id,
                          sellerName=self.Merch2.sellerName)
        shopcartNum = Shoppingcart.count_by('where user_id = ?',
                                            self.UserShop.userId)
        self.assertEqual(shopcartNum, 2)

    # S4.添加起购量为5的商品进入购物车
    def test_addShoppingcart_addMerchStart(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch2.goodsId,
                          merchCount='1',
                          sellerId=self.Merch2.seller_store_id,
                          sellerName=self.Merch2.sellerName)
        shopcart = Shoppingcart.find_first(
            'where user_id = ? and goods_id = ?', self.UserShop.userId,
            self.Merch2.goodsId)
        self.assertEqual(shopcart.goods_quantity, 5)

    # S5.添加不存在的商品进入购物车
    def test_addShoppingcart_addMerchNotExist(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        addMerch = ws.addShoppingcar(merchId='NotExist',
                                     merchCount='1',
                                     sellerId=self.Merch2.seller_store_id,
                                     sellerName=self.Merch2.sellerName)
        self.assertEqual(addMerch.model['success'], '1')

    # S6.添加商品ID为空进入购物车
    def test_addShoppingcart_addMerchNull(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        addMerch = ws.addShoppingcar(merchId=None,
                                     merchCount='1',
                                     sellerId=self.Merch2.seller_store_id,
                                     sellerName=self.Merch2.sellerName)
        self.assertEqual(addMerch.model['success'], '1')

    # S7.添加无售卖权的商品进入购物车
    def test_addShoppingcart_addMerchNoSaleRight(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        addMerch = ws.addShoppingcar(merchId=self.Merch2.goodsId,
                                     merchCount='1',
                                     sellerId=self.Merch2.seller_store_id,
                                     sellerName=self.Merch2.sellerName)
        self.assertEqual(addMerch.model['success'], '1')

    # S8.添加无库存的商品进入购物车
    def test_addShoppingcart_addMerchNoSold(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        update(
            'update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?',
            '0', self.Merch1.goodsId)
        addMerch = ws.addShoppingcar(merchId=self.Merch1.goodsId,
                                     merchCount='1',
                                     sellerId=self.Merch1.seller_store_id,
                                     sellerName=self.Merch1.sellerName)
        self.assertEqual(addMerch.model['success'], '2')

    # S9.添加商品数量超过库存
    def test_addShoppingcart_addMerchUpSold(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        addMerch = ws.addShoppingcar(
            merchId=self.Merch1.goodsId,
            merchCount=int(self.Merch1.onHandInventory) + 1,
            sellerId=self.Merch1.seller_store_id,
            sellerName=self.Merch1.sellerName)
        self.assertEqual(addMerch.model['success'], '2')

    # S10.配送商名称、id和商品id不匹配——错误 #5399 不做修改
    # def test_addShoppingcart_addMerchUnMatch(self):
    #     ws = webservice()
    #     ws.login(self.UserShop.username, self.UserShop.password)
    #     addMerch = ws.addShoppingcar(merchId=self.Merch1.goodsId, merchCount='1', sellerId=self.Merch4.seller_store_id, sellerName=self.Merch4.sellerName)
    #     self.assertEqual(addMerch.model['success'], '1')

    def tearDown(self):
        update(
            'delete from danlu_cd_database.dl_shoppingcart where user_id = ?',
            self.UserShop.userId)
        update(
            'update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?',
            self.Merch1.onHandInventory, self.Merch1.goodsId)
Esempio n. 11
0
class modifyShoppingcartCount(unittest.TestCase):

    UserShop = eData('TmlShop')
    UserShop2 = eData('TmlShop2')
    Merch1 = eData('Merch1')
    Merch2 = eData('Merch2')
    Merch4 = eData('Merch4')

    def setUp(self):
        update(
            'delete from danlu_cd_database.dl_shoppingcart where user_id = ?',
            self.UserShop.userId)

    # S1.修改购物车商品数量
    def test_modifyShoppingcartCount_add(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = ws.toShoppingcart()
        shopcartId = shopcart.model['sellerList'][0]['merchList'][0]['id']
        modMerch = ws.modifyShoppingcartCount(shoppingCartId=shopcartId,
                                              merchId=self.Merch1.goodsId,
                                              merchCount='99',
                                              sellerId=self.Merch1.sellerId,
                                              usePromotion='1')
        self.assertEqual(modMerch.model['success'], '0')
        shopcart = ws.toShoppingcart()
        shopcartNum = shopcart.model['sellerList'][0]['merchList'][0][
            'merchQuantity']
        self.assertEqual(shopcartNum, '99')

    # S2.减少购物车商品数量
    def test_modifyShoppingcartCount_reduce(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='99',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = ws.toShoppingcart()
        shopcartId = shopcart.model['sellerList'][0]['merchList'][0]['id']
        modMerch = ws.modifyShoppingcartCount(shoppingCartId=shopcartId,
                                              merchId=self.Merch1.goodsId,
                                              merchCount='1',
                                              sellerId=self.Merch1.sellerId,
                                              usePromotion='1')
        self.assertEqual(modMerch.model['success'], '0')
        shopcart = ws.toShoppingcart()
        shopcartNum = shopcart.model['sellerList'][0]['merchList'][0][
            'merchQuantity']
        self.assertEqual(shopcartNum, '1')

    # S3.减少购物车数量到0——bug5398
    def test_modifyShoppingcartCount_zero(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='99',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = ws.toShoppingcart()
        shopcartId = shopcart.model['sellerList'][0]['merchList'][0]['id']
        modMerch = ws.modifyShoppingcartCount(shoppingCartId=shopcartId,
                                              merchId=self.Merch1.goodsId,
                                              merchCount='0',
                                              sellerId=self.Merch1.sellerId,
                                              usePromotion='1')
        self.assertEqual(modMerch.model['success'], '1')

    # S4.修改购物车数量达到库存上限
    def test_modifyShoppingcartCount_up(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = ws.toShoppingcart()
        shopcartId = shopcart.model['sellerList'][0]['merchList'][0]['id']
        modMerch = ws.modifyShoppingcartCount(
            shoppingCartId=shopcartId,
            merchId=self.Merch1.goodsId,
            merchCount=self.Merch1.onHandInventory,
            sellerId=self.Merch1.sellerId,
            usePromotion='1')
        self.assertEqual(modMerch.model['success'], '0')
        shopcart = ws.toShoppingcart()
        shopcartNum = shopcart.model['sellerList'][0]['merchList'][0][
            'merchQuantity']
        self.assertEqual(shopcartNum, self.Merch1.onHandInventory)

    # S5.修改购物车数量超过库存上限
    def test_modifyShoppingcartCount_limit(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = ws.toShoppingcart()
        shopcartId = shopcart.model['sellerList'][0]['merchList'][0]['id']
        modMerch = ws.modifyShoppingcartCount(
            shoppingCartId=shopcartId,
            merchId=self.Merch1.goodsId,
            merchCount=int(self.Merch1.onHandInventory) + 1,
            sellerId=self.Merch1.sellerId,
            usePromotion='1')
        self.assertEqual(modMerch.model['success'], '0')
        shopcart = ws.toShoppingcart()
        shopcartNum = shopcart.model['sellerList'][0]['merchList'][0][
            'merchQuantity']
        self.assertEqual(shopcartNum, self.Merch1.onHandInventory)

    # S6.修改其他人的购物车商品数量——错误 #5423
    def test_modifyShoppingcartCount_other(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId,
                          merchCount='1',
                          sellerId=self.Merch1.seller_store_id,
                          sellerName=self.Merch1.sellerName)
        shopcart = ws.toShoppingcart()
        shopcartId = shopcart.model['sellerList'][0]['merchList'][0]['id']
        ws.login(self.UserShop2.username, self.UserShop2.password)
        modMerch = ws.modifyShoppingcartCount(
            shoppingCartId=shopcartId,
            merchId=self.Merch1.goodsId,
            merchCount=int(self.Merch1.onHandInventory) + 1,
            sellerId=self.Merch1.sellerId,
            usePromotion='1')
        self.assertEqual(modMerch.model['success'], '1')

    def tearDown(self):
        update(
            'delete from danlu_cd_database.dl_shoppingcart where user_id = ?',
            self.UserShop.userId)
Esempio n. 12
0
class retrieveNewestOneMessage(unittest.TestCase):
    UserShop = eData('TmlShop')
    DealMager = eData('DealMager')
    Merch1 = eData('Merch1')

    #传入类型为空获取消息

    #获取采购订单最新一条消息
    def test_retrieveNewestOneMessage_PurchaseOrder(self):
        PurchaseOrderNews = select_one(
            'select * from dlsms.dl_message where receiver_id = ? and type like ? and channel_id= ? ORDER BY biz_created_timestamp DESC',
            self.UserShop.companyId, 'T02%', 'CH01')
        ws = webservice()
        retrieveNewestOneMessage = ws.retrieveNewestOneMessage(
            channelId='CH01',
            receiverUserId=self.UserShop.userId,
            receiverCompanyId=self.UserShop.companyId,
            type='T02')
        self.assertEquals(retrieveNewestOneMessage.code, 200)
        self.assertEqual(retrieveNewestOneMessage.model['success'], '0')
        self.assertEqual(retrieveNewestOneMessage.model['message']['T02'],
                         PurchaseOrderNews.content)

    #获取销售订单最新一条消息
    def test_retrieveNewestOneMessage_sellOrder(self):
        sellOrderNews = select_one(
            'select * from dlsms.dl_message where receiver_id = ? and type like ? and channel_id= ? ORDER BY biz_created_timestamp DESC',
            self.DealMager.companyId, 'T02%', 'CH01')
        ws = webservice()
        retrieveNewestOneMessage = ws.retrieveNewestOneMessage(
            channelId='CH01',
            receiverUserId=self.DealMager.userId,
            receiverCompanyId=self.DealMager.companyId,
            type='T02')
        self.assertEquals(retrieveNewestOneMessage.code, 200)
        self.assertEqual(retrieveNewestOneMessage.model['success'], '0')
        self.assertEqual(retrieveNewestOneMessage.model['message']['T02'],
                         sellOrderNews.content)

    #获取审批最新一条消息
    def test_retrieveNewestOneMessage_Approval(self):
        ApprovalNews = select_one(
            'select * from dlsms.dl_message where receiver_id = ? and type like ? and channel_id= ? ORDER BY biz_created_timestamp DESC',
            self.DealMager.userId, 'T01%', 'CH01')
        ws = webservice()
        retrieveNewestOneMessage = ws.retrieveNewestOneMessage(
            channelId='CH01',
            receiverUserId=self.DealMager.userId,
            receiverCompanyId=self.DealMager.companyId,
            type='T01')
        self.assertEquals(retrieveNewestOneMessage.code, 200)
        self.assertEqual(retrieveNewestOneMessage.model['success'], '0')
        self.assertEqual(retrieveNewestOneMessage.model['message']['T01'],
                         ApprovalNews.content)

    #获取红包相关最新一条消息
    def test_retrieveNewestOneMessage_Coupon(self):
        CouponNews = select_one(
            'select * from dlsms.dl_message where receiver_id = ? and type like ? and channel_id= ? ORDER BY biz_created_timestamp DESC',
            self.UserShop.companyId, 'T05%', 'CH01')
        ws = webservice()
        retrieveNewestOneMessage = ws.retrieveNewestOneMessage(
            channelId='CH01',
            receiverUserId=self.UserShop.userId,
            receiverCompanyId=self.UserShop.companyId,
            type='T05')
        self.assertEquals(retrieveNewestOneMessage.code, 200)
        self.assertEqual(retrieveNewestOneMessage.model['success'], '0')
        self.assertEqual(retrieveNewestOneMessage.model['message']['T05'],
                         CouponNews.content)

    #终端店获取所有类型最后一条消息(订单、红包)
    def test_retrieveNewestOneMessage_TmlShop(self):
        PurchaseOrderNews = select_one(
            'select * from dlsms.dl_message where receiver_id = ? and type like ? and channel_id= ? ORDER BY biz_created_timestamp DESC',
            self.UserShop.companyId, 'T02%', 'CH01')
        CouponNews = select_one(
            'select * from dlsms.dl_message where receiver_id = ? and type like ? and channel_id= ? ORDER BY biz_created_timestamp DESC',
            self.UserShop.companyId, 'T05%', 'CH01')
        ws = webservice()
        retrieveNewestOneMessage = ws.retrieveNewestOneMessage(
            channelId='CH01',
            receiverUserId=self.UserShop.userId,
            receiverCompanyId=self.UserShop.companyId,
            type='T02,T05')
        self.assertEquals(retrieveNewestOneMessage.code, 200)
        self.assertEqual(retrieveNewestOneMessage.model['success'], '0')
        self.assertEqual(retrieveNewestOneMessage.model['message']['T02'],
                         PurchaseOrderNews.content)
        self.assertEqual(retrieveNewestOneMessage.model['message']['T05'],
                         CouponNews.content)

    #经销商获取所有类型最后一条消息(订单、红包、审批)
    def test_retrieveNewestOneMessage_DealShopMager(self):
        sellOrderNews = select_one(
            'select * from dlsms.dl_message where receiver_id = ? and type like ? and channel_id= ? ORDER BY biz_created_timestamp DESC',
            self.DealMager.companyId, 'T02%', 'CH01')
        CouponNews = select_one(
            'select * from dlsms.dl_message where receiver_id = ? and type like ? and channel_id= ? ORDER BY biz_created_timestamp DESC',
            self.DealMager.companyId, 'T05%', 'CH01')
        ApprovalNews = select_one(
            'select * from dlsms.dl_message where receiver_id = ? and type like ? and channel_id= ? ORDER BY biz_created_timestamp DESC',
            self.DealMager.userId, 'T01%', 'CH01')
        ws = webservice()
        retrieveNewestOneMessage = ws.retrieveNewestOneMessage(
            channelId='CH01',
            receiverUserId=self.DealMager.userId,
            receiverCompanyId=self.DealMager.companyId,
            type='T01,T02,T05')
        self.assertEquals(retrieveNewestOneMessage.code, 200)
        self.assertEqual(retrieveNewestOneMessage.model['success'], '0')
        self.assertEqual(retrieveNewestOneMessage.model['message']['T02'],
                         sellOrderNews.content)
        self.assertEqual(retrieveNewestOneMessage.model['message']['T05'],
                         CouponNews.content)
        self.assertEqual(retrieveNewestOneMessage.model['message']['T01'],
                         ApprovalNews.content)
Esempio n. 13
0
class getCouponList(unittest.TestCase):
    UserShop = eData('TmlShop')
    Merch1 = eData('Merch1')

    #获取优惠券列表(可用红包和不可用红包都为空)
    def test_getCouponList_Null(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        update(
            'update dlpromotionx.dl_promotionx_coupon_issue_record set issue_person = ? where issue_person = ? ',
            'testapp', self.UserShop.companyId)
        merchList = [self.Merch1.goodsId]
        couponList = ws.getCouponList(companyId=self.UserShop.companyId,
                                      merchList=merchList)
        self.assertEquals(couponList.code, 200)
        self.assertEquals(couponList.model['success'], '0')
        self.assertEquals(couponList.model['useablecouponList'], None)
        self.assertEquals(couponList.model['unUseablecouponList'], None)
        update(
            'update dlpromotionx.dl_promotionx_coupon_issue_record set issue_person = ? where issue_person = ? ',
            self.UserShop.companyId, 'testapp')

    #获取优惠券列表(可用红包不为空,不可用红包为空)
    def test_getCouponList_notUseNull(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        update(
            'update dlpromotionx.dl_promotionx_coupon_issue_record set issue_person = ? where issue_person = ? ',
            'testapp', self.UserShop.companyId)
        update(
            'update dlpromotionx.dl_promotionx_coupon_issue_record set issue_person = ? where coupon_entity_id = ? ',
            self.UserShop.companyId, '113155442300030')
        merchList = [self.Merch1.goodsId]
        couponList = ws.getCouponList(companyId=self.UserShop.companyId,
                                      merchList=merchList)
        self.assertEquals(couponList.code, 200)
        self.assertEquals(couponList.model['success'], '0')
        self.assertEquals(len(couponList.model['useablecouponList']), 1)
        self.assertEquals(len(couponList.model['unUseablecouponList']), 0)
        update(
            'update dlpromotionx.dl_promotionx_coupon_issue_record set issue_person = ? where issue_person = ? ',
            self.UserShop.companyId, 'testapp')

    #获取优惠券列表(可用红包,不可用红包都存在)
    def test_getCouponList_All(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        merchList = [self.Merch1.goodsId]
        couponList = ws.getCouponList(companyId=self.UserShop.companyId,
                                      merchList=merchList)
        self.assertEquals(couponList.code, 200)
        self.assertEquals(couponList.model['success'], '0')
        self.assertEquals(len(couponList.model['useablecouponList']), 10)
        self.assertEquals(len(couponList.model['unUseablecouponList']), 2)
        update(
            'update dlpromotionx.dl_promotionx_coupon_issue_record set issue_person = ? where issue_person = ? ',
            self.UserShop.companyId, 'testapp')

    #商品ID为空,获取优惠券列表
    def test_getCouponList_IDNull(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        merchList = None
        couponList = ws.getCouponList(companyId=self.UserShop.companyId,
                                      merchList=merchList)
        self.assertEquals(couponList.code, 200)
        self.assertEquals(couponList.model['success'], '0')
        self.assertEquals(couponList.model['useablecouponList'], None)
        self.assertEquals(couponList.model['unUseablecouponList'], None)
class createOrderByShoppingcart(unittest.TestCase):

    UserShop = eData('TmlShop')
    UserShop2 = eData('TmlShop2')
    Merch1 = eData('Merch1')
    Merch2 = eData('Merch2')
    Merch4 = eData('Merch4')



    # S1.从购物车提交一个商品的货到付款订单
    def test_createOrderByShoppingcart_one(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId, merchCount='1', sellerId=self.Merch1.seller_store_id, sellerName=self.Merch1.sellerName)
        shopcart = Shoppingcart.find_first('where user_id = ? and goods_id = ?', self.UserShop.userId, self.Merch1.goodsId)
        invoice = {"invoiceId":self.UserShop.invoiceId, "invoiceType":"N011","needInvoice":"0","invoiceHeader":self.UserShop.invoiceHeader}
        deliverAddress = {"deliverAddress":self.UserShop.deliverAddress, "deliverMobile":self.UserShop.deliverMobile, "deliverPerson":self.UserShop.deliverPerson}
        sellerList = []
        sellerList.append({"sellerId":self.Merch1.shopcartSellerId,"sellerName":self.Merch1.sellerName,"isYijipayAccount":self.Merch1.isYijipayAccount,"codFlag":self.Merch1.codFlag,
                           "supportVatInvoice":self.Merch1.supportVatInvoice,"comment":"createOrderByShoppingcart comment.","merchList":
                               [{"id":shopcart.id,"merchId":self.Merch1.goodsId,"merchBarCode":self.Merch1.productBarCode}]})
        order = ws.createOrderByShoppingcart(payWay='2',invoice=invoice, deliverAddress=deliverAddress, sellerList=sellerList)
        self.assertEqual(order.model['success'], '0')

        # 校验订单号和交易号是否匹配
        orderInfoDb = select_one('select * from dlorder.dl_order_orderinfo where pay_no = ?', order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['paymentNo'])
        # 支付方式为货到付款
        self.assertEqual(orderInfoDb.pay_type, '2')
        self.assertEqual(orderInfoDb.order_no, order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['orderNo'])
        self.assertEqual(orderInfoDb.order_amount, int(order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['price']))

        # 校验发票是否是提交的发票
        orderInvoiceDb = select_one('select * from dlorder.dl_order_orderinvoice where pay_no = ?', order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['paymentNo'])
        self.assertEqual(orderInvoiceDb.invoice_header, invoice['invoiceHeader'])

        # 校验收货地址是否是提交的收货地址
        orderDetailDb = select_one('select * from dlorder.dl_order_orderdetail where order_no = ?', order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['orderNo'])
        self.assertEqual(orderDetailDb.buyer_id, self.UserShop.companyId)
        self.assertEqual(orderDetailDb.receive_person, deliverAddress['deliverPerson'])
        self.assertEqual(orderDetailDb.receive_tel, deliverAddress['deliverMobile'])
        self.assertEqual(orderDetailDb.receive_address, deliverAddress['deliverAddress'])

        # 校验商品是否是提交的商品
        orderItemDb = select_one('select * from dlorder.dl_order_orderitem where order_no = ?', order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['orderNo'])
        self.assertEqual(orderItemDb.merchandise_id, self.Merch1.goodsId)
        self.assertEqual(orderItemDb.num, 1)



    # S2.从购物车提交两个商品一个配送商的货到付款订单
    def test_createOrderByShoppingcart_two(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId, merchCount='1', sellerId=self.Merch1.seller_store_id, sellerName=self.Merch1.sellerName)
        shopcart1 = Shoppingcart.find_first('where user_id = ? and goods_id = ?', self.UserShop.userId, self.Merch1.goodsId)
        ws.addShoppingcar(merchId=self.Merch2.goodsId, merchCount='1', sellerId=self.Merch2.seller_store_id, sellerName=self.Merch2.sellerName)
        shopcart2 = Shoppingcart.find_first('where user_id = ? and goods_id = ?', self.UserShop.userId, self.Merch2.goodsId)
        invoice = {"invoiceId":self.UserShop.invoiceId, "invoiceType":"N011","needInvoice":"0","invoiceHeader":self.UserShop.invoiceHeader}
        deliverAddress = {"deliverAddress":self.UserShop.deliverAddress, "deliverMobile":self.UserShop.deliverMobile, "deliverPerson":self.UserShop.deliverPerson}
        sellerList = []
        sellerList.append({"sellerId":self.Merch1.shopcartSellerId,"sellerName":self.Merch1.sellerName,"isYijipayAccount":self.Merch1.isYijipayAccount,"codFlag":self.Merch1.codFlag,
                           "supportVatInvoice":self.Merch1.supportVatInvoice,"comment":"createOrderByShoppingcart comment.","merchList":
                               [{"id":shopcart1.id,"merchId":self.Merch1.goodsId,"merchBarCode":self.Merch1.productBarCode},
                                {"id":shopcart2.id,"merchId":self.Merch2.goodsId,"merchBarCode":self.Merch2.productBarCode}]})
        order = ws.createOrderByShoppingcart(payWay='2',invoice=invoice, deliverAddress=deliverAddress, sellerList=sellerList)
        self.assertEqual(order.model['success'], '0')

        # 校验订单号和交易号是否匹配
        orderInfoDb = select_one('select * from dlorder.dl_order_orderinfo where pay_no = ?', order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['paymentNo'])
        # 支付方式为货到付款
        self.assertEqual(orderInfoDb.pay_type, '2')
        self.assertEqual(orderInfoDb.order_no, order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['orderNo'])
        self.assertEqual(orderInfoDb.order_amount, int(order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['price']))


    # S3.从购物车提交两个配送商的货到付款订单
    def test_createOrderByShoppingcart_twoDealer(self):
        update('update dlcompany.dl_store_base_info set isCOD = ? where store_id = ?', 1,self.Merch4.storeId)
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId, merchCount='1', sellerId=self.Merch1.seller_store_id, sellerName=self.Merch1.sellerName)
        shopcart1 = Shoppingcart.find_first('where user_id = ? and goods_id = ?', self.UserShop.userId, self.Merch1.goodsId)
        ws.addShoppingcar(merchId=self.Merch4.goodsId, merchCount='1', sellerId=self.Merch4.seller_store_id, sellerName=self.Merch4.sellerName)
        shopcart2 = Shoppingcart.find_first('where user_id = ? and goods_id = ?', self.UserShop.userId, self.Merch4.goodsId)
        invoice = {"invoiceId":self.UserShop.invoiceId, "invoiceType":"N011","needInvoice":"0","invoiceHeader":self.UserShop.invoiceHeader}
        deliverAddress = {"deliverAddress":self.UserShop.deliverAddress, "deliverMobile":self.UserShop.deliverMobile, "deliverPerson":self.UserShop.deliverPerson}
        sellerList = []
        sellerList.append({"sellerId":self.Merch1.shopcartSellerId,"sellerName":self.Merch1.sellerName,"isYijipayAccount":self.Merch1.isYijipayAccount,"codFlag":self.Merch1.codFlag,
                           "supportVatInvoice":self.Merch1.supportVatInvoice,"comment":"createOrderByShoppingcart comment.","merchList":
                               [{"id":shopcart1.id,"merchId":self.Merch1.goodsId,"merchBarCode":self.Merch1.productBarCode}]})
        sellerList.append({"sellerId":self.Merch4.shopcartSellerId,"sellerName":self.Merch4.sellerName,"isYijipayAccount":self.Merch4.isYijipayAccount,"codFlag":"0_split_0",
                           "supportVatInvoice":self.Merch4.supportVatInvoice,"comment":"createOrderByShoppingcart comment.","merchList":
                               [{"id":shopcart2.id,"merchId":self.Merch4.goodsId,"merchBarCode":self.Merch4.productBarCode}]})
        order = ws.createOrderByShoppingcart(payWay='2',invoice=invoice, deliverAddress=deliverAddress, sellerList=sellerList)
        self.assertEqual(order.model['success'], '0')

        # 校验订单号和交易号是否匹配
        orderInfoDb = select_one('select * from dlorder.dl_order_orderinfo where pay_no = ?', order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['paymentNo'])
        # 支付方式为货到付款
        self.assertEqual(orderInfoDb.pay_type, '2')
        self.assertEqual(orderInfoDb.order_no, order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['orderNo'])
        self.assertEqual(orderInfoDb.order_amount, int(order.model['createOrderInfoModel']['cashOnDeliveryModelList'][0]['price']))

        # 校验订单号和交易号是否匹配
        orderInfoDb = select_one('select * from dlorder.dl_order_orderinfo where pay_no = ?', order.model['createOrderInfoModel']['cashOnDeliveryModelList'][1]['paymentNo'])
        # 支付方式为货到付款
        self.assertEqual(orderInfoDb.pay_type, '2')
        self.assertEqual(orderInfoDb.order_no, order.model['createOrderInfoModel']['cashOnDeliveryModelList'][1]['orderNo'])
        self.assertEqual(orderInfoDb.order_amount, int(order.model['createOrderInfoModel']['cashOnDeliveryModelList'][1]['price']))

    # S4.无库存商品提交订单
    def test_createOrderByShoppingcart_outStock(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId, merchCount='1', sellerId=self.Merch1.seller_store_id, sellerName=self.Merch1.sellerName)
        shopcart = Shoppingcart.find_first('where user_id = ? and goods_id = ?', self.UserShop.userId, self.Merch1.goodsId)
        # 设置库存为空
        update('update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?', 0, self.Merch1.goodsId)

        invoice = {"invoiceId":self.UserShop.invoiceId, "invoiceType":"N011","needInvoice":"0","invoiceHeader":self.UserShop.invoiceHeader}
        deliverAddress = {"deliverAddress":self.UserShop.deliverAddress, "deliverMobile":self.UserShop.deliverMobile, "deliverPerson":self.UserShop.deliverPerson}
        sellerList = []
        sellerList.append({"sellerId":self.Merch1.shopcartSellerId,"sellerName":self.Merch1.sellerName,"isYijipayAccount":self.Merch1.isYijipayAccount,"codFlag":self.Merch1.codFlag,
                           "supportVatInvoice":self.Merch1.supportVatInvoice,"comment":"createOrderByShoppingcart comment.","merchList":
                               [{"id":shopcart.id,"merchId":self.Merch1.goodsId,"merchBarCode":self.Merch1.productBarCode}]})
        order = ws.createOrderByShoppingcart(payWay='2',invoice=invoice, deliverAddress=deliverAddress, sellerList=sellerList)
        self.assertEqual(order.model['success'], '2')
        self.assertEqual(order.model['failedReasons']['noInventoryList'][0],self.Merch1.fullName)


    # S5.无售卖权商品提交订单
    def test_createOrderByShoppingcart_noSalerright(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        ws.addShoppingcar(merchId=self.Merch1.goodsId, merchCount='1', sellerId=self.Merch1.seller_store_id, sellerName=self.Merch1.sellerName)
        shopcart = Shoppingcart.find_first('where user_id = ? and goods_id = ?', self.UserShop.userId, self.Merch1.goodsId)
        # 设置为无售卖权
        update('update dlsaleright.dl_one2many_salesright set buyer_type = ? where firstTier_salesRight_code = ? and buyer_type = ?', 'S016',self.Merch1.SalesrightCode, 'S011')
        #update('update dlsaleright.dl_firsttier_salesright set firstTier_salesRight_status = ? where seller_id = ? and product_barCode = ?', 99, self.Merch1.sellerId, self.Merch1.productBarCode)

        invoice = {"invoiceId":self.UserShop.invoiceId, "invoiceType":"N011","needInvoice":"0","invoiceHeader":self.UserShop.invoiceHeader}
        deliverAddress = {"deliverAddress":self.UserShop.deliverAddress, "deliverMobile":self.UserShop.deliverMobile, "deliverPerson":self.UserShop.deliverPerson}
        sellerList = []
        sellerList.append({"sellerId":self.Merch1.shopcartSellerId,"sellerName":self.Merch1.sellerName,"isYijipayAccount":self.Merch1.isYijipayAccount,"codFlag":self.Merch1.codFlag,
                           "supportVatInvoice":self.Merch1.supportVatInvoice,"comment":"createOrderByShoppingcart comment.","merchList":
                               [{"id":shopcart.id,"merchId":self.Merch1.goodsId,"merchBarCode":self.Merch1.productBarCode}]})
        time.sleep(2)

        order = ws.createOrderByShoppingcart(payWay='2',invoice=invoice, deliverAddress=deliverAddress, sellerList=sellerList)
        self.assertEqual(order.model['success'], '2')
        # 无售卖权invalidList,但实际是shelvesOffList
        self.assertEqual(order.model['failedReasons']['但实际是shelvesOffList'][0],self.Merch1.fullName)


    # S6.无价格商品

    # S7、产品被删除,提示“以上商品不存在,无法购买”

    # S8、平台或卖家操作下架(或锁定),提示“以上商品已下架,无法购买”

    # S9、有库存但不足,提示“以上商品库存不足,请修改购买数量”

    # S10、价格变动,提示“以上商品价格变动,请先查看最新价格”

    # S11、支付方式变化(增加或取消货到付款),提示“以上配送商支付方式发生变动,请先查看最新信息”

    # S12、选择购买的商品对应的配送商如果由支持“开增值税发票”变为不支持,提示:“以上配送商不再支持开增值税票,请查看最新信息


    def tearDown(self):
        # 清空购物车、恢复库存
        update('delete from danlu_cd_database.dl_shoppingcart where user_id = ?', self.UserShop.userId)
        update('update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?', self.Merch1.onHandInventory, self.Merch1.goodsId)
        update('update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?', self.Merch2.onHandInventory, self.Merch2.goodsId)
        update('update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?', self.Merch4.onHandInventory, self.Merch4.goodsId)
        # 恢复经销商2为不支持货到付款
        update('update dlcompany.dl_store_base_info set isCOD = ? where store_id = ?', 0,self.Merch4.storeId)
        # 恢复商品1的售卖权
        #update('update dlsaleright.dl_firsttier_salesright set firstTier_salesRight_status = ? where seller_id = ? and product_barCode = ?', 0, self.Merch1.sellerId, self.Merch1.productBarCode)
        update('update dlsaleright.dl_one2many_salesright set buyer_type = ? where firstTier_salesRight_code = ? and buyer_type = ?', 'S011',self.Merch1.SalesrightCode, 'S016')
Esempio n. 15
0
class getOrderMerchSnapshot(unittest.TestCase):
    UserShop = eData('TmlShop')
    Dealmager = eData('DealMager')
    Merch1 = eData('Merch1')
    Merch4 = eData('Merch4')

    wsUserShop = webservice()
    wsUserShop.login(UserShop.username, UserShop.password)

    # S1.获取订单商品快照
    def test_getOrderMerchSnapshot_one(self):
        getSnapshot = self.wsUserShop.getOrderMerchSnapshot(orderNo=self.UserShop.orderCodWaitDeliver.orderNo, merchId=self.Merch1.goodsId)
        self.assertEqual(getSnapshot.model['success'], '0')
        self.assertSnapshot(getSnapshot, self.UserShop.orderCodWaitDeliver, merch=self.Merch1)

    # S2.订单有多个商品时获取商品快照

    # S3.订单商品不匹配时获取商品快照

    # S4.无商品快照时获取

    # S5.获取其他人的商品快照——获取成功
    def test_getOrderMerchSnapshot_other(self):
        getSnapshot = self.wsUserShop.getOrderMerchSnapshot(orderNo=self.Dealmager.orderNo, merchId=self.Merch4.goodsId)
        self.assertEqual(getSnapshot.model['success'], '0')
        self.assertSnapshot(getSnapshot, self.UserShop.orderCodWaitDeliver, merch=self.Merch4)


    def assertSnapshot(self, rsp, order, merch):
        orderSnapshot = select_one('select * from dlorder.dl_order_ordersnapshot where order_no = ?', order.orderNo)
        orderItem = select_one('select * from dlorder.dl_order_orderitem where order_no = ?', order.orderNo)
        self.assertEqual(rsp.model['merchSnapshot']['merchId'], orderSnapshot.merchandise_id)
        self.assertEqual(rsp.model['merchSnapshot']['merchNo'], merch.merchNo)
        self.assertEqual(rsp.model['merchSnapshot']['merchName'], merch.fullName)
        self.assertEqual(rsp.model['merchSnapshot']['merchCount'], str(orderItem.num))
        self.assertEqual(rsp.model['merchSnapshot']['merchSpec'], merch[u'包装规格'].encode('utf-8'))
        self.assertEqual(rsp.model['merchSnapshot']['unitPrice'], str(float(merch.unitPrice)/100))
        self.assertEqual(rsp.model['merchSnapshot']['sellerName'], merch.sellerName)
        self.assertEqual(rsp.model['merchSnapshot']['description'], '')
        self.assertEqual(rsp.model['merchSnapshot']['picUrl'], merch.picUrl)
        for i in range(0, len(rsp.model['merchSnapshot']['albumPicUrl'])):
            if i == 0:
                self.assertEqual(rsp.model['merchSnapshot']['albumPicUrl'][0], merch['detailPicUrl'])
            else :
                self.assertEqual(rsp.model['merchSnapshot']['albumPicUrl'][i], merch['detailPicUrl'+str(i+1)])

        for i in range(0, len(rsp.model['merchSnapshot']['propertyList'])):
            if rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '生产商':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'生产商'].decode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '净含量':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'净含量老'].encode('utf-8') + ' ' +merch[u'净含量单位'].encode('utf-8'))
            # elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '净含量单位':
            #     self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'], merch[u'净含量单位'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '保质期':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'保质期'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '包装规格':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'包装规格'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '酒精度':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'酒精度老'].encode('utf-8') + u' 度')
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '储藏方法':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'储藏方法'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '执行标准号':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'执行标准号'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '生产许可证编号':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'生产许可证编号'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '原料':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'原料'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '适用场景':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'适用场景'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '产地':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'产地'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '香型':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'香型'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '色泽':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'色泽'].encode('utf-8'))
            elif rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] == '商品类型':
                self.assertEqual(rsp.model['merchSnapshot']['propertyList'][i]['secondValue'].strip(), merch[u'商品类型'].encode('utf-8'))
            else :
                self.assertEqual(True,False,rsp.model['merchSnapshot']['propertyList'][i]['firstValue'] + " is not find in the excel!")
Esempio n. 16
0
class getBuyerOrderDetail(unittest.TestCase):
    UserShop = eData('TmlShop')
    Merch1 = eData('Merch1')

    wsUserShop = webservice()
    wsUserShop.login(UserShop.username, UserShop.password)

    # S1.获取终端店货到付款待发货买家订单详情
    def test_getBuyerOrderDetail_codWaitDeliver(self):
        orderDetail = self.wsUserShop.getBuyerOrderDetail(
            orderPk=self.UserShop.orderCodWaitDeliver.paymentNo,
            orderNo=self.UserShop.orderCodWaitDeliver['orderNo'])
        self.assertEqual(orderDetail.model['success'], '0')
        self.assertOrderDetail(orderDetail, self.UserShop.orderCodWaitDeliver,
                               self.UserShop, self.Merch1)

    # S2.获取终端店货到付款待收货买家订单详情
    def test_getBuyerOrderDetail_codWaitReceive(self):
        orderDetail = self.wsUserShop.getBuyerOrderDetail(
            orderPk=self.UserShop.orderCodWaitReceive.paymentNo,
            orderNo=self.UserShop.orderCodWaitReceive['orderNo'])
        self.assertEqual(orderDetail.model['success'], '0')
        self.assertOrderDetail(orderDetail, self.UserShop.orderCodWaitReceive,
                               self.UserShop, self.Merch1)

    # S3.获取终端店货到付款待收货买家订单详情
    def test_getBuyerOrderDetail_codCancel(self):
        orderDetail = self.wsUserShop.getBuyerOrderDetail(
            orderPk=self.UserShop.orderCodCancel.paymentNo,
            orderNo=self.UserShop.orderCodCancel['orderNo'])
        self.assertEqual(orderDetail.model['success'], '0')
        self.assertOrderDetail(orderDetail, self.UserShop.orderCodCancel,
                               self.UserShop, self.Merch1)

    # S4.获取终端店货到付款交易完成买家订单详情
    def test_getBuyerOrderDetail_codComplete(self):
        orderDetail = self.wsUserShop.getBuyerOrderDetail(
            orderPk=self.UserShop.orderCodCancel.paymentNo,
            orderNo=self.UserShop.orderCodComplete['orderNo'])
        self.assertEqual(orderDetail.model['success'], '0')
        self.assertOrderDetail(orderDetail, self.UserShop.orderCodComplete,
                               self.UserShop, self.Merch1)

    # S5.获取终端店在线支付待付款买家订单详情
    def test_getBuyerOrderDetail_onlineWaitPay(self):
        orderDetail = self.wsUserShop.getBuyerOrderDetail(
            orderPk=self.UserShop.orderOnlineWaitPay.paymentNo,
            orderNo=self.UserShop.orderOnlineWaitPay['orderNo'])
        self.assertEqual(orderDetail.model['success'], '0')
        self.assertOrderDetail(orderDetail, self.UserShop.orderOnlineWaitPay,
                               self.UserShop, self.Merch1)

    # S6.获取终端店在线支付待发货买家订单详情

    # S7.获取终端店在线支付待收货买家订单详情

    # S8.获取终端店在线支付交易完成买家订单详情

    # S9.获取终端店在线支付已取消买家订单详情
    def test_getBuyerOrderDetail_onlineCancel(self):
        orderDetail = self.wsUserShop.getBuyerOrderDetail(
            orderPk=self.UserShop.orderOnlienCancel.paymentNo,
            orderNo=self.UserShop.orderOnlienCancel['orderNo'])
        self.assertEqual(orderDetail.model['success'], '0')
        self.assertOrderDetail(orderDetail, self.UserShop.orderOnlienCancel,
                               self.UserShop, self.Merch1)

    def assertOrderDetail(self,
                          rsq,
                          order,
                          buyer,
                          merch,
                          buttomList='00000100'):
        paymentOrder = select_one(
            'select * from dlpay.dl_payment_order where pay_no = ?',
            order.paymentNo)
        orderDetail = select_one(
            'select * from dlorder.dl_order_orderdetail where order_no = ?',
            order.orderNo)
        orderInfo = select_one(
            'select * from dlorder.dl_order_orderinfo where order_no = ?',
            order.orderNo)
        orderItem = select_one(
            'select * from dlorder.dl_order_orderitem where order_no = ?',
            order.orderNo)
        self.assertEqual(rsq.model['orderDetail']['orderId'], orderInfo.id)
        self.assertEqual(rsq.model['orderDetail']['orderNo'],
                         orderInfo.order_no)
        self.assertEqual(rsq.model['orderDetail']['paymentNo'],
                         orderInfo.pay_no)
        self.assertEqual(rsq.model['orderDetail']['placeOrderTime'],
                         str(orderInfo.gmt_created))
        self.assertEqual(rsq.model['orderDetail']['orderId'], orderInfo.id)
        self.assertEqual(rsq.model['orderDetail']['orderStatus'],
                         orderInfo.order_status)
        self.assertEqual(rsq.model['orderDetail']['payType'],
                         orderInfo.pay_type)
        if rsq.model['orderDetail']['payTime'] is None:
            self.assertEqual(rsq.model['orderDetail']['payTime'], None)
        else:
            self.assertEqual(rsq.model['orderDetail']['payTime'],
                             paymentOrder.pay_time)
        if rsq.model['orderDetail']['payChannel'] is None:
            self.assertEqual(rsq.model['orderDetail']['payTime'], None)
        else:
            self.assertEqual(rsq.model['orderDetail']['payChannel'],
                             paymentOrder.pay_channel)
        self.assertEqual(rsq.model['orderDetail']['sellerId'], merch.sellerId)
        self.assertEqual(rsq.model['orderDetail']['sellerName'],
                         merch.sellerName)
        self.assertEqual(rsq.model['orderDetail']['buyerId'], buyer.companyId)
        self.assertEqual(rsq.model['orderDetail']['buyerName'], buyer.fullName)
        self.assertEqual(rsq.model['orderDetail']['errorStatus'], '1')
        if orderInfo.cancel_status == 'normal':
            self.assertEqual(rsq.model['orderDetail']['cancelStatus'], '0')
        else:
            self.assertEqual(rsq.model['orderDetail']['cancelStatus'], '1')
        if orderInfo.confirm_status == 'unreceive':
            self.assertEqual(rsq.model['orderDetail']['receiveStatus'], '0')
        else:
            self.assertEqual(rsq.model['orderDetail']['receiveStatus'], '1')
        self.assertEqual(rsq.model['orderDetail']['orderMerchCount'],
                         str(orderItem.num))
        self.assertEqual(rsq.model['orderDetail']['comment'],
                         orderDetail.remarks)
        self.assertEqual(rsq.model['orderDetail']['totalPrice'],
                         str(orderDetail.total_amount))
        if orderInfo.order_coupon_amount == 0:
            self.assertEqual(rsq.model['orderDetail']['isUseCoupon'], '1')
            self.assertEqual(rsq.model['orderDetail']['couponFeeCount'], '0')
            self.assertEqual(rsq.model['orderDetail']['couponUseAmt'], '0')
        else:
            self.assertEqual(rsq.model['orderDetail']['isUseCoupon'], '0')
            orderCoupon = select_one(
                'select * from dlorder.dl_order_ordercoupon where order_no =',
                order.orderNo)
            self.assertEqual(rsq.model['orderDetail']['couponFeeCount'], '0')
            self.assertEqual(rsq.model['orderDetail']['couponUseAmt'],
                             orderCoupon.coupon_info[0]['couponAmt'])
        self.assertEqual(rsq.model['orderDetail']['buttomList'], buttomList)
        if orderInfo.order_discount_amount is None:
            self.assertEqual(rsq.model['orderDetail']['orderDiscountAmount'],
                             '0')
        else:
            self.assertEqual(rsq.model['orderDetail']['orderDiscountAmount'],
                             orderInfo.order_discount_amount)

        # 商品列表
        self.assertEqual(rsq.model['orderDetail']['merchList'][0]['merchId'],
                         merch.goodsId)
        self.assertEqual(rsq.model['orderDetail']['merchList'][0]['merchName'],
                         merch.fullName)
        self.assertEqual(
            rsq.model['orderDetail']['merchList'][0]['merchBarCode'],
            merch.productBarCode)
        self.assertEqual(
            rsq.model['orderDetail']['merchList'][0]['merchCount'],
            str(orderItem.num))
        self.assertEqual(rsq.model['orderDetail']['merchList'][0]['picUrl'],
                         merch.picUrl)
        self.assertEqual(rsq.model['orderDetail']['merchList'][0]['merchSpec'],
                         merch[u'包装规格'])
        self.assertEqual(rsq.model['orderDetail']['merchList'][0]['costPrice'],
                         str(orderItem.cost_price))
        self.assertEqual(rsq.model['orderDetail']['merchList'][0]['unitPrice'],
                         str(orderItem.unit_price))

        # 促销列表
        if orderInfo.ispromotion == 0:
            self.assertEqual(
                rsq.model['orderDetail']['merchList'][0]['promotionType'],
                '-1')
            self.assertEqual(rsq.model['orderDetail']['promotionList'], [])
        else:
            orderPromotion = select_one(
                'select * from dlorder.dl_order_promotion_detail where order_no =',
                order.orderNo)
            if orderPromotion.promotion_type == 'fulladd':
                self.assertEqual(
                    rsq.model['orderDetail']['merchList']['promotionType'],
                    '1')
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']['promotionType'],
                    '0')
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']
                    ['promotionDetail'], orderPromotion.promotion_detail)
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']['reduceValue'],
                    '0')
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']['reduceType'],
                    '')
            if orderPromotion.promotion_type == 'unitdown':
                self.assertEqual(
                    rsq.model['orderDetail']['merchList']['promotionType'],
                    '2')
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']['promotionType'],
                    '1')
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']
                    ['promotionDetail'], orderPromotion.promotion_detail)
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']['reduceValue'],
                    orderPromotion.amount)
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']['reduceType'],
                    '0')
            if orderPromotion.promotion_type == 'fulldown':
                self.assertEqual(
                    rsq.model['orderDetail']['merchList']['promotionType'],
                    '2')
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']['promotionType'],
                    '1')
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']
                    ['promotionDetail'], orderPromotion.promotion_detail)
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']['reduceValue'],
                    orderPromotion.amount)
                self.assertEqual(
                    rsq.model['orderDetail']['promotionList']['reduceType'],
                    '1')

        # 收货地址
        self.assertEqual(
            rsq.model['orderDetail']['deliverAddress']['deliverPerson'],
            orderDetail.receive_person)
        self.assertEqual(
            rsq.model['orderDetail']['deliverAddress']['deliverAddress'],
            orderDetail.receive_address)
        self.assertEqual(
            rsq.model['orderDetail']['deliverAddress']['deliverMobile'],
            orderDetail.receive_tel)

        # 发票
        orderInvoice = select_one(
            'select * from dlorder.dl_order_orderinvoice where order_no = ?',
            order.orderNo)
        self.assertEqual(rsq.model['orderDetail']['invoice']['invoiceType'],
                         orderInvoice.invoice_type)
        self.assertEqual(rsq.model['orderDetail']['invoice']['invoiceHeader'],
                         orderInvoice.invoice_header)
        self.assertEqual(rsq.model['orderDetail']['invoice']['companyName'],
                         orderInvoice.company_name)
        self.assertEqual(
            rsq.model['orderDetail']['invoice']['taxpayerRegistrationNumber'],
            orderInvoice.invoice_number)

        # 订单跟踪
        orderLog = select(
            'select * from dlorder.dl_order_orderlog where order_no = ?',
            order.orderNo)
        self.assertEqual(len(rsq.model['orderDetail']['log']), len(orderLog))
        if len(rsq.model['orderDetail']['log']) == 1:
            self.assertIsNotNone(
                rsq.model['orderDetail']['log'][0]['operationTime'])
            self.assertEqual(
                rsq.model['orderDetail']['log'][0]['operationDesc'],
                orderLog[0]['deal_descrip'])

    def tearDown(self):
        # 清空购物车、恢复库存
        update(
            'delete from danlu_cd_database.dl_shoppingcart where user_id = ?',
            self.UserShop.userId)
        update(
            'update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?',
            self.Merch1.onHandInventory, self.Merch1.goodsId)
Esempio n. 17
0
class getBuyerOrderCount(unittest.TestCase):
    UserShop = eData('TmlShop')
    UserShopMin = eData('TmlShopMin')
    DealMgr = eData('DealMager')
    DealSaler = eData('DealSaler')
    DealBuyer = eData('DealBuyer')

    # S1.终端店获取买家订单数量
    def test_getBuyerOrderCount_shopBuyer(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        orderCount = ws.getBuyerOrderCount()
        self.assertEqual(orderCount.model['success'], '0')
        self.assertOrderCount(orderCount, self.UserShop)

    # S2、订单为空时获取订单数量
    def test_getBuyerOrderCount_null(self):
        ws = webservice()
        ws.login(self.UserShopMin.username, self.UserShopMin.password)
        orderCount = ws.getBuyerOrderCount()
        self.assertEqual(orderCount.model['success'], '0')
        self.assertOrderCount(orderCount, self.UserShopMin)

    # S3.经销商管理员获取买家订单数量
    def test_getBuyerOrderCount_dealMgr(self):
        ws = webservice()
        ws.login(self.DealMgr.username, self.DealMgr.password)
        orderCount = ws.getBuyerOrderCount()
        self.assertEqual(orderCount.model['success'], '0')
        self.assertOrderCount(orderCount, self.DealMgr)

    # S4.经销商采购员获取买家订单数量
    def test_getBuyerOrderCount_dealBuyer(self):
        ws = webservice()
        ws.login(self.DealBuyer.username, self.DealBuyer.password)
        orderCount = ws.getBuyerOrderCount()
        self.assertEqual(orderCount.model['success'], '0')
        self.assertOrderCount(orderCount, self.DealBuyer)

    # S5.经销商销售员获取买家订单数量失败
    def test_getBuyerOrderCount_dealSaler(self):
        ws = webservice()
        ws.login(self.DealSaler.username, self.DealSaler.password)
        orderCount = ws.getBuyerOrderCount()
        self.assertEqual(orderCount.code, 300)

    def assertOrderCount(self, rsq, buyer):
        # C011待付款
        orderCountWaitPayDB = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_orderdetail where buyer_id = ?) and order_status = ?',
            buyer.companyId, 'C011')
        self.assertEqual(rsq.model['orderCount']['pendingPaymentOrderCount'],
                         str(orderCountWaitPayDB))
        # C012已取消
        orderCountCancelDB = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_orderdetail where buyer_id = ?) and order_status = ?',
            buyer.companyId, 'C012')
        self.assertEqual(rsq.model['orderCount']['cancelledOrderCount'],
                         str(orderCountCancelDB))
        # C015已退款

        # C017待收货
        orderCountWatiRecDB = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_orderdetail where buyer_id = ?) and order_status = ?',
            buyer.companyId, 'C017')
        self.assertEqual(rsq.model['orderCount']['waitingReceiveOrderCount'],
                         str(orderCountWatiRecDB))
        # C019交易完成
        orderCountFinishDB = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_orderdetail where buyer_id = ?) and order_status = ?',
            buyer.companyId, 'C019')
        self.assertEqual(rsq.model['orderCount']['finishedOrderCount'],
                         str(orderCountFinishDB))
        # C020待发货
        orderCountWaitDeliverDB = select_int(
            'select count(*) from dlorder.dl_order_orderinfo where  order_no in (SELECT order_no FROM dlorder.dl_order_orderdetail where buyer_id = ?) and order_status = ?',
            buyer.companyId, 'C020')
        self.assertEqual(rsq.model['orderCount']['waitingShipmentOrderCount'],
                         str(orderCountWaitDeliverDB))
Esempio n. 18
0
class getAreaListByCondition(unittest.TestCase):

    UserShop = eData('TmlShop')

    # S1.获取所有区域列表
    def test_getAreaListByCondition_province(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        areaList = ws.getAreaListByCondition()
        self.assertEqual(areaList.model['success'], '0')
        provinceNum = select_int(
            'select count(*) from dlpublic.dl_area where area_parent_code = ?',
            'CHN')
        self.assertEqual(len(areaList.model['topList']), provinceNum)

    # S2.获取四川省区域列表
    def test_getAreaListByCondition_city(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        areaList = ws.getAreaListByCondition(provinceCode='P023')
        self.assertEqual(areaList.model['success'], '0')
        cityNum = select_int(
            'select count(*) from dlpublic.dl_area where area_parent_code = ?',
            'CHNP023')
        flag = False
        for i in range(0, len(areaList.model['topList'])):
            if areaList.model['topList'][i]['code'] == 'P023':
                self.assertEqual(
                    len(areaList.model['topList'][i]['childList']), cityNum)
                flag = True
        self.assertEqual(flag, True, '未找到相应的省份')

    # S3.获取县级列表
    def test_getAreaListByCondition_county(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        areaList = ws.getAreaListByCondition(provinceCode='P023',
                                             cityCode='C238')
        self.assertEqual(areaList.model['success'], '0')
        countryNum = select_int(
            'select count(*) from dlpublic.dl_area where area_parent_code = ?',
            'CHNP023C238')
        flag = False
        for i in range(0, len(areaList.model['topList'])):
            if areaList.model['topList'][i]['code'] == 'P023':
                for j in range(0,
                               len(areaList.model['topList'][i]['childList'])):
                    if areaList.model['topList'][i]['childList'][j][
                            'code'] == 'C238':
                        self.assertEqual(
                            len(areaList.model['topList'][i]['childList'][j]
                                ['childList']), countryNum)
                        flag = True
        self.assertEqual(flag, True, '未找到相应的省市')

    # S4.当市不属于省时获取列表——当前是不属于省则获取该省列表

    # S5.未带token时返回600
    def test_getAreaListByCondition_notoken(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        areaList = ws.getAreaListByCondition(token='null')
        self.assertEqual(areaList.code, 600)
Esempio n. 19
0
def initOrder():
    UserShop = eData('TmlShop')
    Merch = eData('Merch1')
    #Merch4 = eData('Merch4')
    DealMgr = eData('DealMager')

    ws = webservice()
    ws.login(DealMgr.username, DealMgr.password)

    #在线支付待付款订单(C011)
    orderOnlineWaitPay = createOrder(UserShop, Merch, payWay='1')
    orderOnlineWaitPay.pop('ws')
    write_excel(sheetname='TmlShop',
                rowkey='orderOnlineWaitPay',
                rowvalue=str(orderOnlineWaitPay))
    import datetime
    update(
        'update dlorder.dl_order_orderinfo SET gmt_created = ? WHERE order_no = ?',
        datetime.datetime.strptime('2099-01-01 00:00:00', "%Y-%m-%d %H:%M:%S"),
        orderOnlineWaitPay.orderNo)

    #在线支付待发货订单
    #在线支付待收货订单
    #在线支付交易完成订单

    #在线支付已取消订单(C012)
    orderOnlienCancel = createOrder(UserShop, Merch, payWay='1')
    orderOnlienCancelWS = orderOnlienCancel.pop('ws')
    write_excel(sheetname='TmlShop',
                rowkey='orderOnlienCancel',
                rowvalue=str(orderOnlienCancel))
    orderOnlienCancelWS.cancel(paymentNo=orderOnlienCancel.paymentNo,
                               payType='1',
                               cancelType='1')

    #货到付款待发货订单(C020)
    orderCodWaitDeliver = createOrder(UserShop, Merch)
    orderCodWaitDeliver.pop('ws')
    write_excel(sheetname='TmlShop',
                rowkey='orderCodWaitDeliver',
                rowvalue=str(orderCodWaitDeliver))

    #货到付款待收货订单(C017)
    orderCodWaitReceive = createOrder(UserShop, Merch)
    orderCodWaitReceive.pop('ws')
    write_excel(sheetname='TmlShop',
                rowkey='orderCodWaitReceive',
                rowvalue=str(orderCodWaitReceive))
    ws.deliver(orderNo=orderCodWaitReceive.orderNo)

    #货到付款已完成订单(C019)
    orderCodComplete = createOrder(UserShop, Merch)
    orderCodComplete.pop('ws')
    write_excel(sheetname='TmlShop',
                rowkey='orderCodComplete',
                rowvalue=str(orderCodComplete))
    ws.deliver(orderNo=orderCodComplete.orderNo)
    codPay(orderNo=orderCodComplete.orderNo)

    #货到付款已取消订单(C012)
    orderCodCancel = createOrder(UserShop, Merch)
    orderCodCancelWS = orderCodCancel.pop('ws')
    write_excel(sheetname='TmlShop',
                rowkey='orderCodCancel',
                rowvalue=str(orderCodCancel))
    orderCodCancelWS.cancel(paymentNo=orderCodCancel.paymentNo)
Esempio n. 20
0
class getMerchDetail(unittest.TestCase):

    UserShop = eData('TmlShop')
    UserShop2 = eData('TmlShop2')
    Merch1 = eData('Merch1')
    Merch2 = eData('Merch2')
    Merch3 = eData('Merch3')

    # S1.获取商品详情
    def test_getMerchDetail_all(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        merchDetail = ws.getMerchDetail(merchId=self.Merch1.goodsId)
        self.assertGetMerchDetail(merchDetail, self.Merch1)

    # S2.获取不存在的商品详情——错误 #5277,暂不修改,先注释掉~
    def test_getMerchDetail_NotExist(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        merchDetail = ws.getMerchDetail(merchId='NotExist')
        self.assertEqual(merchDetail.model['merchDetail']['merchStatus'], '4')

    # S3.获取缺货的商品详情
    def test_getMerchDetail_stockout(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        update(
            'update dlmerchandise.dl_goods set on_hand_inventory = 0 where goods_id = ?',
            self.Merch1.goodsId)
        merchDetail = ws.getMerchDetail(merchId=self.Merch1.goodsId)
        self.assertEqual(merchDetail.model['merchDetail']['merchStatus'], '1')

    # S4.获取已下架的商品详情
    def test_getMerchDetail_soldout(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        update(
            'update dlmerchandise.dl_goods set goods_status = \'02\' where goods_id = ?',
            self.Merch1.goodsId)
        merchDetail = ws.getMerchDetail(merchId=self.Merch1.goodsId)
        self.assertEqual(merchDetail.model['merchDetail']['merchStatus'], '2')

    # S5.获取已锁定的商品详情
    def test_getMerchDetail_lock(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        update(
            'update dlmerchandise.dl_goods set goods_status = \'03\' where goods_id = ?',
            self.Merch1.goodsId)
        merchDetail = ws.getMerchDetail(merchId=self.Merch1.goodsId)
        self.assertEqual(merchDetail.model['merchDetail']['merchStatus'], '2')

    # S6.获取已失效(没有价格)的商品详情
    def test_getMerchDetail_noPrice(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        merchDetail = ws.getMerchDetail(merchId=self.Merch3.goodsId)
        self.assertEqual(merchDetail.model['merchDetail']['merchStatus'], '3')

    # S7.获取无售卖权的商品详情
    def test_getMerchDetail_noSalesRight(self):
        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        merchDetail = ws.getMerchDetail(merchId=self.Merch2.goodsId)
        self.assertEqual(merchDetail.model['merchDetail']['merchStatus'], '3')

    def tearDown(self):
        update(
            'update dlmerchandise.dl_goods set on_hand_inventory = ? where goods_id = ?',
            self.Merch1.onHandInventory, self.Merch1.goodsId)
        update(
            'update dlmerchandise.dl_goods set goods_status = \'01\' where goods_id = ?',
            self.Merch1.goodsId)

    def assertGetMerchDetail(self, rsp, Merch, code=200, success='0'):
        self.assertEqual(rsp.code, code)
        self.assertEqual(rsp.model['success'], success)
        self.assertEqual(rsp.model['merchDetail']['merchId'], Merch['goodsId'])
        self.assertEqual(rsp.model['merchDetail']['merchName'],
                         Merch['fullName'])
        self.assertEqual(rsp.model['merchDetail']['merchStatus'],
                         Merch['merchStatus'])
        self.assertEqual(rsp.model['merchDetail']['merchSpec'],
                         Merch['merchSpec'])
        self.assertEqual(rsp.model['merchDetail']['isFavorite'],
                         Merch['isFavorite'])
        self.assertEqual(rsp.model['merchDetail']['sellerId'],
                         Merch['seller_store_id'])
        self.assertEqual(rsp.model['merchDetail']['sellerName'],
                         Merch['sellerName'])
        self.assertEqual(rsp.model['merchDetail']['supportCod'],
                         Merch['supportCod'])
        self.assertEqual(rsp.model['merchDetail']['inventoryFlag'],
                         Merch['inventoryFlag'])
        self.assertEqual(rsp.model['merchDetail']['saleQuantityS1'],
                         Merch['saleQuantityS1'])
        self.assertEqual(rsp.model['merchDetail']['priceS1'], Merch['priceS1'])
        if rsp.model['merchDetail']['saleQuantityS2'] is not None:
            self.assertEqual(rsp.model['merchDetail']['saleQuantityS2'],
                             Merch['saleQuantityS2'])
            self.assertEqual(rsp.model['merchDetail']['priceS2'],
                             Merch['priceS2'])
        if rsp.model['merchDetail']['saleQuantityS3'] is not None:
            self.assertEqual(rsp.model['merchDetail']['saleQuantityS3'],
                             Merch['saleQuantityS3'])
            self.assertEqual(rsp.model['merchDetail']['priceS3'],
                             Merch['priceS3'])
        self.assertEqual(rsp.model['merchDetail']['onHandInventory'],
                         Merch['onHandInventory'])
        for i in range(0, len(rsp.model['merchDetail']['fullReductionList'])):
            if i == 0:
                self.assertEqual(
                    rsp.model['merchDetail']['fullReductionList'][0],
                    Merch['fullReductionList'].decode('utf-8'))
            else:
                self.assertEqual(
                    rsp.model['merchDetail']['fullReductionList'][i],
                    Merch['fullReductionList' + str(i + 1)].decode('utf-8'))
        for i in range(0,
                       len(rsp.model['merchDetail']['fullPresentationList'])):
            if i == 0:
                self.assertEqual(
                    rsp.model['merchDetail']['fullPresentationList'][0],
                    Merch['fullPresentationList'].decode('utf-8'))
            else:
                self.assertEqual(
                    rsp.model['merchDetail']['fullPresentationList'][i],
                    Merch['fullPresentationList' + str(i + 1)].decode('utf-8'))
        for i in range(0, len(rsp.model['merchDetail']['propertyList'])):
            if rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '生产商':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'生产商'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '净含量':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'净含量老'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '净含量单位':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'净含量单位'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '保质期':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'保质期'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '包装规格':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'包装规格'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '酒精度':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'酒精度老'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '储藏方法':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'储藏方法'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '执行标准号':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'执行标准号'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '生产许可证编号':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'生产许可证编号'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '原料':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'原料'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '适用场景':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'适用场景'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '产地':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'产地'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '香型':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'香型'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '色泽':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'色泽'].encode('utf-8'))
            elif rsp.model['merchDetail']['propertyList'][i][
                    'firstValue'] == '商品类型':
                self.assertEqual(
                    rsp.model['merchDetail']['propertyList'][i]['secondValue'],
                    Merch[u'商品类型'].encode('utf-8'))
            else:
                self.assertEqual(
                    True, False,
                    rsp.model['merchDetail']['propertyList'][i]['firstValue'] +
                    " is not find in the excel!")

        for i in range(0, len(rsp.model['merchDetail']['albumPicUrl'])):
            if i == 0:
                self.assertEqual(rsp.model['merchDetail']['albumPicUrl'][0],
                                 Merch['albumPicUrl'])
            else:
                self.assertEqual(rsp.model['merchDetail']['albumPicUrl'][i],
                                 Merch['albumPicUrl' + str(i + 1)])
        for i in range(0, len(rsp.model['merchDetail']['detailPicUrl'])):
            if i == 0:
                self.assertEqual(rsp.model['merchDetail']['detailPicUrl'][0],
                                 Merch['detailPicUrl'])
            else:
                self.assertEqual(rsp.model['merchDetail']['detailPicUrl'][i],
                                 Merch['detailPicUrl' + str(i + 1)])
Esempio n. 21
0
class getOftenBuyList(unittest.TestCase):

    UserShop = eData('TmlShop')
    UserShop2 = eData('TmlShop2')
    Merch1 = eData('Merch1')
    Merch4 = eData('Merch4')

    # S1.获取已上架常购列表
    def test_getOftenMerchList_soldUp(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        merchList = ws.getOftenBuyList(rows="999")
        # 商品1存在
        self.assertGetMerchList(merchList, self.Merch1)
        # 商品4不在列表
        for i in range(0, len(merchList.model['oftenBuyListModel'])):
            if merchList.model['oftenBuyListModel'][i] == self.Merch4.goodsId:
                self.assertEqual(
                    False, True,
                    self.Merch4.fullName + 'is found in oftenBuyList')

    # S2.获取已下架常购列表
    def test_getOftenMerchList_soldOut(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        update(
            'update dlmerchandise.dl_goods set goods_status = ? where goods_id = ?',
            '02', self.Merch1.goodsId)
        # 获取下架商品,商品1存在
        merchList = ws.getOftenBuyList(saleFlag="1", rows="999")
        # 下架后商品无促销无推荐
        self.assertGetMerchList(merchList,
                                self.Merch1,
                                isPromotion='1',
                                isRecommended='1')

        # 获取上架商品,商品1不在列表
        merchList = ws.getOftenBuyList(saleFlag="1", rows="999")
        for i in range(0, len(merchList.model['oftenBuyListModel'])):
            if merchList.model['oftenBuyListModel'][i] == self.Merch1.goodsId:
                self.assertEqual(
                    False, True,
                    self.Merch1.fullName + 'is found in oftenBuyList')

    # S3.常购列表分页
    def test_getOftenMerchList_page(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        allMerchList = ws.getOftenBuyList(rows='999')
        numMerch = len(allMerchList.model['oftenBuyListModel'])
        page = numMerch / 4

        time = 0
        for p in range(1, page + 2):
            MerchListPage = ws.getOftenBuyList(page=p)
            # 判断商品1是否存在,如果存在time +1
            for i in range(0, len(MerchListPage.model['oftenBuyListModel'])):
                if MerchListPage.model['oftenBuyListModel'][i][
                        'merchName'].encode('utf-8') == self.Merch1.fullName:
                    time += 1
            if p == page + 1:
                self.assertEqual(len(MerchListPage.model['oftenBuyListModel']),
                                 numMerch % 4, "The last page is wrong")
            else:
                self.assertEqual(len(MerchListPage.model['oftenBuyListModel']),
                                 4, "Every page is wrong")

        self.assertEqual(time, 1, self.Merch1.fullName + " is not once.")

    # S4.没有常购商品时获取促销列表
    def test_getOftenMerchList_null(self):
        # 修改终端店2的采购区域为香港CHNP032C342D2995
        update(
            'update dlcompany.dl_biz_purchase set purchase_area_code = ? where company_id = ?',
            'CHNP032C342D2995', self.UserShop2.companyId)

        ws = webservice()
        ws.login(self.UserShop2.username, self.UserShop2.password)
        MerchList = ws.getOftenBuyList(rows='999')
        self.assertEqual(MerchList.model['oftenBuyListModel'], [])

    def tearDown(self):
        # 还原终端店2的采购区域
        update(
            'update dlcompany.dl_biz_purchase set purchase_area_code = ? where company_id = ?',
            self.UserShop2.areaCode, self.UserShop2.companyId)
        # 还原商品1为上架状态
        update(
            'update dlmerchandise.dl_goods set goods_status = ? where goods_id = ?',
            '01', self.Merch1.goodsId)

    def assertGetMerchList(self,
                           rsp,
                           merch,
                           code=200,
                           success='0',
                           isPromotion=None,
                           isRecommended=None):
        self.assertEqual(rsp.code, code)
        self.assertEqual(rsp.model['success'], success)
        if rsp.model['totalRecord'] == '0':
            self.assertEqual(True, False, merch.fullName + "is not found")
        else:
            self.assertEqual(rsp.model['totalRecord'],
                             str(len(rsp.model['oftenBuyListModel'])))
        # 用于判断商品是否存在
        flag = False
        for i in range(0, len(rsp.model['oftenBuyListModel'])):
            if rsp.model['oftenBuyListModel'][i]['merchId'] == merch.goodsId:
                flag = True
                self.assertEqual(
                    rsp.model['oftenBuyListModel'][i]['merchName'],
                    merch.fullName)
                self.assertEqual(rsp.model['oftenBuyListModel'][i]['sellerId'],
                                 merch.seller_store_id)
                self.assertEqual(
                    rsp.model['oftenBuyListModel'][i]['sellerName'],
                    merch.sellerName)
                self.assertEqual(
                    rsp.model['oftenBuyListModel'][i]['danluPrice'],
                    merch.priceDanlu)
                self.assertEqual(
                    rsp.model['oftenBuyListModel'][i]['goodsPromotionInfo'],
                    merch.propagandaInfo)
                self.assertEqual(
                    rsp.model['oftenBuyListModel'][i]['merchStatus'],
                    merch.merchStatus)
                if isPromotion is None:
                    self.assertEqual(
                        rsp.model['oftenBuyListModel'][i]['isPromotion'],
                        merch.isPromotion)
                else:
                    self.assertEqual(
                        rsp.model['oftenBuyListModel'][i]['isPromotion'],
                        isPromotion)
                if isRecommended is None:
                    self.assertEqual(
                        rsp.model['oftenBuyListModel'][i]['isRecommended'],
                        merch.isRecommended)
                else:
                    self.assertEqual(
                        rsp.model['oftenBuyListModel'][i]['isRecommended'],
                        isRecommended)
                self.assertEqual(
                    rsp.model['oftenBuyListModel'][i]['minSaleNumber'],
                    merch.saleQuantityS1)
                if rsp.model['oftenBuyListModel'][i]['isPromotion'] == '0':
                    for j in range(
                            0,
                            len(rsp.model['oftenBuyListModel'][i]
                                ['promotionList'])):
                        flag = False
                        for k in range(
                                1,
                                len(rsp.model['oftenBuyListModel'][i]
                                    ['promotionList']) + 1):
                            if rsp.model['oftenBuyListModel'][i][
                                    'promotionList'][j] == merch[
                                        'promotionList' +
                                        str(k)].decode('utf-8'):
                                flag = True
                                break
                            if k == 6:
                                self.assertEqual(
                                    flag, True, rsp.model['oftenBuyListModel']
                                    [i]['promotionList'][j] + "is not found!")
                self.assertEqual(
                    rsp.model['oftenBuyListModel'][i]['merchSpec'],
                    merch.merchSpec)
                self.assertEqual(rsp.model['oftenBuyListModel'][i]['picUrl'],
                                 merch.picUrl)
        self.assertEqual(flag, True, merch.fullName + "is not found")
Esempio n. 22
0
class count(unittest.TestCase):
    UserShop = eData('TmlShop')
    DealMager = eData('DealMager')
    Merch1 = eData('Merch1')

    # S1.获取终端店消息数量(包括全部数量和未读数量)
    def test_count_NumberTmlShop(self):
        ws = webservice()
        msgRstAllCount = select(
            'select * from dlsms.dl_message  where receiver_id = ?  and channel_id = ?',
            self.UserShop.companyId, 'CH01')
        msgRstUnreadCount = select(
            'select * from dlsms.dl_message  where receiver_id = ? and read_status = ? and channel_id = ?',
            self.UserShop.companyId, '01', 'CH01')

        msgCount = ws.messageCount(receiverUserId=self.UserShop.userId,
                                   receiverCompanyId=self.UserShop.companyId)
        allcount = msgCount.model['msgCount']['allCount']
        unreadCount = msgCount.model['msgCount']['unreadCount']
        allcountnum = 0
        unreadnum = 0
        for key, value in allcount.items():
            if (len(key) == 3 or ',' in key):
                allcountnum = allcountnum + value

        for key, value in unreadCount.items():
            if (len(key) == 3 or ',' in key):
                unreadnum = unreadnum + value
        self.assertEquals(msgCount.code, 200)
        self.assertEqual(msgCount.model['success'], '0')
        self.assertEqual(allcountnum, len(msgRstAllCount))
        self.assertEqual(unreadnum, len(msgRstUnreadCount))

    # 获取经销商消息数量(包括全部数量和未读数量)
    def test_count_NumberDealShop(self):
        ws = webservice()
        PartCount = select(
            'select * from dlsms.dl_message  where receiver_id = ?  and channel_id = ?',
            self.DealMager.companyId, 'CH01')
        ApprovalCount = select(
            'select * from dlsms.dl_message  where receiver_id = ?  and channel_id = ?',
            self.DealMager.userId, 'CH01')
        msgRstUnreadCount = select(
            'select * from dlsms.dl_message  where receiver_id = ? and read_status = ? and channel_id = ?',
            self.DealMager.companyId, '01', 'CH01')
        ApprovalUnread = select(
            'select * from dlsms.dl_message  where receiver_id = ? and read_status = ? and channel_id = ?',
            self.DealMager.userId, '01', 'CH01')
        msgCount = ws.messageCount(receiverUserId=self.DealMager.userId,
                                   receiverCompanyId=self.DealMager.companyId)
        allcount = msgCount.model['msgCount']['allCount']
        unreadCount = msgCount.model['msgCount']['unreadCount']
        allcountnum = 0
        unreadnum = 0
        for key, value in allcount.items():
            if (len(key) == 3 or ',' in key):
                allcountnum = allcountnum + value

        for key, value in unreadCount.items():
            if (len(key) == 3 or ',' in key):
                unreadnum = unreadnum + value
        self.assertEquals(msgCount.code, 200)
        self.assertEqual(msgCount.model['success'], '0')
        self.assertEqual(allcountnum, len(PartCount) + len(ApprovalCount))
        self.assertEqual(unreadnum,
                         len(msgRstUnreadCount) + len(ApprovalUnread))
Esempio n. 23
0
class getCategoryList(unittest.TestCase):

    UserShop = eData('TmlShop')

    # S1.获取白酒品牌列表
    def test_getCategoryList_sprit(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        baijiuList = ws.getCategoryList()
        self.assertEqual(baijiuList.model['success'], '0')
        self.assertEqual(baijiuList.model['categoryCode'], 'C01L0101')
        # 校验品牌数量dlcategroy
        numBaijiuBrand = select_int(
            'select count(*) from dlcategroy.dl_brand where brand_id in (select brand_id from dlcategroy.dl_brand_ref_category where category_id = \'C01L0101\' and brand_status = \'01\') and brand_status != \'99\''
        )
        self.assertEqual(
            len(baijiuList.model['categoryItem']['brandTupleList']),
            numBaijiuBrand)
        # 校验香型数量
        numBaijiuProperty = select_int(
            'select count(*) from dlcategroy.dl_property_value where property_id = \'PL20103\''
        )
        self.assertEqual(
            len(baijiuList.model['categoryItem']['odorTupleList']),
            numBaijiuProperty)

    # S2.获取葡萄酒品牌列表
    def test_getCategoryList_wine(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        putaojiuList = ws.getCategoryList(merchCategoryCode='C01L0102')
        self.assertEqual(putaojiuList.model['success'], '0')
        self.assertEqual(putaojiuList.model['categoryCode'], 'C01L0102')
        # 校验品牌数量
        numPutaojiuBrand = select_int(
            'select count(*) from dlcategroy.dl_brand where brand_id in (select brand_id from dlcategroy.dl_brand_ref_category where category_id = \'C01L0102\' and brand_status = \'01\') and brand_status != \'99\''
        )
        self.assertEqual(
            len(putaojiuList.model['categoryItem']['brandTupleList']),
            numPutaojiuBrand)
        # 校验产地
        numPutaojiuProperty = select_int(
            'select count(*) from dlcategroy.dl_property_value where property_id = \'PL20202\''
        )
        self.assertEqual(
            len(putaojiuList.model['categoryItem']['productionTupleList']),
            numPutaojiuProperty)

    # S3.获取洋酒的品牌列表
    def test_getCategoryList_foreignwine(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        yangjiuList = ws.getCategoryList(merchCategoryCode='C01L0103')
        self.assertEqual(yangjiuList.model['success'], '0')
        self.assertEqual(yangjiuList.model['categoryCode'], 'C01L0103')
        # 校验品牌数量
        numYangjiuBrand = select_int(
            'select count(*) from dlcategroy.dl_brand where brand_id in (select brand_id from dlcategroy.dl_brand_ref_category where category_id = \'C01L0103\' and brand_status = \'01\') and brand_status != \'99\''
        )
        self.assertEqual(
            len(yangjiuList.model['categoryItem']['brandTupleList']),
            numYangjiuBrand)
        # 校验分类数量
        numYangjiuClassify = select_int(
            'select count(*) from dlcategroy.dl_property_value where property_id = \'PL20301\''
        )
        self.assertEqual(
            len(yangjiuList.model['categoryItem']['classifyTupleList']),
            numYangjiuClassify)
        # 校验国家数量
        numYangjiuCountry = select_int(
            'select count(*) from dlcategroy.dl_property_value where property_id = \'PL20302\''
        )
        self.assertEqual(
            len(yangjiuList.model['categoryItem']['countryTupleList']),
            numYangjiuCountry)

    # S4.获取啤酒的品牌列表
    def test_getCategoryList_beer(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        pijiuList = ws.getCategoryList(merchCategoryCode='C01L0104')
        self.assertEqual(pijiuList.model['success'], '0')
        self.assertEqual(pijiuList.model['categoryCode'], 'C01L0104')
        # 校验品牌数量
        numPijiuBrand = select_int(
            'select count(*) from dlcategroy.dl_brand where brand_id in (select brand_id from dlcategroy.dl_brand_ref_category where category_id = \'C01L0104\' and brand_status = \'01\') and brand_status != \'99\''
        )
        self.assertEqual(
            len(pijiuList.model['categoryItem']['brandTupleList']),
            numPijiuBrand)
        # 校验分类数量
        numPijiuClassify = select_int(
            'select count(*) from dlcategroy.dl_property_value where property_id = \'PL20401\''
        )
        self.assertEqual(
            len(pijiuList.model['categoryItem']['classifyTupleList']),
            numPijiuClassify)
        # 校验国家数量
        numPijiuCountry = select_int(
            'select count(*) from dlcategroy.dl_property_value where property_id = \'PL20402\''
        )
        self.assertEqual(
            len(pijiuList.model['categoryItem']['countryTupleList']),
            numPijiuCountry)

    # S5.获取茶的品牌列表
    def test_getCategoryList_tea(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        teaList = ws.getCategoryList(merchCategoryCode='C01T01')
        self.assertEqual(teaList.model['success'], '0')
        self.assertEqual(teaList.model['categoryCode'], 'C01T01')
        # 校验茶类数量
        numTeaClassify = select_int(
            'select count(*) from dlcategroy.dl_category where parent_category_id = \'C01T01\''
        )
        self.assertEqual(len(teaList.model['categoryItem']), numTeaClassify)
        # 校验茶种数量——后续补

        # 校验品牌数量——后续补

    # S6.获取其他饮品的品牌列表
    def test_getCategoryList_drink(self):
        ws = webservice()
        ws.login(self.UserShop.username, self.UserShop.password)
        drinkList = ws.getCategoryList(merchCategoryCode='C01X0101')
        self.assertEqual(drinkList.model['success'], '0')
        self.assertEqual(drinkList.model['categoryCode'], 'C01X0101')
        # 校验茶类数量
        numDrinkBrand = select_int(
            'select count(*) from dlcategroy.dl_brand where brand_id in (select brand_id from dlcategroy.dl_brand_ref_category where category_id = \'C01X0101\' and brand_status = \'01\') and brand_status != \'99\''
        )
        self.assertEqual(
            len(drinkList.model['categoryItem']['brandTupleList']),
            numDrinkBrand)