Esempio n. 1
0
def step_impl(context, user, news_title):
    materials_url = '/new_weixin/api/materials/'
    response = context.client.get(bdd_util.nginx(materials_url))
    newses_info = json.loads(response.content)['data']['items']

    for news_info in newses_info:
        if news_info['type'] == 'multi':
            if news_info['newses'][0]['title'] == news_title:
                multi_id = news_info['id']
                break
    multi_url = '/new_weixin/news_preview/?id=%s' % multi_id
    response = context.client.get(bdd_util.nginx(multi_url))
    actual_datas = json.loads(response.context['newses'])

    for actual_data in actual_datas:
        actual_data['content'] = actual_data.get('text', '')
        actual_data['cover'] = [{'url': actual_data.get('pic_url', '')}]
        actual_data['cover_in_the_text'] = actual_data.get('is_show_cover_pic')
        actual_data['jump_url'] = actual_data.get('url', '')
    expected_datas = json.loads(context.text)
    for expected_data in expected_datas:
        expected_data['cover_in_the_text'] = True if (expected_data.get(
            'cover_in_the_text', True) in ('true', 'yes', 'True', 'Yes',
                                           True)) else False
        if expected_data.get('jump_url', ''):
            expected_data[
                'jump_url'] = 'http://' + expected_data['jump_url'].strip()
    bdd_util.assert_list(expected_datas, actual_datas)
Esempio n. 2
0
def step_impl(context, webapp_owner_name, webapp_user_name, webapp_name):

    member = Member.objects.get(username_hexstr=byte_to_hex(webapp_user_name))
    exsign = exSign.objects.get(name=webapp_name)
    data = {
        'id': member.id,
        'design_mode': 0,
        'project_id': 'new_app:exsign:%s' % exsign.related_page_id,
    }
    if hasattr(context, 'filter_dict'):
        # logging.info('------set filter_dict____')
        data = dict(data, **context.filter_dict)

    response = context.client.get('/member/api/member_coupon/', data)
    response_data = json.loads(response.content)['data']['items']
    actual = []
    # logging.info('..............123')
    # logging.info("%s"%response_data)
    for item in response_data:  # 格式化得到的数据
        provided_time = item['provided_time']

        collection_time = provided_time.split()[0]
        actual.append({
            'collection_time': collection_time.replace('/', '-'),
            'name': item['coupon_name'],
            'coupon_id': item['coupon_id'],
            'type': item['coupon_detail'].split()[1],
            'status': item['coupon_state'],
        })

    expected = json.loads(context.text)
    for item in expected:
        item['collection_time'] = __date2time(item['collection_time'])

    bdd_util.assert_list(expected, actual)
def step_impl(context, user):
	category_list_page = CategoryListPage(context.driver)
	category_list_page.load()
	actual = category_list_page.get_categories()

	expected = json.loads(context.text)
	bdd_util.assert_list(expected, actual)
Esempio n. 4
0
def step_impl(context, user, type):
    expected = json.loads(context.text)
    if expected:
        key_words = expected[0].keys()
    url = context.realtime_messages_url
    response = context.client.get(url)
    session_messages = json.loads(response.content)['data']['items']
    messages = []
    for message in session_messages:
        message_dict = {}
        for key in key_words:
            if key == 'member_name':
                message_dict['member_name'] = message['sender_username'].split(
                    '_')[0] or user
            elif key == 'inf_content':
                message_dict['inf_content'] = message['text']
            elif key == 'last_message_time':
                message_dict['last_message_time'] = u'今天'
            elif key == 'unread_count':
                message_dict['unread_count'] = message['unread_count']
            elif key == 'remark':
                message_dict['remark'] = message['remark']
            elif key == 'star':
                message_dict[
                    'star'] = 'true' if message['is_collected'] else 'false'
        messages.append(message_dict)
        #now_time = datetime.today().strftime('%Y-%m-%d')

    bdd_util.assert_list(expected, messages)
