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.")
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)
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)
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)
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')
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')
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")
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')
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)
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)
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)
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)
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')
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!")
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)
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))
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)
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)
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)])
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")
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))
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)