def step_impl(context, user): if hasattr(context, 'client') and (context.client.user.username != user): context.client.logout() data = json.loads(context.text) post_data = {} post_data['reward'] = 1 if data['prize_type'] == u'无': post_data['prize_source|0'] = 0 post_data['prize_type|0'] = 0 post_data['detail'] = data['page_description'] elif data['prize_type'] == u'积分': post_data['prize_source|0'] = data['integral'] post_data['prize_type|0'] = 3 post_data['detail'] = data['page_description'] elif data['prize_type'] == u'优惠券': coupon_name = data['coupon'] user_id = bdd_util.get_user_id_for(user) coupon_rule = CouponRule.objects.get(owner_id=user_id, name=coupon_name, is_active=True) post_data['prize_source|0'] = coupon_rule.id post_data['prize_type|0'] = 1 post_data['detail'] = data['page_description'] context.client = bdd_util.login(user) client = context.client url = '/member/api/member_qrcode/' response = client.post(url, post_data)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) client = context.client user = UserFactory(username=user) profile = UserProfile.objects.get(user_id=user.id) json_data = json.loads(context.text) integral_detail = {}; integral = {} for key, value in json_data[0].items(): if key != 'member_integral_strategy_settings_detail': integral[key] = value if json_data[0].has_key('member_integral_strategy_settings_detail'): integral_detail = json_data[0]['member_integral_strategy_settings_detail'][0] if IntegralStrategySttings.objects.filter(webapp_id=profile.webapp_id).count() > 0: IntegralStrategySttings.objects.filter(webapp_id=profile.webapp_id).update(**integral) for key, value in integral_detail.items(): if key == 'is_used': if value == u'否': integral_detail[key] = False else: integral_detail[key] = True else: integral_detail[key] = float(value[value.find('+')+1:value.find('*')]) integral_detail['webapp_id'] = profile.webapp_id if IntegralStrategySttingsDetail.objects.filter(webapp_id=profile.webapp_id).count() > 0 and integral_detail: IntegralStrategySttingsDetail.objects.filter(webapp_id=profile.webapp_id).update(**integral_detail) elif integral_detail: pass
def step_impl(context, user, weizoom_card_id): context.client = bdd_util.login(user) client = context.client card = WeizoomCard.objects.get(weizoom_card_id=weizoom_card_id) response = client.get( '/market_tools/weizoom_card/weizoom_card/%s/expense_record/' % card.id) card = response.context['card'] expense_records = response.context['expense_records'] expected_json = json.loads(context.text) status, _ = _get_status(expected_json['status']) actual_data = { "status": int(status), "price": float(expected_json['price']) } expected = {"status": int(card.status), "price": float(card.money)} # 是否需要验证日志 if expected_json.get('log'): actual_data['log'] = expected_json.get('log') expected['log'] = _get_weizoom_card_log(expense_records) # print("*"*80, "能获取微众卡") # from pprint(import pprint) # pprint(expected) # pprint(actual_data) # print("*"*120) bdd_util.assert_dict(expected, actual_data)
def step_impl(context, user, order_type): user_id = User.objects.get(username=user).id mall_type = UserProfile.objects.get(user_id=user_id).webapp_type if user != context.client.user.username: context.client.logout() context.client = bdd_util.login(user) if order_type == '退款中': url = '/mall2/api/order_list/?design_mode=0&version=1&belong=audit&orderSupplierType=undefined&order_status=6&count_per_page=9999' elif order_type == '退款成功': url = '/mall2/api/order_list/?design_mode=0&version=1&belong=audit&orderSupplierType=undefined&order_status=7&date_interval_type=1&count_per_page=9999' elif order_type == '全部': url = '/mall2/api/order_list/?design_mode=0&version=1&belong=audit&orderSupplierType=undefined&order_status=-1&date_interval_type=1&count_per_page=9999' query_params = dict() if hasattr(context, 'query_params'): query_params = context.query_params delattr(context, 'query_params') response = context.client.get(url, query_params) items = json.loads(response.content)['data']['items'] actual_orders = __get_order_items_for_self_order(items) expected = json.loads(context.text) for order in expected: if 'actions' in order: order['actions'] = set(order['actions']) # 暂时不验证顺序 bdd_util.assert_list(expected, actual_orders)
def step_impl(context, user, weizoom_card_rule_name): context.client = bdd_util.login(user) client = context.client rule = WeizoomCardRule.objects.filter(name=weizoom_card_rule_name) response = client.get( '/market_tools/weizoom_card/weizoom_card_rule_detail/?id=%s' % rule.id) weizoom_rule = response.context['weizoom_card_rule'] actual_data = [] data_weizoom_rule = { "name": weizoom_rule.name, "money": weizoom_rule.money, "Number": weizoom_rule.number, "Remarks": weizoom_rule.remark } #获取微众卡 response = client.get( '/market_tools/weizoom_card/api/weizoom_cards/get/?weizoom_card_rule_id=%s' % rule.id) weizoom_cards = json.loads(response.data.items) data_cards = [] for c in weizoom_cards: data_cards.append({ 'card_id': c['weizoom_card_id'], 'password': c['password'] }) data_weizoom_rule['cards'] = data_cards expected = json.loads(context.text) logging.info(u"actual_data: {}".format(actual_data)) bdd_util.assert_list(expected, actual_data)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) mall_models.UserProfile.objects.filter( user_id=context.webapp_owner_id).update(webapp_type=1)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) client = context.client response = client.get('/new_weixin/follow_rules/') print(response.context['rule']) rule = response.context['rule'] if rule == None: actual = {"answer": '', "material_id": 0, "type": 'text'} else: try: answers = json.loads(rule.answer) if len(answers) > 0: rule.answer = answers[0]['content'] except: pass actual = { "answer": rule['answer']['content'], "material_id": rule['material_id'], "type": "news" if rule['type'] == NEWS_TYPE else 'text' } expected = json.loads(context.text) bdd_util.assert_dict(expected, actual)
def step_impl(context): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) webapp_id = context.client.user.profile.webapp_id webapp_users = json.loads(context.text) grade = MemberGrade.get_default_grade(webapp_id) Member.objects.all().delete() WebAppUser.objects.all().delete() for webapp_user in webapp_users: member = Member.objects.create( token = MEMBER_TOKEN, webapp_id = webapp_id, user_icon = '', username_hexstr = member['name'], grade = grade, remarks_name = '', is_for_test = True ) WebAppUser.objects.create( token = "123", webapp_id = webapp_id, member_id = 0 )
def step_impl(context, user): context.client = bdd_util.login(user) client = context.client user = UserFactory(username=user) context.employees = json.loads(context.text) response = context.client.get('/account/sub_users/') response_datas = response.context['user_has_sub_users'] print('--------------') print(context.employees) print('======') print(response_datas) for employee in context.employees: print(']]]]]]]]]]]]]]]]]') print(employee['employees_account']) print(employee['remark']) print( response_datas.filter( sub_user__username=employee['employees_account'], remark=employee['remark']).count()) context.tc.assertEquals( response_datas.filter( sub_user__username=employee['employees_account'], remark=employee['remark']).count(), 1)
def step_impl(context, user): MarketToolsTemplateMessage.objects.all().delete() MarketToolsTemplateMessageDetail.objects.all().delete() if hasattr(context, 'client') is False: context.client = bdd_util.login(user, password=None, context=context) context.template_message_details = json.loads(context.text) context.message_detail = {} for template_message_detail in context.template_message_details: industry_type = INDUSTRY2TYPE.get(template_message_detail['industry']) template_message = MarketToolsTemplateMessage.objects.create( industry=industry_type, title=template_message_detail['headline']) type = 1 if template_message_detail['type'] == u'主营行业': type = 0 status = 1 if template_message_detail['status'] == u'未启用': status = 0 message_detail = MarketToolsTemplateMessageDetail.objects.create( owner=context.client.user, template_message=template_message, industry=industry_type, template_id=template_message_detail['template_id'], first_text='', remark_text='', type=type, status=status) key = '%d-%s-%s' % (context.client.user.id, template_message_detail['industry'], template_message_detail['headline']) context.message_detail[key] = message_detail
def step_impl(context, user, webapp_user_name): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) client = context.client json_data = json.loads(context.text) openid = '%s_%s' % (webapp_user_name, user) member = __get_member_by_openid(openid) url = '/member/api/follow_relations/?member_id=%s' % member.id response = client.get(bdd_util.nginx(url)) items = json.loads(response.content)['data']['items'] actual_member_rellations = [] for data_item in items: actual_member_rellation = {} actual_member_rellation['name'] = data_item['username'] if str(data_item['source']) == '-1' or str(data_item['source']) == '0': actual_member_rellation['source'] = u'直接关注' elif str(data_item['source']) == '1': actual_member_rellation['source'] = u'推广扫码' else: actual_member_rellation['source'] = u'会员分享' if str(data_item['is_fans']) == '0': actual_member_rellation['is_fans'] = u'否' if str(data_item['is_fans']) == '1': actual_member_rellation['is_fans'] = u'是' actual_member_rellations.append(actual_member_rellation) bdd_util.assert_list(actual_member_rellations, json_data) context.click_member = None context.member_clicked = False
def step_impl(context, user, mp_user_name): old_cookies = context.client.cookies if hasattr(context, 'client') and (context.client.user.username != mp_user_name): context.client.logout() context.client = bdd_util.login(mp_user_name) client = context.client client.reset() mp_user = User.objects.get(username=mp_user_name) profile = UserProfile.objects.get(user_id=mp_user.id) openid = '%s_%s' % (user, mp_user_name) url = '/simulator/api/mp_user/subscribe/?version=2' data = { "timestamp": "1402211023857", "webapp_id": profile.webapp_id, "from_user": openid } response = client.post(url, data) response_data = json.loads(response.content) context.qa_result = response_data context.tc.assertEquals(200, response_data['code']) if getattr(context, 'in_manual_delete_cookie_mode', False): context.client.cookies = old_cookies else: pass webapp_owner_id = bdd_util.get_user_id_for(mp_user_name) context.webapp_owner_id = webapp_owner_id context.webapp_id = profile.webapp_id __fill_member_info(context, user, openid) #把会员设置为真实用户 add by duhao 2015-07-29 Member.objects.update(is_for_test=False)
def step_impl(context, user): user_id = User.objects.get(username=user).id mall_type = UserProfile.objects.get(user_id=user_id).webapp_type if user != context.client.user.username: context.client.logout() context.client = bdd_util.login(user) url = '/mall2/api/order_list/' query_params = dict() if hasattr(context, 'query_params'): query_params = context.query_params query_params['count_per_page'] = 99999 delattr(context, 'query_params') response = context.client.get(url, query_params) items = json.loads(response.content)['data']['items'] actual_orders = __get_order_items_for_self_order(items) expected = json.loads(context.text) for order in expected: # if order.get('payment_time',''): # del order['payment_time'] if 'actions' in order: order['actions'] = order['actions'] # 暂时不验证顺序 bdd_util.assert_list(expected, actual_orders)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) context.courses = json.loads(context.text) for course in context.courses: __add_shengjing_course(context, course)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) context.red_envelopes = json.loads(context.text) for red_envelope in context.red_envelopes: __add_red_envelope(context, red_envelope)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) context.votes = json.loads(context.text) for vote in context.votes: __add_vote(context, vote)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) client = context.client response = context.client.get('/mall2/postage_list/') actual = response.context['postage_configs'] expected = json.loads(context.text) bdd_util.assert_list(expected, actual)
def step_impl(context, user, rule_patterns): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) context.tc.assertEquals( 0, Rule.objects.filter(owner=context.client.user, patterns=rule_patterns).count())
def step_impl(context, user): context.client = bdd_util.login(user) client = context.client content = json.loads(context.text) user_profile = __get_user(user).get_profile() sttings,created = ShengjingIntegralStrategySttings.objects.get_or_create(webapp_id=user_profile.webapp_id) sttings.binding_for_father = int(content['interal']) sttings.save()
def step_impl(context, user): MarketToolsTemplateMessage.objects.all().delete() if hasattr(context, 'client') is False: context.client = bdd_util.login(user, password=None, context=context) context.industries = json.loads(context.text) for industry in context.industries: industry_type = INDUSTRY2TYPE.get(industry['name']) MarketToolsTemplateMessage.objects.create(industry=industry_type, title=u'订单支付成功') MarketToolsTemplateMessage.objects.create(industry=industry_type, title=u'商品已发出通知')
def step_impl(context, user, name): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) client = context.client response = context.client.get('/mall2/api/supplier_list/', data={"name": name}) supplier = json.loads(response.content)['data']['items'][0] response = context.client.post('/mall2/api/supplier_info/?_method=delete', {"id": supplier["id"]}) context.del_supplier_res = response
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) profile = context.client.user.profile webapp_id = context.client.user.profile.webapp_id context.members = json.loads(context.text) for member in context.members: _update_member_by_name(webapp_id, member)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) client = context.client response = client.get('/cms/api/categories/get/?version=1&sort_attr=-created_at&count_per_page=15&page=1') data = json.loads(response.content)['data'] expected = json.loads(context.text) actual = data['items'] bdd_util.assert_list(expected, actual)
def step_impl(context, user): """TODO 弃用 改用 @when(u"{webapp_user_name}购买{webapp_owner_name}的商品") """ if not hasattr(context.client.user, 'profile'): context.client.logout() context.client = bdd_util.login(user) profile = context.client.user.profile # webapp_id = context.client.user.profile.webapp_id context.orders = json.loads(context.text) for order in context.orders: steps_db_util.set_order_dict(order, profile)
def step_impl(context, user): context.client = bdd_util.login(user) client = context.client url = '/apps/shengjing/api/study_plan/course_list/get' response = client.get(url) courses = json.loads(response.content)['data']['items'] actual_data = [] for c in courses: actual_data.append({"name": c['name']}) expected = json.loads(context.text) bdd_util.assert_list(expected, actual_data)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) client = context.client response = client.get('/member/member_tags/') member_tags = response.context['member_tags'] tag_list = [] for tag in member_tags: tag_list.append({"name": tag.name, "group_membership": tag.count}) expected = json.loads(context.text) bdd_util.assert_list(expected, tag_list)
def step_impl(context, user): context.client = bdd_util.login(user) client = context.client user = UserFactory(username=user) context.employees = json.loads(context.text) context.tc.assertEquals( UserHasSubUser.objects.filter(user=user).count(), 3) sub_users = UserHasSubUser.objects.filter( sub_user__username=context.employees[0]['employees_account']) id = sub_users[0].sub_user.id response = client.get('/account/sub_user/delete/?user_id=%d' % id)
def step_impl(context, user): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) response = context.client.get('/market_tools/vote/') actual_votes = response.context['votes'] actual_data = [] for vote in actual_votes: actual_data.append({"name": vote.name}) expected = json.loads(context.text) bdd_util.assert_list(expected, actual_data)
def step_impl(context, user): context.client = bdd_util.login(user) response = context.client.get('/market_tools/test_game/') actual_test_games = response.context['test_games'] actual_data = [] for test_game in actual_test_games: actual_data.append({ "name": test_game.name }) expected = json.loads(context.text) bdd_util.assert_list(expected, actual_data)
def step_impl(context, user, name): if hasattr(context, 'client'): context.client.logout() context.client = bdd_util.login(user) client = context.client response = context.client.get('/mall2/api/supplier_list/', data={"name": name}) expected = json.loads(context.text) actual = json.loads(response.content)['data']['items'] if len(actual) == 0: actual = {} else: actual = actual[0] bdd_util.assert_dict(expected, actual)