Esempio n. 5
0
def step_tmpl(context, webapp_user_name, exlottery_name):

    if hasattr(context, "search_lottery_result"):
        participances = context.search_lottery_result
    else:
        participances = context.participances['data']['items']
    actual = []

    for p in participances:
        p_dict = OrderedDict()
        p_dict[u"member_name"] = p['participant_name']
        p_dict[u"mobile"] = p['tel']
        p_dict[u"prize_grade"] = p['prize_title']
        p_dict[u"prize_name"] = p['prize_name']
        p_dict[u"lottery_time"] = bdd_util.get_date_str(p['created_at'])
        p_dict[u"receive_status"] = u'已领取' if p['status'] else u'未领取'
        p_dict[u"actions"] = u'' if p['status'] else u'领取'
        actual.append((p_dict))
    print("actual_data: {}".format(actual))
    expected = []
    if context.table:
        for row in context.table:
            cur_p = row.as_dict()
            if cur_p[u'lottery_time']:
                cur_p[u'lottery_time'] = bdd_util.get_date_str(
                    cur_p[u'lottery_time'])
            expected.append(cur_p)
    else:
        expected = json.loads(context.text)
    print("expected: {}".format(expected))

    bdd_util.assert_list(expected, actual)
Esempio n. 6
0
def step_impl(context, user, member):
    expected = json.loads(context.text)
    actual = []
    item = dict()
    item['status'] = '全部'
    actual.append(item)
    bdd_util.assert_list(actual, expected)
Esempio n. 7
0
def step_impl(context, webapp_user_name, group):
    #获取页面
    apps_util.get_response(context, {
        "app": "m/apps/shvote",
        "resource": "m_shvote_rank",
        "method": "get",
        "args": {
            "webapp_owner_id": context.webapp_owner_id,
            "id": context.shvote_id
        }
    })

    #获取排行数据
    response = __get_rank_data(context, group)
    expected_data = json.loads(context.text)

    result_data = json.loads(response.content)['data']['result_list']
    expected_keys = actual_data = []

    if len(expected_data) > 0:
        expected_keys = expected_data[0].keys()

    for data in result_data:
        expected_keys = expected_keys if expected_keys else data.keys()
        tmp_dict = {}
        for k, v in data.items():
            if k in expected_keys:
                tmp_dict[k] = v
        actual_data.append(tmp_dict)
    apps_util.debug_print(expected_data)
    apps_util.debug_print(actual_data)
    bdd_util.assert_list(expected_data,actual_data)
Esempio n. 8
0
def step_impl(context, user):
    expected = json.loads(context.text)

    response = context.client.get('/webapp/api/global_navbar/get/')
    menus = json.loads(response.content)['data']['menus']
    menus.sort(lambda x, y: cmp(x['index'], y['index']))

    actual = []
    for menu in menus:
        print('haha')
        if len(menu['items']) > 0:
            nav = {"name": menu['name'], "items": []}
            items = menu['items']
            items.sort(lambda x, y: cmp(x['index'], y['index']))
            for menuitem in items:
                nav['items'].append({
                    "name": menuitem['name'],
                    "url": menuitem['answer']['data']
                })
            actual.append(nav)
        else:
            actual.append({
                "name": menu['name'],
                "url": menu['answer']['data']
            })

    bdd_util.assert_list(expected, actual)
Esempio n. 9
0
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, red_envelope_rule_name):
    id = __get_red_envelope_rule_id(red_envelope_rule_name)
    params = {
        'id': id
    }
    response = context.client.get('/apps/red_envelope/api/red_envelope_participances/?_method=get', params)
    participances = json.loads(response.content)['data']['items']
    actual = []
    for p in participances:
        p_dict = OrderedDict()
        p_dict[u"下单会员"] = p['username_truncated']
        p_dict[u"会员状态"] = p['grade']
        p_dict[u"引入领取人数"] = p['introduce_received_number_count']
        p_dict[u"引入使用人数"] = p['introduce_used_number_count']
        p_dict[u"引入新关注"] = p['introduce_new_member_count']
        p_dict[u"引入消费额"] = p['introduce_sales_number']
        p_dict[u"领取时间"] = p['created_at']
        p_dict[u"使用状态"] = p['coupon_status_name']
        p_dict[u"操作"] = [u'查看引入详情',u'查看使用订单'] if p['coupon_status'] ==1 else u'查看引入详情'
        actual.append((p_dict))
    print("actual_data: {}".format(actual))
    expected = []
    if context.table:
        for row in context.table:
            cur_p = row.as_dict()
            if u'领取时间' in cur_p:
                cur_p[u'领取时间'] = bdd_util.get_date_str(cur_p[u'领取时间'])
            expected.append(cur_p)
    else:
        expected = json.loads(context.text)
    print("expected: {}".format(expected))

    bdd_util.assert_list(expected, actual)
Esempio n. 11
0
def step_impl(context, webapp_user_name):
    url = '/workbench/jqm/preview/?module=market_tool:coupon&model=usage&action=get&workspace_id=market_tool:coupon&webapp_owner_id=%d&project_id=0&fmt=%s' % (
        context.webapp_owner_id, context.member.token)
    url = bdd_util.nginx(url)
    response = context.client.get(url)
    if response.status_code == 302:
        print('[info] redirect by change fmt in shared_url')
        redirect_url = bdd_util.nginx(response['Location'])
        response = context.client.get(bdd_util.nginx(redirect_url))
    else:
        print('[info] not redirect')
    coupons = response.context['coupons']
    actual = []
    for coupon in coupons:
        if coupon.status == 0:
            coupon.status = u'未使用'
            actual.append(coupon)
        else:
            coupon.status = u'unknown'

        coupon.money = coupon.money

    expected = json.loads(context.text)
    actual = __sort(actual)
    expected = __sort(expected)

    bdd_util.assert_list(expected, actual)
def step_impl(context, webapp_user, product_name):
    product = bdd_util.get_product_by(product_name)
    expected = json.loads(context.text)
    url = "/m/apps/evaluate/m_more_evaluates/?webapp_owner_id={}&product_id={}".format(
        context.webapp_owner_id, product.id)

    response = context.client.get(bdd_util.nginx(url), follow=True)
    product_review_list = response.context['reviews']
    actual = []
    if product_review_list:
        for i in product_review_list:
            data = {}
            data['member'] = i['member_name']

            detail_list = []
            for detail in i['review_detail']:
                detail_list.append({
                    'title':
                    'name' if detail['title'] == u'姓名' else detail['title'],
                    'value':
                    detail['answer']
                })
            data['comments'] = detail_list

            data['picture_list'] = i['reviewed_product_pictures']
            actual.append(data)
    else:
        actual.append({})

    bdd_util.assert_list(expected, actual)
Esempio n. 13
0
def step_get_presonal_review_list(context, webapp_user):
    expected = json.loads(context.text)
    url = "/workbench/jqm/preview/?woid=%d&module=mall&model=order_review_list&action=get" % context.webapp_owner_id
    response = context.client.get(bdd_util.nginx(url), follow=True)
    orders = response.context['orders']
    actual = []
    if orders:
        for order in orders:
            if not order.order_is_reviewed:
                data = {}
                data['order_no'] = order.order_id
                data['products'] = []
                for product in order.products:
                    p_data = {}
                    p_data['product_name'] = product.name
                    p_model_name = product.product_model_name
                    if p_model_name:
                        the_model_name = ""
                        for model in p_model_name:
                            the_model_name += model['property_value']
                        p_data['product_model_name'] = the_model_name
                    data['products'].append(p_data)
                actual.append(data)
    else:
        actual.append({})
    if not actual:
        actual.append({})
    bdd_util.assert_list(expected, actual)
Esempio n. 14
0
def step_impl(context, user):
    expected = json.loads(context.text)
    url = '/mall2/api/product_pool/'
    data = {}
    if hasattr(context, 'pool_args'):
        data = context.pool_args
    if hasattr(context, 'page_num'):
        data['page'] = context.page_num
    if hasattr(context, 'count_per_page'):
        data['count_per_page'] = context.count_per_page
    response = context.client.get(url, data)
    products = json.loads(response.content)['data']['items']
    actual = []
    for product in products:
        if 'is_cps' in product:
            #assert ('promote_time_to' in product and 'promote_money' in product and 'promote_stock' in product and 'promote_time_from' in product)
            actual.append({
                'name': product['name'],
                'is_cps': product['is_cps'],
                'promote_money': product['promote_money'],
                'promote_stock': product['promote_stock'],
                'promote_time_from': product['promote_time_from'],
                'promote_time_to': product['promote_time_to']
            })
        else:
            actual.append({'name': product['name']})
    bdd_util.assert_list(expected, actual)
Esempio n. 15
0
def step_impl(context, webapp_user_name):
    product_list_page = context.page
    actual = product_list_page.get_products()

    expected = json.loads(context.text)

    bdd_util.assert_list(expected, actual)
Esempio n. 16
0
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, coupon_rule_name, date):
    url = "/mall2/api/issuing_coupons_detail/?id="
    coupon_rule_id = promotion_models.CouponRule.objects.get(
        name=coupon_rule_name).id
    record_id = promotion_models.CouponRecord.objects.get(
        coupon_rule_id=coupon_rule_id,
        send_time=datetime.strptime(date, "%Y-%m-%d")).id
    response = context.client.get(url + str(record_id))
    expected = json.loads(context.text)
    actual = []
    items = json.loads(response.content)['data']['items']
    for item in expected:
        item['start_time'] = bdd_util.get_date(
            item['start_time']).strftime("%Y-%m-%d")
        item['end_time'] = bdd_util.get_date(
            item['end_time']).strftime("%Y-%m-%d")
        if item['used_time']:
            item['used_time'] = bdd_util.get_date(
                item['used_time']).strftime("%Y-%m-%d")
    for item in items:
        actual.append(
            dict(coupon_id=item['coupon_id'],
                 money=item['money'],
                 start_time=item['start_time'].split(" ")[0],
                 end_time=item['end_time'].split(" ")[0],
                 target=item['member']['username_for_html'],
                 used_time=item['use_time'].split(" ")[0]
                 if item.has_key('use_time') else "",
                 order_no=item['order_fullid']
                 if item.has_key('order_fullid') else "",
                 status=item['status']))

    bdd_util.assert_list(expected, actual)
Esempio n. 18
0
def step_get_all_info_of_order(context, user):
    filter_value = dict()
    if hasattr(context, 'export_query_params'):
        filter_value = context.export_query_params
        filter_value["bdd"] = 1
        #print "filter_value---------------",filter_value
        delattr(context, 'export_query_params')
    from cStringIO import StringIO
    import csv

    url = '/mall2/order_export/?bdd=1'
    response = context.client.get(url, filter_value)
    reader = csv.reader(StringIO(response.content))
    # 去掉表头信息
    csv_items = [row for row in reader]
    context.last_csv_order_info = csv_items[-1]
    all_info = context.last_csv_order_info
    expect_info = json.loads(context.text)
    actual = dict([(info.split(':')[0].encode('utf-8'), info.split(':')[1])
                   for info in all_info[1:]])
    actual_encode = {}
    for x, y in actual.items():
        x = x.encode('utf-8')
        actual_encode[unicode(x)] = y

    bdd_util.assert_list(expect_info, [actual_encode])
def step_impl(context, user):
    expected = json.loads(context.text)
    params = {}
    if hasattr(context, 'distribution_query_name'):
        params['query_name'] = context.distribution_query_name
    if hasattr(context, 'count_per_page'):
        params['count_per_page'] = context.count_per_page
    if hasattr(context, 'distribution_page'):
        params['page'] = context.distribution_page

    response = context.client.get('/new_weixin/api/channel_distributions/',
                                  params)

    datas = json.loads(response.content)['data']['items']
    actual_list = []
    for data in datas:
        data_dict = {}
        data_dict['code_name'] = data['title']
        data_dict['relation_member'] = data['bing_member_name']
        data_dict['attention_number'] = data['bing_member_count']
        data_dict['total_transaction_money'] = float(
            data['total_transaction_volume'])
        data_dict['cash_back_amount'] = float(data['total_return'])
        data_dict['prize'] = data['award_prize_info']
        data_dict['distribution_prize'] = data['distribution_rewards']
        data_dict['create_time'] = data['created_at']
        actual_list.append(data_dict)

    bdd_util.assert_list(expected, actual_list)
Esempio n. 20
0
def step_impl(context, webapp_owner_name, vote_name):
    expect = json.loads(context.text)
    expect_title_order = [ex['title'] for ex in expect]

    for ex_item in expect:
        for value_item in ex_item['values']:
            if 'submit_time' in value_item:
                value_item['submit_time'] = __date2str(
                    value_item['submit_time'])
    print("expect: {}".format(expect))

    actual = []
    appkit_list = context.appkit_list
    for index in range(len(expect_title_order)):
        ex_title = expect_title_order[index]
        for appkit in appkit_list:
            if appkit['title_name'] == ex_title:
                if appkit['type'] == u'单选' or u'多选':
                    tmp = {}
                    tmp['participate_count'] = appkit['title_valid_count']
                    tmp['title'] = appkit['title_name']
                    tmp['type'] = appkit['type']
                    tmp['values'] = []
                    for value in appkit['title_value']:
                        if 'item_name' in value:
                            value['options'] = value['item_name']
                            del value['item_name']
                        if 'counter' in value:
                            value['count'] = value['counter']
                            del value['counter']
                        tmp['values'].append(value)
                    actual.append(tmp)

    print("actual: {}".format(actual))
    bdd_util.assert_list(expect, actual)
Esempio n. 21
0
def step_impl(context, user):
    url = "/member/api/member_list/?status=1"
    filter_value = "&filter_value="
    if hasattr(context, 'name'):
        filter_value += ('name:' + context.name + '|')
        del context.name
    if hasattr(context, 'tag_id'):
        filter_value += ('tag_id:' + str(context.tag_id) + '|')
        del context.tag_id
    if hasattr(context, 'grade_id'):
        filter_value += ('grade_id:' + str(context.grade_id) + '|')
        del context.grade_id
    filter_value += "status:1"
    response = context.client.get(url + filter_value)
    response_data = json.loads(response.content)
    actual = []
    for data in response_data['data']['items']:
        actual.append(
            dict(member_name=data['username_truncated'],
                 member_rank=data['grade_name'],
                 pay_money=float(data['pay_money']),
                 average_pay_money=float(data['unit_price']),
                 pay_times=data['pay_times'],
                 integral=data['integral']))

    expected = json.loads(context.text)
    bdd_util.assert_list(expected, actual)
Esempio n. 22
0
def step_impl(context, user, store_name):
    client = context.client
    expected = json.loads(context.text)
    store = Store.objects.filter(name=store_name)
    actual = []
    if not store:
        bdd_util.assert_list(expected, actual)
Esempio n. 23
0
def step_impl(context, user, weapp_user):

    #获取消息详情的数据并处理
    response = context.client.get(bdd_util.nginx(context.detail_url))
    realMsgs_data = json.loads(response.content)['data']['items']
    actual_data = []
    for realMsg_data in realMsgs_data:
        adict = {}
        if realMsg_data['is_reply']:
            adict['member_name'] = realMsg_data['mp_username'] or user
        else:
            adict['member_name'] = realMsg_data['sender_username'].split(
                '_')[0]
        adict['inf_content'] = realMsg_data['text']
        if realMsg_data['is_news_type']:
            adict['inf_content'] = realMsg_data['news_title']
        adict['time'] = bdd_util.get_date_str(realMsg_data['created_at'][:10])
        #星标
        adict['star'] = realMsg_data['is_collected']
        adict['remark'] = realMsg_data['remark']
        actual_data.append(adict)
    expected_datas = json.loads(context.text)
    for expected_data in expected_datas:
        expected_data['time'] = bdd_util.get_date_str(expected_data['time'])
        if expected_data.get('star', ''):
            expected_data['star'] = True if (expected_data.get('star', True)
                                             in ('true', 'yes', 'True', 'Yes',
                                                 True)) else False
    bdd_util.assert_list(expected_datas, actual_data)
Esempio n. 24
0
def step_get_model_property_list(context, user):
    response = context.client.get('/mall2/model_property_list/')

    expected = json.loads(context.text)

    actual = []
    model_properties = response.context['model_properties']
    for model_property in model_properties:
        data = {
            "name":
            model_property.name,
            "type":
            u'图片' if model_property.type
            == mall_models.PRODUCT_MODEL_PROPERTY_TYPE_IMAGE else u'文字'
        }
        data['values'] = []
        property_values = mall_models.ProductModelPropertyValue.objects.filter(
            property_id=model_property.id, is_deleted=False)
        for property_value in property_values:
            data['values'].append({
                "name": property_value.name,
                "image": property_value.pic_url
            })
        actual.append(data)

    bdd_util.assert_list(expected, actual)
Esempio n. 25
0
def step_impl(context, user, member_status):
	Member.objects.all().update(is_for_test=False)
	# 获得服务器的数据
	if member_status == u"取消关注":
		context.status = 0
	elif member_status == u"已关注":
		context.status = 1
	elif member_status == u"全部":
		context.status = -1
	actual_members = get_actual_members_data(context)

	# 处理feature文件中数据
	expected_data = get_members_dict_by_context(context)

	# 我也不知道这段为什么会这样!!!
	# 好像是根据不同的数据类型来组织actual_data
	if context.text:
		actual_data = actual_members
	elif context.table:
		actual_data = []
		for row in actual_members:
			adict = {}
			adict['name'] = row['username']
			adict['member_rank'] = row['grade_name']
			adict['friend_count'] = row['friend_count']
			adict['integral'] = row['integral']
			adict['pay_money'] = row['pay_money']
			adict['unit_price'] = row['unit_price']
			adict['pay_times'] = row['pay_times']
			adict['attention_time'] = row['attention_time']
			adict['source'] = row['source']
			adict['tags'] = ','.join(row['tags'])
			actual_data.append(adict)

	bdd_util.assert_list(expected_data, actual_data)
Esempio n. 26
0
def step_impl(context, user):
    url = '/mall2/product_limit_zone/'

    response = context.client.get(url)
    templates = response.context['templates']
    expected = json.loads(context.text)
    actual = []
    for template in templates:
        template_data = {}
        template_data['name'] = template['templateName']
        limit_area = []
        for zone in template['zones']:
            zone_data = {}
            if zone['zoneName'] in [u'直辖市', u'其它']:
                zone_data['area'] = zone['zoneName']
                province_list = []
                for province in zone['provinces']:
                    province_list.append(province['provinceName'])
                zone_data['province'] = province_list
                limit_area.append(zone_data)
            else:
                for province in zone['provinces']:
                    zone_data = {}
                    zone_data['area'] = province['zoneName']
                    zone_data['province'] = province['provinceName']
                    zone_data['city'] = []
                    for city in province['cities']:
                        zone_data['city'].append(city['cityName'])
                    limit_area.append(zone_data)
        template_data['limit_area'] = limit_area
        template_data["actions"] = [u"修改", u"删除"]
        actual.append(template_data)

    bdd_util.assert_list(expected, actual)
Esempio n. 27
0
def step_impl(context, user):
    expected = json.loads(context.text)
    url = '/mall2/api/product_pool/'
    data = {}
    if hasattr(context, 'pool_args'):
        data = context.pool_args
    if hasattr(context, 'page_num'):
        data['page'] = context.page_num
    if hasattr(context, 'count_per_page'):
        data['count_per_page'] = context.count_per_page
    response = context.client.get(url, data)
    products = json.loads(response.content)['data']['items']
    actual = []
    for product in products:
        actual.append({
            "name": product['name'],
            "price": product['price'],
            "user_code": product['user_code'],
            "supplier": product['store_name'],
            "stocks": product['stocks'],
            "status": STATUS2TEXT[product['status']],
            "sync_time": product['sync_time'],
            "actions": STATUS2ACTION[product['status']],
        })

    # for i in range(0,len(expected)):
    #     print expected[i]['name'], "+++", actual[i]['name']
    #     print expected[i]['status'], "+++", actual[i]['status']
    bdd_util.assert_list(expected, actual)
def step_impl(context, user):
	start_date = bdd_util.get_date_str(context.date_dict['start_date'])
	end_date = bdd_util.get_date_str(context.date_dict['end_date'])

	url = '/stats/api/member_detail_data/?start_date=%s&end_date=%s' % (start_date, end_date)
	response = context.client.get(url)
	bdd_util.assert_api_call_success(response)
	results = json.loads(response.content)
	print("results: {}".format(results))
	actual = results['data']['items']

	expected = []
	for row in context.table:
		expected_dict = {}
		expected_dict['date'] = bdd_util.get_date_str(row['date'])
		expected_dict['new_member_count'] = row['new_member']
		expected_dict['binding_phone_member_count'] = row['mobile_phone_member']
		expected_dict['share_url_member_count'] = row['launch_share_link_member']
		expected_dict['member_from_share_url_count'] = row['share_link_new_member']
		expected_dict['ori_qrcode_member_count'] = row['launch_spreading_code_member']
		expected_dict['member_from_qrcode_count'] = row['spreading_code_new_member']
		expected_dict['bought_member_count'] = row['order_member']

		expected.append(expected_dict)

	bdd_util.assert_list(expected, actual)
Esempio n. 29
0
def step_tmpl(context, webapp_user_name, power_me_rule_name):
    if hasattr(context, "search_powerme_result"):
        participances = context.search_powerme_result
    else:
        participances = context.participances['data']['items']
    actual = []
    print(participances)
    for p in participances:
        p_dict = OrderedDict()
        p_dict[u"rank"] = p['ranking']
        p_dict[u"member_name"] = p['username']
        p_dict[u"powerme_value"] = p['power']
        p_dict[u"parti_time"] = bdd_util.get_date_str(p['created_at'])
        actual.append((p_dict))
    print("actual_data: {}".format(actual))
    expected = []
    if context.table:
        for row in context.table:
            cur_p = row.as_dict()
            if cur_p[u'parti_time']:
                cur_p[u'parti_time'] = bdd_util.get_date_str(
                    cur_p[u'parti_time'])
            expected.append(cur_p)
    else:
        expected = json.loads(context.text)
    print("expected: {}".format(expected))

    bdd_util.assert_list(expected, actual)
Esempio n. 30
0
def step_impl(context, user, member):
    member_id = bdd_util.get_member_by_username(member, context.webapp_id).id
    url = '/member/api/member_shipinfo/?id=' + str(member_id)
    expected = json.loads(context.text)
    response = context.client.get(bdd_util.nginx(url))
    items = json.loads(response.content)['data']['items']
    actual = []
    for record in items:
        # detail = record['coupon_detail'].split()[0]
        actual.append(
            dict(
                ship_name=record['ship_name'],
                ship_tel=record['ship_tel'],
                area=','.join(record['area'].split()),
                ship_address=record['ship_address'],
            ))
    # for ship_info in response.context['ship_infos']:
    #     ship = {}
    #     ship['area'] = regional_util.get_str_value_by_string_ids(ship_info.area)
    #     ship['area'] = ','.join(ship['area'].split())
    #     ship['ship_address'] = ship_info.ship_address
    #     ship['ship_name'] = ship_info.ship_name
    #     ship['ship_tel'] = ship_info.ship_tel
    #     actual.append(ship)
    bdd_util.assert_list(actual, expected)